diff --git a/.formatter.exs b/.formatter.exs
new file mode 100644
index 0000000000000000000000000000000000000000..e945e12b937d90a07ca2eaabbe37177bf577c055
--- /dev/null
+++ b/.formatter.exs
@@ -0,0 +1,5 @@
+[
+ import_deps: [:phoenix],
+ plugins: [Phoenix.LiveView.HTMLFormatter],
+ inputs: ["*.{heex,ex,exs}", "{config,lib,test}/**/*.{heex,ex,exs}"]
+]
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..f0d3d767807b3251b37fe6a969557e721188d1f5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,36 @@
+# The directory Mix will write compiled artifacts to.
+/_build/
+
+# If you run "mix test --cover", coverage assets end up here.
+/cover/
+
+# The directory Mix downloads your dependencies sources to.
+/deps/
+
+# Where 3rd-party dependencies like ExDoc output generated docs.
+/doc/
+
+# Ignore .fetch files in case you like to edit your project deps locally.
+/.fetch
+
+# If the VM crashes, it generates a dump, let's ignore it too.
+erl_crash.dump
+
+# Also ignore archive artifacts (built via "mix archive.build").
+*.ez
+
+# Temporary files, for example, from tests.
+/tmp/
+
+# Ignore package tarball (built via "mix hex.build").
+chai-*.tar
+
+# Ignore assets that are produced by build tools.
+/priv/static/assets/
+
+# Ignore digested assets cache.
+/priv/static/cache_manifest.json
+
+# In case you use Node.js/npm, you want to ignore these.
+npm-debug.log
+/assets/node_modules/
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..032f9a56e16e131ad50e7f54f7157301c9246f47
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+# Chai 🍵
diff --git a/assets/css/app.css b/assets/css/app.css
new file mode 100644
index 0000000000000000000000000000000000000000..378c8f90567dfc1424acd71cd9ca632966b0df9c
--- /dev/null
+++ b/assets/css/app.css
@@ -0,0 +1,5 @@
+@import "tailwindcss/base";
+@import "tailwindcss/components";
+@import "tailwindcss/utilities";
+
+/* This file is for your main application CSS */
diff --git a/assets/js/app.js b/assets/js/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..22275b1c5130addb4c7ccf708a025046527fe94a
--- /dev/null
+++ b/assets/js/app.js
@@ -0,0 +1,26 @@
+import "phoenix_html";
+import { Socket } from "phoenix";
+import { LiveSocket } from "phoenix_live_view";
+import topbar from "../vendor/topbar";
+
+let csrfToken = document
+ .querySelector("meta[name='csrf-token']")
+ .getAttribute("content");
+
+let liveSocket = new LiveSocket("/live", Socket, {
+ params: { _csrf_token: csrfToken },
+});
+
+// Show progress bar on live navigation and form submits
+topbar.config({ barColors: { 0: "#29d" }, shadowColor: "rgba(0, 0, 0, .3)" });
+window.addEventListener("phx:page-loading-start", (_info) => topbar.show(300));
+window.addEventListener("phx:page-loading-stop", (_info) => topbar.hide());
+
+// Connect if there are any LiveViews on the page
+liveSocket.connect();
+
+// Expose liveSocket on window for web console debug logs and latency simulation:
+// >> liveSocket.enableDebug()
+// >> liveSocket.enableLatencySim(1000) // enabled for duration of browser session
+// >> liveSocket.disableLatencySim()
+window.liveSocket = liveSocket;
diff --git a/assets/tailwind.config.js b/assets/tailwind.config.js
new file mode 100644
index 0000000000000000000000000000000000000000..01e7d34a83b568db8136afb1eac068434ea696a7
--- /dev/null
+++ b/assets/tailwind.config.js
@@ -0,0 +1,75 @@
+const plugin = require("tailwindcss/plugin");
+const fs = require("fs");
+const path = require("path");
+
+module.exports = {
+ content: ["./js/**/*.js", "../lib/*_web.ex", "../lib/*_web/**/*.*ex"],
+ theme: {
+ extend: {
+ colors: {
+ brand: "#FD4F00",
+ },
+ },
+ },
+ plugins: [
+ require("@tailwindcss/forms"),
+ plugin(({ addVariant }) =>
+ addVariant("phx-no-feedback", [".phx-no-feedback&", ".phx-no-feedback &"])
+ ),
+ plugin(({ addVariant }) =>
+ addVariant("phx-click-loading", [
+ ".phx-click-loading&",
+ ".phx-click-loading &",
+ ])
+ ),
+ plugin(({ addVariant }) =>
+ addVariant("phx-submit-loading", [
+ ".phx-submit-loading&",
+ ".phx-submit-loading &",
+ ])
+ ),
+ plugin(({ addVariant }) =>
+ addVariant("phx-change-loading", [
+ ".phx-change-loading&",
+ ".phx-change-loading &",
+ ])
+ ),
+
+ plugin(function ({ matchComponents, theme }) {
+ let iconsDir = path.join(__dirname, "../priv/hero_icons/optimized");
+ let values = {};
+ let icons = [
+ ["", "/24/outline"],
+ ["-solid", "/24/solid"],
+ ["-mini", "/20/solid"],
+ ];
+ icons.forEach(([suffix, dir]) => {
+ fs.readdirSync(path.join(iconsDir, dir)).map((file) => {
+ let name = path.basename(file, ".svg") + suffix;
+ values[name] = { name, fullPath: path.join(iconsDir, dir, file) };
+ });
+ });
+ matchComponents(
+ {
+ hero: ({ name, fullPath }) => {
+ let content = fs
+ .readFileSync(fullPath)
+ .toString()
+ .replace(/\r?\n|\r/g, "");
+ return {
+ [`--hero-${name}`]: `url('data:image/svg+xml;utf8,${content}')`,
+ "-webkit-mask": `var(--hero-${name})`,
+ mask: `var(--hero-${name})`,
+ "background-color": "currentColor",
+ "vertical-align": "middle",
+ display: "inline-block",
+ width: theme("spacing.5"),
+ height: theme("spacing.5"),
+ };
+ },
+ },
+ { values }
+ );
+ }),
+ ],
+};
diff --git a/assets/vendor/topbar.js b/assets/vendor/topbar.js
new file mode 100644
index 0000000000000000000000000000000000000000..41957274d71b29628e6aabe7ca9fd8750eff8a3e
--- /dev/null
+++ b/assets/vendor/topbar.js
@@ -0,0 +1,165 @@
+/**
+ * @license MIT
+ * topbar 2.0.0, 2023-02-04
+ * https://buunguyen.github.io/topbar
+ * Copyright (c) 2021 Buu Nguyen
+ */
+(function (window, document) {
+ "use strict";
+
+ // https://gist.github.com/paulirish/1579671
+ (function () {
+ var lastTime = 0;
+ var vendors = ["ms", "moz", "webkit", "o"];
+ for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
+ window.requestAnimationFrame =
+ window[vendors[x] + "RequestAnimationFrame"];
+ window.cancelAnimationFrame =
+ window[vendors[x] + "CancelAnimationFrame"] ||
+ window[vendors[x] + "CancelRequestAnimationFrame"];
+ }
+ if (!window.requestAnimationFrame)
+ window.requestAnimationFrame = function (callback, element) {
+ var currTime = new Date().getTime();
+ var timeToCall = Math.max(0, 16 - (currTime - lastTime));
+ var id = window.setTimeout(function () {
+ callback(currTime + timeToCall);
+ }, timeToCall);
+ lastTime = currTime + timeToCall;
+ return id;
+ };
+ if (!window.cancelAnimationFrame)
+ window.cancelAnimationFrame = function (id) {
+ clearTimeout(id);
+ };
+ })();
+
+ var canvas,
+ currentProgress,
+ showing,
+ progressTimerId = null,
+ fadeTimerId = null,
+ delayTimerId = null,
+ addEvent = function (elem, type, handler) {
+ if (elem.addEventListener) elem.addEventListener(type, handler, false);
+ else if (elem.attachEvent) elem.attachEvent("on" + type, handler);
+ else elem["on" + type] = handler;
+ },
+ options = {
+ autoRun: true,
+ barThickness: 3,
+ barColors: {
+ 0: "rgba(26, 188, 156, .9)",
+ ".25": "rgba(52, 152, 219, .9)",
+ ".50": "rgba(241, 196, 15, .9)",
+ ".75": "rgba(230, 126, 34, .9)",
+ "1.0": "rgba(211, 84, 0, .9)",
+ },
+ shadowBlur: 10,
+ shadowColor: "rgba(0, 0, 0, .6)",
+ className: null,
+ },
+ repaint = function () {
+ canvas.width = window.innerWidth;
+ canvas.height = options.barThickness * 5; // need space for shadow
+
+ var ctx = canvas.getContext("2d");
+ ctx.shadowBlur = options.shadowBlur;
+ ctx.shadowColor = options.shadowColor;
+
+ var lineGradient = ctx.createLinearGradient(0, 0, canvas.width, 0);
+ for (var stop in options.barColors)
+ lineGradient.addColorStop(stop, options.barColors[stop]);
+ ctx.lineWidth = options.barThickness;
+ ctx.beginPath();
+ ctx.moveTo(0, options.barThickness / 2);
+ ctx.lineTo(
+ Math.ceil(currentProgress * canvas.width),
+ options.barThickness / 2
+ );
+ ctx.strokeStyle = lineGradient;
+ ctx.stroke();
+ },
+ createCanvas = function () {
+ canvas = document.createElement("canvas");
+ var style = canvas.style;
+ style.position = "fixed";
+ style.top = style.left = style.right = style.margin = style.padding = 0;
+ style.zIndex = 100001;
+ style.display = "none";
+ if (options.className) canvas.classList.add(options.className);
+ document.body.appendChild(canvas);
+ addEvent(window, "resize", repaint);
+ },
+ topbar = {
+ config: function (opts) {
+ for (var key in opts)
+ if (options.hasOwnProperty(key)) options[key] = opts[key];
+ },
+ show: function (delay) {
+ if (showing) return;
+ if (delay) {
+ if (delayTimerId) return;
+ delayTimerId = setTimeout(() => topbar.show(), delay);
+ } else {
+ showing = true;
+ if (fadeTimerId !== null) window.cancelAnimationFrame(fadeTimerId);
+ if (!canvas) createCanvas();
+ canvas.style.opacity = 1;
+ canvas.style.display = "block";
+ topbar.progress(0);
+ if (options.autoRun) {
+ (function loop() {
+ progressTimerId = window.requestAnimationFrame(loop);
+ topbar.progress(
+ "+" + 0.05 * Math.pow(1 - Math.sqrt(currentProgress), 2)
+ );
+ })();
+ }
+ }
+ },
+ progress: function (to) {
+ if (typeof to === "undefined") return currentProgress;
+ if (typeof to === "string") {
+ to =
+ (to.indexOf("+") >= 0 || to.indexOf("-") >= 0
+ ? currentProgress
+ : 0) + parseFloat(to);
+ }
+ currentProgress = to > 1 ? 1 : to;
+ repaint();
+ return currentProgress;
+ },
+ hide: function () {
+ clearTimeout(delayTimerId);
+ delayTimerId = null;
+ if (!showing) return;
+ showing = false;
+ if (progressTimerId != null) {
+ window.cancelAnimationFrame(progressTimerId);
+ progressTimerId = null;
+ }
+ (function loop() {
+ if (topbar.progress("+.1") >= 1) {
+ canvas.style.opacity -= 0.05;
+ if (canvas.style.opacity <= 0.05) {
+ canvas.style.display = "none";
+ fadeTimerId = null;
+ return;
+ }
+ }
+ fadeTimerId = window.requestAnimationFrame(loop);
+ })();
+ },
+ };
+
+ if (typeof module === "object" && typeof module.exports === "object") {
+ module.exports = topbar;
+ } else if (typeof define === "function" && define.amd) {
+ define(function () {
+ return topbar;
+ });
+ } else {
+ this.topbar = topbar;
+ }
+}.call(this, window, document));
diff --git a/config/config.exs b/config/config.exs
new file mode 100644
index 0000000000000000000000000000000000000000..ec6892c4cd4104aa610da8e94a603c1b98660ede
--- /dev/null
+++ b/config/config.exs
@@ -0,0 +1,45 @@
+import Config
+
+# Configures the endpoint
+config :chai, ChaiWeb.Endpoint,
+ url: [host: "localhost"],
+ render_errors: [
+ formats: [html: ChaiWeb.ErrorHTML],
+ layout: false
+ ],
+ pubsub_server: Chai.PubSub,
+ live_view: [signing_salt: "HhjjaWHp"]
+
+# Configure esbuild (the version is required)
+config :esbuild,
+ version: "0.14.41",
+ default: [
+ args:
+ ~w(js/app.js --bundle --target=es2017 --outdir=../priv/static/assets --external:/fonts/* --external:/images/*),
+ cd: Path.expand("../assets", __DIR__),
+ env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)}
+ ]
+
+# Configure tailwind (the version is required)
+config :tailwind,
+ version: "3.2.4",
+ default: [
+ args: ~w(
+ --config=tailwind.config.js
+ --input=css/app.css
+ --output=../priv/static/assets/app.css
+ ),
+ cd: Path.expand("../assets", __DIR__)
+ ]
+
+# Configures Elixir's Logger
+config :logger, :console,
+ format: "$time $metadata[$level] $message\n",
+ metadata: [:request_id]
+
+# Use Jason for JSON parsing in Phoenix
+config :phoenix, :json_library, Jason
+
+# Import environment specific config. This must remain at the bottom
+# of this file so it overrides the configuration defined above.
+import_config "#{config_env()}.exs"
diff --git a/config/dev.exs b/config/dev.exs
new file mode 100644
index 0000000000000000000000000000000000000000..9abd0a5a42de3e371c9a0f826849f28da062daaf
--- /dev/null
+++ b/config/dev.exs
@@ -0,0 +1,38 @@
+import Config
+
+# For development, we disable any cache and enable
+# debugging and code reloading.
+config :chai, ChaiWeb.Endpoint,
+ # Binding to loopback ipv4 address prevents access from other machines.
+ # Change to `ip: {0, 0, 0, 0}` to allow access from other machines.
+ http: [ip: {127, 0, 0, 1}, port: 4040],
+ check_origin: false,
+ code_reloader: true,
+ debug_errors: true,
+ secret_key_base: "POQcb0mcoX3qbIKsRel3LlM4dvpDOssogUkyUN9Tyt4TPLgtQWKzDnjxxedUfcxC",
+ watchers: [
+ esbuild: {Esbuild, :install_and_run, [:default, ~w(--sourcemap=inline --watch)]},
+ tailwind: {Tailwind, :install_and_run, [:default, ~w(--watch)]}
+ ]
+
+# Watch static and templates for browser reloading.
+config :chai, ChaiWeb.Endpoint,
+ live_reload: [
+ patterns: [
+ ~r"priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$",
+ ~r"lib/chai_web/(controllers|live|components)/.*(ex|heex)$"
+ ]
+ ]
+
+# Enable dev routes for dashboard and mailbox
+config :chai, dev_routes: true
+
+# Do not include metadata nor timestamps in development logs
+config :logger, :console, format: "[$level] $message\n"
+
+# Set a higher stacktrace during development. Avoid configuring such
+# in production as building large stacktraces may be expensive.
+config :phoenix, :stacktrace_depth, 20
+
+# Initialize plugs at runtime for faster development compilation
+config :phoenix, :plug_init_mode, :runtime
diff --git a/config/prod.exs b/config/prod.exs
new file mode 100644
index 0000000000000000000000000000000000000000..dfa858ce4cc2ce59fcf97c62c9974f94f41932d3
--- /dev/null
+++ b/config/prod.exs
@@ -0,0 +1,18 @@
+import Config
+
+# For production, don't forget to configure the url host
+# to something meaningful, Phoenix uses this information
+# when generating URLs.
+
+# Note we also include the path to a cache manifest
+# containing the digested version of static files. This
+# manifest is generated by the `mix phx.digest` task,
+# which you should run after static files are built and
+# before starting your production server.
+config :chai, ChaiWeb.Endpoint, cache_static_manifest: "priv/static/cache_manifest.json"
+
+# Do not print debug messages in production
+config :logger, level: :info
+
+# Runtime production configuration, including reading
+# of environment variables, is done on config/runtime.exs.
diff --git a/config/runtime.exs b/config/runtime.exs
new file mode 100644
index 0000000000000000000000000000000000000000..c311eff5f519382d8b4973fc65745c9616501c2a
--- /dev/null
+++ b/config/runtime.exs
@@ -0,0 +1,25 @@
+import Config
+
+if System.get_env("PHX_SERVER") do
+ config :chai, ChaiWeb.Endpoint, server: true
+end
+
+if config_env() == :prod do
+ secret_key_base =
+ System.get_env("SECRET_KEY_BASE") ||
+ raise """
+ environment variable SECRET_KEY_BASE is missing.
+ You can generate one by calling: mix phx.gen.secret
+ """
+
+ host = System.get_env("PHX_HOST") || "example.com"
+ port = String.to_integer(System.get_env("PORT") || "4000")
+
+ config :chai, ChaiWeb.Endpoint,
+ url: [host: host, port: 443, scheme: "https"],
+ http: [
+ ip: {0, 0, 0, 0, 0, 0, 0, 0},
+ port: port
+ ],
+ secret_key_base: secret_key_base
+end
diff --git a/config/test.exs b/config/test.exs
new file mode 100644
index 0000000000000000000000000000000000000000..18ed102887e4d54573013b0445228aa6dc724ccb
--- /dev/null
+++ b/config/test.exs
@@ -0,0 +1,14 @@
+import Config
+
+# We don't run a server during test. If one is required,
+# you can enable the server option below.
+config :chai, ChaiWeb.Endpoint,
+ http: [ip: {127, 0, 0, 1}, port: 4002],
+ secret_key_base: "kKQJBTFBlnw1PnHtYTDG3G9sfIuXM3DxJLCyhmxnfyJ9wdAwOdRfthMTQR+Xa4ln",
+ server: false
+
+# Print only warnings and errors during test
+config :logger, level: :warning
+
+# Initialize plugs at runtime for faster test compilation
+config :phoenix, :plug_init_mode, :runtime
diff --git a/lib/chai.ex b/lib/chai.ex
new file mode 100644
index 0000000000000000000000000000000000000000..f68c73239ad5a83fa90439d38674d61d53d70544
--- /dev/null
+++ b/lib/chai.ex
@@ -0,0 +1,2 @@
+defmodule Chai do
+end
diff --git a/lib/chai/application.ex b/lib/chai/application.ex
new file mode 100644
index 0000000000000000000000000000000000000000..b4ed90bc2f13afc3e1737dfeceb3e7ddc1cc2a76
--- /dev/null
+++ b/lib/chai/application.ex
@@ -0,0 +1,28 @@
+defmodule Chai.Application do
+ @moduledoc false
+
+ use Application
+
+ @impl true
+ def start(_type, _args) do
+ children = [
+ # Start the Telemetry supervisor
+ ChaiWeb.Telemetry,
+ # Start the PubSub system
+ {Phoenix.PubSub, name: Chai.PubSub},
+ # Start the Endpoint (http/https)
+ ChaiWeb.Endpoint
+ ]
+
+ opts = [strategy: :one_for_one, name: Chai.Supervisor]
+ Supervisor.start_link(children, opts)
+ end
+
+ # Tell Phoenix to update the endpoint configuration
+ # whenever the application is updated.
+ @impl true
+ def config_change(changed, _new, removed) do
+ ChaiWeb.Endpoint.config_change(changed, removed)
+ :ok
+ end
+end
diff --git a/lib/chai_web.ex b/lib/chai_web.ex
new file mode 100644
index 0000000000000000000000000000000000000000..eb28e3aff875190e741108239326de85280c7b1d
--- /dev/null
+++ b/lib/chai_web.ex
@@ -0,0 +1,111 @@
+defmodule ChaiWeb do
+ @moduledoc """
+ The entrypoint for defining your web interface, such
+ as controllers, components, channels, and so on.
+
+ This can be used in your application as:
+
+ use ChaiWeb, :controller
+ use ChaiWeb, :html
+
+ The definitions below will be executed for every controller,
+ component, etc, so keep them short and clean, focused
+ on imports, uses and aliases.
+
+ Do NOT define functions inside the quoted expressions
+ below. Instead, define additional modules and import
+ those modules here.
+ """
+
+ def static_paths, do: ~w(assets fonts images favicon.svg logo.svg robots.txt)
+
+ def router do
+ quote do
+ use Phoenix.Router, helpers: false
+
+ # Import common connection and controller functions to use in pipelines
+ import Plug.Conn
+ import Phoenix.Controller
+ import Phoenix.LiveView.Router
+ end
+ end
+
+ def channel do
+ quote do
+ use Phoenix.Channel
+ end
+ end
+
+ def controller do
+ quote do
+ use Phoenix.Controller,
+ formats: [:html, :json],
+ layouts: [html: ChaiWeb.Layouts]
+
+ import Plug.Conn
+
+ unquote(verified_routes())
+ end
+ end
+
+ def live_view do
+ quote do
+ use Phoenix.LiveView,
+ layout: {ChaiWeb.Layouts, :app}
+
+ unquote(html_helpers())
+ end
+ end
+
+ def live_component do
+ quote do
+ use Phoenix.LiveComponent
+
+ unquote(html_helpers())
+ end
+ end
+
+ def html do
+ quote do
+ use Phoenix.Component
+
+ # Import convenience functions from controllers
+ import Phoenix.Controller,
+ only: [get_csrf_token: 0, view_module: 1, view_template: 1]
+
+ # Include general helpers for rendering HTML
+ unquote(html_helpers())
+ end
+ end
+
+ defp html_helpers do
+ quote do
+ # HTML escaping functionality
+ import Phoenix.HTML
+ # Core UI components and translation
+ import ChaiWeb.CoreComponents
+
+ # Shortcut for generating JS commands
+ alias Phoenix.LiveView.JS
+
+ # Routes generation with the ~p sigil
+ unquote(verified_routes())
+ end
+ end
+
+ def verified_routes do
+ quote do
+ use Phoenix.VerifiedRoutes,
+ endpoint: ChaiWeb.Endpoint,
+ router: ChaiWeb.Router,
+ statics: ChaiWeb.static_paths()
+ end
+ end
+
+ @doc """
+ When used, dispatch to the appropriate controller/view/etc.
+ """
+ defmacro __using__(which) when is_atom(which) do
+ apply(__MODULE__, which, [])
+ end
+end
diff --git a/lib/chai_web/components/core_components.ex b/lib/chai_web/components/core_components.ex
new file mode 100644
index 0000000000000000000000000000000000000000..05a09984e261e05ccf689eacf7a5ed172ad0c89e
--- /dev/null
+++ b/lib/chai_web/components/core_components.ex
@@ -0,0 +1,137 @@
+defmodule ChaiWeb.CoreComponents do
+ @moduledoc """
+ Provides core UI components.
+ """
+
+ use Phoenix.Component
+
+ alias Phoenix.LiveView.JS
+
+ @doc """
+ Renders flash notices.
+
+ ## Examples
+
+ <.flash kind={:info} flash={@flash} />
+ <.flash kind={:info} phx-mounted={show("#flash")}>Welcome Back!
+
+ """
+ attr :id, :string, default: "flash", doc: "the optional id of flash container"
+ attr :flash, :map, default: %{}, doc: "the map of flash messages to display"
+ attr :title, :string, default: nil
+ attr :kind, :atom, values: [:info, :error], doc: "used for styling and flash lookup"
+ attr :autoshow, :boolean, default: true, doc: "whether to auto show the flash on mount"
+ attr :close, :boolean, default: true, doc: "whether the flash can be closed"
+ attr :rest, :global, doc: "the arbitrary HTML attributes to add to the flash container"
+
+ slot :inner_block, doc: "the optional inner block that renders the flash message"
+
+ def flash(assigns) do
+ ~H"""
+
hide("##{@id}")}
+ role="alert"
+ class={[
+ "fixed hidden top-2 right-2 w-80 sm:w-96 z-50 rounded-lg p-3 shadow-md shadow-zinc-900/5 ring-1",
+ @kind == :info && "bg-emerald-50 text-emerald-800 ring-emerald-500 fill-cyan-900",
+ @kind == :error && "bg-rose-50 p-3 text-rose-900 shadow-md ring-rose-500 fill-rose-900"
+ ]}
+ {@rest}
+ >
+
+ <.icon :if={@kind == :info} name="hero-information-circle-mini" class="w-4 h-4" />
+ <.icon :if={@kind == :error} name="hero-exclamation-circle-mini" class="w-4 h-4" />
+ <%= @title %>
+
+
<%= msg %>
+
+
+ """
+ end
+
+ @doc """
+ Shows the flash group with standard titles and content.
+
+ ## Examples
+
+ <.flash_group flash={@flash} />
+
+ """
+ attr :flash, :map, required: true, doc: "the map of flash messages"
+
+ def flash_group(assigns) do
+ ~H"""
+ <.flash kind={:info} title="Success!" flash={@flash} />
+ <.flash kind={:error} title="Error!" flash={@flash} />
+ <.flash
+ id="disconnected"
+ kind={:error}
+ title="We can't find the internet"
+ close={false}
+ autoshow={false}
+ phx-disconnected={show("#disconnected")}
+ phx-connected={hide("#disconnected")}
+ >
+ Attempting to reconnect <.icon name="hero-arrow-path" class="ml-1 w-3 h-3 animate-spin" />
+
+ """
+ end
+
+ @doc """
+ Renders a [Hero Icon](https://heroicons.com).
+
+ Hero icons come in three styles – outline, solid, and mini.
+ By default, the outline style is used, but solid an mini may
+ be applied by using the `-solid` and `-mini` suffix.
+
+ You can customize the size and colors of the icons by setting
+ width, height, and background color classes.
+
+ Icons are extracted from your `priv/hero_icons` directory and bundled
+ within your compiled app.css by the plugin in your `assets/tailwind.config.js`.
+
+ ## Examples
+
+ <.icon name="hero-cake" />
+ <.icon name="hero-cake-solid" />
+ <.icon name="hero-cake-mini" />
+ <.icon name="hero-bolt" class="bg-blue-500 w-10 h-10" />
+
+ """
+ attr :name, :string, required: true
+ attr :class, :string, default: nil
+
+ def icon(%{name: "hero-" <> _} = assigns) do
+ ~H"""
+
+ """
+ end
+
+ ## JS Commands
+
+ def show(js \\ %JS{}, selector) do
+ JS.show(js,
+ to: selector,
+ transition:
+ {"transition-all transform ease-out duration-300",
+ "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",
+ "opacity-100 translate-y-0 sm:scale-100"}
+ )
+ end
+
+ def hide(js \\ %JS{}, selector) do
+ JS.hide(js,
+ to: selector,
+ time: 200,
+ transition:
+ {"transition-all transform ease-in duration-200",
+ "opacity-100 translate-y-0 sm:scale-100",
+ "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"}
+ )
+ end
+end
diff --git a/lib/chai_web/components/layouts.ex b/lib/chai_web/components/layouts.ex
new file mode 100644
index 0000000000000000000000000000000000000000..316a995ea4c5e5dbf3ed91bca36a37ca72d3596b
--- /dev/null
+++ b/lib/chai_web/components/layouts.ex
@@ -0,0 +1,5 @@
+defmodule ChaiWeb.Layouts do
+ use ChaiWeb, :html
+
+ embed_templates "layouts/*"
+end
diff --git a/lib/chai_web/components/layouts/app.html.heex b/lib/chai_web/components/layouts/app.html.heex
new file mode 100644
index 0000000000000000000000000000000000000000..f5e2efb13209d79cffbcb17832b9eff202e4e2bd
--- /dev/null
+++ b/lib/chai_web/components/layouts/app.html.heex
@@ -0,0 +1,31 @@
+
+
+
+ <.flash_group flash={@flash} />
+ <%= @inner_content %>
+
+
diff --git a/lib/chai_web/components/layouts/root.html.heex b/lib/chai_web/components/layouts/root.html.heex
new file mode 100644
index 0000000000000000000000000000000000000000..60894ca19f2dc73d05c04b16c05830eb9e560311
--- /dev/null
+++ b/lib/chai_web/components/layouts/root.html.heex
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+ <.live_title>
+ <%= assigns[:page_title] || "Chai" %>
+
+
+
+
+
+ <%= @inner_content %>
+
+
diff --git a/lib/chai_web/controllers/error_html.ex b/lib/chai_web/controllers/error_html.ex
new file mode 100644
index 0000000000000000000000000000000000000000..7cfaff6f57e1b10401028bd5af999a5925ce454d
--- /dev/null
+++ b/lib/chai_web/controllers/error_html.ex
@@ -0,0 +1,7 @@
+defmodule ChaiWeb.ErrorHTML do
+ use ChaiWeb, :html
+
+ def render(template, _assigns) do
+ Phoenix.Controller.status_message_from_template(template)
+ end
+end
diff --git a/lib/chai_web/endpoint.ex b/lib/chai_web/endpoint.ex
new file mode 100644
index 0000000000000000000000000000000000000000..feac9522a36af10beb1fc5dcbe24e04022436702
--- /dev/null
+++ b/lib/chai_web/endpoint.ex
@@ -0,0 +1,44 @@
+defmodule ChaiWeb.Endpoint do
+ use Phoenix.Endpoint, otp_app: :chai
+
+ # The session will be stored in the cookie and signed,
+ # this means its contents can be read but not tampered with.
+ # Set :encryption_salt if you would also like to encrypt it.
+ @session_options [
+ store: :cookie,
+ key: "_chai_key",
+ signing_salt: "HnJ/u6tl",
+ same_site: "Lax"
+ ]
+
+ socket "/live", Phoenix.LiveView.Socket, websocket: [connect_info: [session: @session_options]]
+
+ plug Plug.Static,
+ at: "/",
+ from: :chai,
+ gzip: false,
+ only: ChaiWeb.static_paths()
+
+ if code_reloading? do
+ socket "/phoenix/live_reload/socket", Phoenix.LiveReloader.Socket
+ plug Phoenix.LiveReloader
+ plug Phoenix.CodeReloader
+ end
+
+ plug Phoenix.LiveDashboard.RequestLogger,
+ param_key: "request_logger",
+ cookie_key: "request_logger"
+
+ plug Plug.RequestId
+ plug Plug.Telemetry, event_prefix: [:phoenix, :endpoint]
+
+ plug Plug.Parsers,
+ parsers: [:urlencoded, :multipart, :json],
+ pass: ["*/*"],
+ json_decoder: Phoenix.json_library()
+
+ plug Plug.MethodOverride
+ plug Plug.Head
+ plug Plug.Session, @session_options
+ plug ChaiWeb.Router
+end
diff --git a/lib/chai_web/router.ex b/lib/chai_web/router.ex
new file mode 100644
index 0000000000000000000000000000000000000000..537bfb1a925640ea632184010b1e78482f9d3748
--- /dev/null
+++ b/lib/chai_web/router.ex
@@ -0,0 +1,31 @@
+defmodule ChaiWeb.Router do
+ use ChaiWeb, :router
+
+ pipeline :browser do
+ plug :accepts, ["html"]
+ plug :fetch_session
+ plug :fetch_live_flash
+ plug :put_root_layout, {ChaiWeb.Layouts, :root}
+ plug :protect_from_forgery
+ plug :put_secure_browser_headers
+ end
+
+ pipeline :api do
+ plug :accepts, ["json"]
+ end
+
+ scope "/", ChaiWeb do
+ pipe_through :browser
+ end
+
+ # Enable LiveDashboard in development
+ if Application.compile_env(:chai, :dev_routes) do
+ import Phoenix.LiveDashboard.Router
+
+ scope "/dev" do
+ pipe_through :browser
+
+ live_dashboard "/dashboard", metrics: ChaiWeb.Telemetry
+ end
+ end
+end
diff --git a/lib/chai_web/telemetry.ex b/lib/chai_web/telemetry.ex
new file mode 100644
index 0000000000000000000000000000000000000000..b1335d83efb2c095c69da9a0810ebff820a720a6
--- /dev/null
+++ b/lib/chai_web/telemetry.ex
@@ -0,0 +1,69 @@
+defmodule ChaiWeb.Telemetry do
+ use Supervisor
+ import Telemetry.Metrics
+
+ def start_link(arg) do
+ Supervisor.start_link(__MODULE__, arg, name: __MODULE__)
+ end
+
+ @impl true
+ def init(_arg) do
+ children = [
+ # Telemetry poller will execute the given period measurements
+ # every 10_000ms. Learn more here: https://hexdocs.pm/telemetry_metrics
+ {:telemetry_poller, measurements: periodic_measurements(), period: 10_000}
+ # Add reporters as children of your supervision tree.
+ # {Telemetry.Metrics.ConsoleReporter, metrics: metrics()}
+ ]
+
+ Supervisor.init(children, strategy: :one_for_one)
+ end
+
+ def metrics do
+ [
+ # Phoenix Metrics
+ summary("phoenix.endpoint.start.system_time",
+ unit: {:native, :millisecond}
+ ),
+ summary("phoenix.endpoint.stop.duration",
+ unit: {:native, :millisecond}
+ ),
+ summary("phoenix.router_dispatch.start.system_time",
+ tags: [:route],
+ unit: {:native, :millisecond}
+ ),
+ summary("phoenix.router_dispatch.exception.duration",
+ tags: [:route],
+ unit: {:native, :millisecond}
+ ),
+ summary("phoenix.router_dispatch.stop.duration",
+ tags: [:route],
+ unit: {:native, :millisecond}
+ ),
+ summary("phoenix.socket_connected.duration",
+ unit: {:native, :millisecond}
+ ),
+ summary("phoenix.channel_join.duration",
+ unit: {:native, :millisecond}
+ ),
+ summary("phoenix.channel_handled_in.duration",
+ tags: [:event],
+ unit: {:native, :millisecond}
+ ),
+
+ # VM Metrics
+ summary("vm.memory.total", unit: {:byte, :kilobyte}),
+ summary("vm.total_run_queue_lengths.total"),
+ summary("vm.total_run_queue_lengths.cpu"),
+ summary("vm.total_run_queue_lengths.io")
+ ]
+ end
+
+ defp periodic_measurements do
+ [
+ # A module, function and arguments to be invoked periodically.
+ # This function must call :telemetry.execute/3 and a metric must be added above.
+ # {ChaiWeb, :count_users, []}
+ ]
+ end
+end
diff --git a/mix.exs b/mix.exs
new file mode 100644
index 0000000000000000000000000000000000000000..86783fc2f4e04e04ab84b3110c83214206dba631
--- /dev/null
+++ b/mix.exs
@@ -0,0 +1,51 @@
+defmodule Chai.MixProject do
+ use Mix.Project
+
+ def project do
+ [
+ app: :chai,
+ version: "0.1.0",
+ elixir: "~> 1.14",
+ elixirc_paths: elixirc_paths(Mix.env()),
+ start_permanent: Mix.env() == :prod,
+ aliases: aliases(),
+ deps: deps()
+ ]
+ end
+
+ def application do
+ [
+ mod: {Chai.Application, []},
+ extra_applications: [:logger, :runtime_tools]
+ ]
+ end
+
+ defp elixirc_paths(:test), do: ["lib", "test/support"]
+ defp elixirc_paths(_), do: ["lib"]
+
+ defp deps do
+ [
+ {:phoenix, "~> 1.7.1"},
+ {:phoenix_html, "~> 3.3"},
+ {:phoenix_live_reload, "~> 1.2", only: :dev},
+ {:phoenix_live_view, "~> 0.18.16"},
+ {:floki, ">= 0.30.0", only: :test},
+ {:phoenix_live_dashboard, "~> 0.7.2"},
+ {:esbuild, "~> 0.5", runtime: Mix.env() == :dev},
+ {:tailwind, "~> 0.1.8", runtime: Mix.env() == :dev},
+ {:telemetry_metrics, "~> 0.6"},
+ {:telemetry_poller, "~> 1.0"},
+ {:jason, "~> 1.2"},
+ {:plug_cowboy, "~> 2.5"}
+ ]
+ end
+
+ defp aliases do
+ [
+ setup: ["deps.get", "assets.setup", "assets.build"],
+ "assets.setup": ["tailwind.install --if-missing", "esbuild.install --if-missing"],
+ "assets.build": ["tailwind default", "esbuild default"],
+ "assets.deploy": ["tailwind default --minify", "esbuild default --minify", "phx.digest"]
+ ]
+ end
+end
diff --git a/mix.lock b/mix.lock
new file mode 100644
index 0000000000000000000000000000000000000000..31a267169e2671617595b202ce713d7879da71c7
--- /dev/null
+++ b/mix.lock
@@ -0,0 +1,28 @@
+%{
+ "castore": {:hex, :castore, "1.0.1", "240b9edb4e9e94f8f56ab39d8d2d0a57f49e46c56aced8f873892df8ff64ff5a", [:mix], [], "hexpm", "b4951de93c224d44fac71614beabd88b71932d0b1dea80d2f80fb9044e01bbb3"},
+ "cowboy": {:hex, :cowboy, "2.9.0", "865dd8b6607e14cf03282e10e934023a1bd8be6f6bacf921a7e2a96d800cd452", [:make, :rebar3], [{:cowlib, "2.11.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "2c729f934b4e1aa149aff882f57c6372c15399a20d54f65c8d67bef583021bde"},
+ "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"},
+ "cowlib": {:hex, :cowlib, "2.11.0", "0b9ff9c346629256c42ebe1eeb769a83c6cb771a6ee5960bd110ab0b9b872063", [:make, :rebar3], [], "hexpm", "2b3e9da0b21c4565751a6d4901c20d1b4cc25cbb7fd50d91d2ab6dd287bc86a9"},
+ "esbuild": {:hex, :esbuild, "0.7.0", "ce3afb13cd2c5fd63e13c0e2d0e0831487a97a7696cfa563707342bb825d122a", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}], "hexpm", "4ae9f4f237c5ebcb001390b8ada65a12fb2bb04f3fe3d1f1692b7a06fbfe8752"},
+ "file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"},
+ "floki": {:hex, :floki, "0.34.2", "5fad07ef153b3b8ec110b6b155ec3780c4b2c4906297d0b4be1a7162d04a7e02", [:mix], [], "hexpm", "26b9d50f0f01796bc6be611ca815c5e0de034d2128e39cc9702eee6b66a4d1c8"},
+ "jason": {:hex, :jason, "1.4.0", "e855647bc964a44e2f67df589ccf49105ae039d4179db7f6271dfd3843dc27e6", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "79a3791085b2a0f743ca04cec0f7be26443738779d09302e01318f97bdb82121"},
+ "mime": {:hex, :mime, "2.0.3", "3676436d3d1f7b81b5a2d2bd8405f412c677558c81b1c92be58c00562bb59095", [:mix], [], "hexpm", "27a30bf0db44d25eecba73755acf4068cbfe26a4372f9eb3e4ea3a45956bff6b"},
+ "phoenix": {:hex, :phoenix, "1.7.2", "c375ffb482beb4e3d20894f84dd7920442884f5f5b70b9f4528cbe0cedefec63", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.4", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "1ebca94b32b4d0e097ab2444a9742ed8ff3361acad17365e4e6b2e79b4792159"},
+ "phoenix_html": {:hex, :phoenix_html, "3.3.1", "4788757e804a30baac6b3fc9695bf5562465dd3f1da8eb8460ad5b404d9a2178", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "bed1906edd4906a15fd7b412b85b05e521e1f67c9a85418c55999277e553d0d3"},
+ "phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.7.2", "97cc4ff2dba1ebe504db72cb45098cb8e91f11160528b980bd282cc45c73b29c", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.18.3", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "0e5fdf063c7a3b620c566a30fcf68b7ee02e5e46fe48ee46a6ec3ba382dc05b7"},
+ "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.4.1", "2aff698f5e47369decde4357ba91fc9c37c6487a512b41732818f2204a8ef1d3", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "9bffb834e7ddf08467fe54ae58b5785507aaba6255568ae22b4d46e2bb3615ab"},
+ "phoenix_live_view": {:hex, :phoenix_live_view, "0.18.18", "1f38fbd7c363723f19aad1a04b5490ff3a178e37daaf6999594d5f34796c47fc", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "a5810d0472f3189ede6d2a95bda7f31c6113156b91784a3426cb0ab6a6d85214"},
+ "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.1", "ba04e489ef03763bf28a17eb2eaddc2c20c6d217e2150a61e3298b0f4c2012b5", [:mix], [], "hexpm", "81367c6d1eea5878ad726be80808eb5a787a23dee699f96e72b1109c57cdd8d9"},
+ "phoenix_template": {:hex, :phoenix_template, "1.0.1", "85f79e3ad1b0180abb43f9725973e3b8c2c3354a87245f91431eec60553ed3ef", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "157dc078f6226334c91cb32c1865bf3911686f8bcd6bcff86736f6253e6993ee"},
+ "plug": {:hex, :plug, "1.14.2", "cff7d4ec45b4ae176a227acd94a7ab536d9b37b942c8e8fa6dfc0fff98ff4d80", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "842fc50187e13cf4ac3b253d47d9474ed6c296a8732752835ce4a86acdf68d13"},
+ "plug_cowboy": {:hex, :plug_cowboy, "2.6.1", "9a3bbfceeb65eff5f39dab529e5cd79137ac36e913c02067dba3963a26efe9b2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "de36e1a21f451a18b790f37765db198075c25875c64834bcc82d90b309eb6613"},
+ "plug_crypto": {:hex, :plug_crypto, "1.2.5", "918772575e48e81e455818229bf719d4ab4181fcbf7f85b68a35620f78d89ced", [:mix], [], "hexpm", "26549a1d6345e2172eb1c233866756ae44a9609bd33ee6f99147ab3fd87fd842"},
+ "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"},
+ "tailwind": {:hex, :tailwind, "0.1.10", "21ed80ae1f411f747ee513470578acaaa1d0eb40170005350c5b0b6d07e2d624", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}], "hexpm", "e0fc474dfa8ed7a4573851ac69c5fd3ca70fbb0a5bada574d1d657ebc6f2f1f1"},
+ "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"},
+ "telemetry_metrics": {:hex, :telemetry_metrics, "0.6.1", "315d9163a1d4660aedc3fee73f33f1d355dcc76c5c3ab3d59e76e3edf80eef1f", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7be9e0871c41732c233be71e4be11b96e56177bf15dde64a8ac9ce72ac9834c6"},
+ "telemetry_poller": {:hex, :telemetry_poller, "1.0.0", "db91bb424e07f2bb6e73926fcafbfcbcb295f0193e0a00e825e589a0a47e8453", [:rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "b3a24eafd66c3f42da30fc3ca7dda1e9d546c12250a2d60d7b81d264fbec4f6e"},
+ "websock": {:hex, :websock, "0.5.0", "f6bbce90226121d62a0715bca7c986c5e43de0ccc9475d79c55381d1796368cc", [:mix], [], "hexpm", "b51ac706df8a7a48a2c622ee02d09d68be8c40418698ffa909d73ae207eb5fb8"},
+ "websock_adapter": {:hex, :websock_adapter, "0.5.0", "cea35d8bbf1a6964e32d4b02ceb561dfb769c04f16d60d743885587e7d2ca55b", [:mix], [{:bandit, "~> 0.6", [hex: :bandit, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "16318b124effab8209b1eb7906c636374f623dc9511a8278ad09c083cea5bb83"},
+}
diff --git a/priv/hero_icons/LICENSE.md b/priv/hero_icons/LICENSE.md
new file mode 100644
index 0000000000000000000000000000000000000000..1ac3e409b71e2f568457d2c0ae4a1cbc8eeaea68
--- /dev/null
+++ b/priv/hero_icons/LICENSE.md
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2020 Refactoring UI Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/priv/hero_icons/UPGRADE.md b/priv/hero_icons/UPGRADE.md
new file mode 100644
index 0000000000000000000000000000000000000000..7daa80e852b7c7c3f05170fac04a85487de24b94
--- /dev/null
+++ b/priv/hero_icons/UPGRADE.md
@@ -0,0 +1,7 @@
+You are running heroicons v2.0.16. To upgrade in place, you can run the following command,
+where your `HERO_VSN` export is your desired version:
+
+ export HERO_VSN="2.0.16" ; \
+ curl -L -o optimized.zip "https://github.com/tailwindlabs/heroicons/archive/refs/tags/v${HERO_VSN}.zip" ; \
+ tar --strip-components=1 -xvf optimized.zip heroicons-${HERO_VSN}/optimized ; \
+ rm optimized.zip
diff --git a/priv/hero_icons/optimized/20/solid/academic-cap.svg b/priv/hero_icons/optimized/20/solid/academic-cap.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bb980e6a80fe39c89740e1a760ecf5d5d9b7eabf
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/academic-cap.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/adjustments-horizontal.svg b/priv/hero_icons/optimized/20/solid/adjustments-horizontal.svg
new file mode 100644
index 0000000000000000000000000000000000000000..13f925105897afa47bdfd7c1b5ab7aa8af3f8bbe
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/adjustments-horizontal.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/adjustments-vertical.svg b/priv/hero_icons/optimized/20/solid/adjustments-vertical.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6f75b6c00328811d897db5147eb1404a553d124b
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/adjustments-vertical.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/archive-box-arrow-down.svg b/priv/hero_icons/optimized/20/solid/archive-box-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5ccef9d536b35c6682d2bc5657cafd871af8b693
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/archive-box-arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/archive-box-x-mark.svg b/priv/hero_icons/optimized/20/solid/archive-box-x-mark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..73acbef10cabc432495a5ebb3990325348db3a78
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/archive-box-x-mark.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/archive-box.svg b/priv/hero_icons/optimized/20/solid/archive-box.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2205ae8df434bacd1fe8e7d72677ee516132bfef
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/archive-box.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-down-circle.svg b/priv/hero_icons/optimized/20/solid/arrow-down-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bb21a8946ee4d6bc755b2dabee69fb3911e04dba
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-down-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-down-left.svg b/priv/hero_icons/optimized/20/solid/arrow-down-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f0c36246cce88723ae35607baf3de461dd340fbc
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-down-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-down-on-square-stack.svg b/priv/hero_icons/optimized/20/solid/arrow-down-on-square-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d9c4db0309a5062c2995cbc95f73a4f4e05d51c2
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-down-on-square-stack.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-down-on-square.svg b/priv/hero_icons/optimized/20/solid/arrow-down-on-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4e8ee0f8cca6adfa00ffbf8debcbdfac55832af0
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-down-on-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-down-right.svg b/priv/hero_icons/optimized/20/solid/arrow-down-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..65cdada0e164ea547de6c0b261c098ad0d49880d
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-down-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-down-tray.svg b/priv/hero_icons/optimized/20/solid/arrow-down-tray.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5c3589d95f8d0842849c74aefadbb0025a60eef4
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-down-tray.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-down.svg b/priv/hero_icons/optimized/20/solid/arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8d577b1e84f4ecb7ee3396c7b699bb8f8bd262be
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-left-circle.svg b/priv/hero_icons/optimized/20/solid/arrow-left-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8cce243bee6677c506ac3e1053402bf6fc325b08
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-left-circle.svg
@@ -0,0 +1,10 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-left-on-rectangle.svg b/priv/hero_icons/optimized/20/solid/arrow-left-on-rectangle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..74d0699a5cdb0df5a46a1d17fac841df63515a4f
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-left-on-rectangle.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-left.svg b/priv/hero_icons/optimized/20/solid/arrow-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c7efd3073168940f6ab67534608a32bbabee09eb
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-long-down.svg b/priv/hero_icons/optimized/20/solid/arrow-long-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d2630615f64e43224c3152486590d07d11c2835e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-long-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-long-left.svg b/priv/hero_icons/optimized/20/solid/arrow-long-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..297553c97441b6a396e7a2ef2823456cc6728a41
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-long-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-long-right.svg b/priv/hero_icons/optimized/20/solid/arrow-long-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..eea945e0ef8c53d20b9077ca0195a81a0b511a5f
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-long-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-long-up.svg b/priv/hero_icons/optimized/20/solid/arrow-long-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..193ff978b33bedf0a962f62e7e15a7a11eb13dfc
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-long-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-path-rounded-square.svg b/priv/hero_icons/optimized/20/solid/arrow-path-rounded-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7d3deb5803fdea6ee3d9bc4b7cb906332ae3f3ff
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-path-rounded-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-path.svg b/priv/hero_icons/optimized/20/solid/arrow-path.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1a31b4c041fdf4e3bd026e057078b17c96ed8d72
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-path.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-right-circle.svg b/priv/hero_icons/optimized/20/solid/arrow-right-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4178da9a0afc26469cfc9080542f44cba385338c
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-right-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-right-on-rectangle.svg b/priv/hero_icons/optimized/20/solid/arrow-right-on-rectangle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..27c4dffd2cb974e40f4b77aab42790d0ad4da257
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-right-on-rectangle.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-right.svg b/priv/hero_icons/optimized/20/solid/arrow-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..95cc517ad8b757cd35268ec32671691b3b52478b
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-small-down.svg b/priv/hero_icons/optimized/20/solid/arrow-small-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b986c6cd503654e9b007159990fd4c5bcf2e84df
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-small-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-small-left.svg b/priv/hero_icons/optimized/20/solid/arrow-small-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0cb7e71a5595068301705d79967a5de22fa936b2
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-small-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-small-right.svg b/priv/hero_icons/optimized/20/solid/arrow-small-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..16beb5e38e9ea24c42ea4251eaf908cc66f72dbd
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-small-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-small-up.svg b/priv/hero_icons/optimized/20/solid/arrow-small-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7fda0e594c68507e5dc5b94e646f4bab0c2f8d3b
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-small-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-top-right-on-square.svg b/priv/hero_icons/optimized/20/solid/arrow-top-right-on-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c93df5486e9a8bf939a8935f072e7c93fc0c2c8a
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-top-right-on-square.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-trending-down.svg b/priv/hero_icons/optimized/20/solid/arrow-trending-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5ec7c0371c61933f49e765c6c3e4656a6367f31e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-trending-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-trending-up.svg b/priv/hero_icons/optimized/20/solid/arrow-trending-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..67af2cc8ad40455e147ed9cea06fc66d60dd329a
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-trending-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-up-circle.svg b/priv/hero_icons/optimized/20/solid/arrow-up-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..21d87f2eb76b4a5ba943da4a5d312f8d51396850
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-up-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-up-left.svg b/priv/hero_icons/optimized/20/solid/arrow-up-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fb5003871bf01a8e77681880df6434cf29d6c82a
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-up-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-up-on-square-stack.svg b/priv/hero_icons/optimized/20/solid/arrow-up-on-square-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0df0ed2a6b27091f44b57287a6b1f23e79664299
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-up-on-square-stack.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-up-on-square.svg b/priv/hero_icons/optimized/20/solid/arrow-up-on-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..01f18a8df175fa482585fa9a248e6985ef08fb41
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-up-on-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-up-right.svg b/priv/hero_icons/optimized/20/solid/arrow-up-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4841916deafd13f68968ffb7331865690a994e74
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-up-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-up-tray.svg b/priv/hero_icons/optimized/20/solid/arrow-up-tray.svg
new file mode 100644
index 0000000000000000000000000000000000000000..832afe55ca10bfa355c978651c7230730cc06d90
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-up-tray.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-up.svg b/priv/hero_icons/optimized/20/solid/arrow-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..24b12b78be4ac6f2f15e66668c740d00c69c50e6
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-uturn-down.svg b/priv/hero_icons/optimized/20/solid/arrow-uturn-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6839676d986b7b7cfc13947c3408ed01d77aec0d
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-uturn-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-uturn-left.svg b/priv/hero_icons/optimized/20/solid/arrow-uturn-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6691aa4da7e2aa25b849227fa6a62dba78805d24
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-uturn-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-uturn-right.svg b/priv/hero_icons/optimized/20/solid/arrow-uturn-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9a6e23bff3ca520a5ce56c6d6c7b94737c1ab250
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-uturn-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrow-uturn-up.svg b/priv/hero_icons/optimized/20/solid/arrow-uturn-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8e65bf8fb3c3e46246afc18901bb0f271c46776d
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrow-uturn-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrows-pointing-in.svg b/priv/hero_icons/optimized/20/solid/arrows-pointing-in.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6275807755cdfd604b5f447b071936f65e01140c
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrows-pointing-in.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrows-pointing-out.svg b/priv/hero_icons/optimized/20/solid/arrows-pointing-out.svg
new file mode 100644
index 0000000000000000000000000000000000000000..14e1bcd1cb9e43a79079163ede340f31b34ad6ed
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrows-pointing-out.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrows-right-left.svg b/priv/hero_icons/optimized/20/solid/arrows-right-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..87616d336bcc847c0001e4b88c8dff7370d45b3a
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrows-right-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/arrows-up-down.svg b/priv/hero_icons/optimized/20/solid/arrows-up-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b9c43d94e4465dc17ef1e8adc29f15baa3ec0704
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/arrows-up-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/at-symbol.svg b/priv/hero_icons/optimized/20/solid/at-symbol.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a9e960de75519eaf484462bcaa56067b5ff193f0
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/at-symbol.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/backspace.svg b/priv/hero_icons/optimized/20/solid/backspace.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d3c1686005f66a028d853043a80546a49a33d3a0
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/backspace.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/backward.svg b/priv/hero_icons/optimized/20/solid/backward.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8d341b28b37d44246bcf01bc915ab669b357aa9f
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/backward.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/banknotes.svg b/priv/hero_icons/optimized/20/solid/banknotes.svg
new file mode 100644
index 0000000000000000000000000000000000000000..979c5864b6b783760341e490afa4c55e1cb3f337
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/banknotes.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bars-2.svg b/priv/hero_icons/optimized/20/solid/bars-2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4ce1e1939cbcb6d3d11c65385a0d63b32d8a06c8
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bars-2.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bars-3-bottom-left.svg b/priv/hero_icons/optimized/20/solid/bars-3-bottom-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ebf785dadd579ccc285d48ad0af0b544e1a41b47
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bars-3-bottom-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bars-3-bottom-right.svg b/priv/hero_icons/optimized/20/solid/bars-3-bottom-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..af69c3d268df10c0460cc9e4da06fe31b37adaa5
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bars-3-bottom-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bars-3-center-left.svg b/priv/hero_icons/optimized/20/solid/bars-3-center-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ee8a526eec5364748d623a6409250faf0a46d255
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bars-3-center-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bars-3.svg b/priv/hero_icons/optimized/20/solid/bars-3.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d164cfd3660820790cd3b075d7180878ea8a5706
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bars-3.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bars-4.svg b/priv/hero_icons/optimized/20/solid/bars-4.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8e3f650c29a29f3a55a6d53336fbaf0f194339c3
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bars-4.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bars-arrow-down.svg b/priv/hero_icons/optimized/20/solid/bars-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fd8f98d1ee4687611c51824fc5b05f943fc9a9be
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bars-arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bars-arrow-up.svg b/priv/hero_icons/optimized/20/solid/bars-arrow-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ba77dbea92072d088a01ab2ba17baca6284f6a4f
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bars-arrow-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/battery-0.svg b/priv/hero_icons/optimized/20/solid/battery-0.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2320f7ee7cc39383b1017b2055a3b348daa081b4
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/battery-0.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/battery-100.svg b/priv/hero_icons/optimized/20/solid/battery-100.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e04408fb038c01ebd0df614091c4902263e05c55
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/battery-100.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/battery-50.svg b/priv/hero_icons/optimized/20/solid/battery-50.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e5e84984d6d4c33a3c7a2d91820ca8d8f1d3dbef
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/battery-50.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/beaker.svg b/priv/hero_icons/optimized/20/solid/beaker.svg
new file mode 100644
index 0000000000000000000000000000000000000000..025c46ba8c5f5031d0b0a89a63bdb05881c1d6b2
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/beaker.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bell-alert.svg b/priv/hero_icons/optimized/20/solid/bell-alert.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c84dc7c5d02d589ada3a70475a988e16832d1056
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bell-alert.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bell-slash.svg b/priv/hero_icons/optimized/20/solid/bell-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a4296ac598bc159807d39bf75ead4836446ad106
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bell-slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bell-snooze.svg b/priv/hero_icons/optimized/20/solid/bell-snooze.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ad4f8c5f5c33d7f0d1291c7205c90608ee2e4631
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bell-snooze.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bell.svg b/priv/hero_icons/optimized/20/solid/bell.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2a81bba7580bb71799c7a2c9290012d04a96e28c
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bell.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bolt-slash.svg b/priv/hero_icons/optimized/20/solid/bolt-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e4c2499c71d804e26fc4c1941082b4d8dea77e61
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bolt-slash.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bolt.svg b/priv/hero_icons/optimized/20/solid/bolt.svg
new file mode 100644
index 0000000000000000000000000000000000000000..53f4fb957dbdfc6df53cf2d62f387696e3b25217
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bolt.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/book-open.svg b/priv/hero_icons/optimized/20/solid/book-open.svg
new file mode 100644
index 0000000000000000000000000000000000000000..99cf0d4d0f791ff5629fc94d1fed0de22ea2c55c
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/book-open.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bookmark-slash.svg b/priv/hero_icons/optimized/20/solid/bookmark-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1442fd445163201408e8c0ef2c406b5369304e1d
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bookmark-slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bookmark-square.svg b/priv/hero_icons/optimized/20/solid/bookmark-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..849c425e78e60d6876729c0184c9a4a72459ec38
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bookmark-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bookmark.svg b/priv/hero_icons/optimized/20/solid/bookmark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a3e68decee8d459c617f9affbebb7d758e10d9be
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bookmark.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/briefcase.svg b/priv/hero_icons/optimized/20/solid/briefcase.svg
new file mode 100644
index 0000000000000000000000000000000000000000..275f4b3f9c445fdafcb74764c7ada415915ec926
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/briefcase.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/bug-ant.svg b/priv/hero_icons/optimized/20/solid/bug-ant.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bc866155e57565139c8c90e0e0b093a491e47dcd
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/bug-ant.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/building-library.svg b/priv/hero_icons/optimized/20/solid/building-library.svg
new file mode 100644
index 0000000000000000000000000000000000000000..610bce7eb1f74599b97216395ccfb64c145b01c8
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/building-library.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/building-office-2.svg b/priv/hero_icons/optimized/20/solid/building-office-2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b25c33ddafc494bcec9dce974b67b9c494dd4354
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/building-office-2.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/building-office.svg b/priv/hero_icons/optimized/20/solid/building-office.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8fb3fabeb0d85d4e7d13262bf07c6f8164c395b6
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/building-office.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/building-storefront.svg b/priv/hero_icons/optimized/20/solid/building-storefront.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0d7da7cbf82b48b6982b48877e74945bb289f217
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/building-storefront.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/cake.svg b/priv/hero_icons/optimized/20/solid/cake.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c58d3b96a6e86f3daea4442e7d319a355dec9562
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/cake.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/calculator.svg b/priv/hero_icons/optimized/20/solid/calculator.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cc26160956d2375c1fdf404ac809fc4b245debdf
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/calculator.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/calendar-days.svg b/priv/hero_icons/optimized/20/solid/calendar-days.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ded231856d6fda95840595890ed53a61bdb5e9f2
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/calendar-days.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/calendar.svg b/priv/hero_icons/optimized/20/solid/calendar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..dea374d2e429d4bbd7663ed9f8e1b2eace3aff01
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/calendar.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/camera.svg b/priv/hero_icons/optimized/20/solid/camera.svg
new file mode 100644
index 0000000000000000000000000000000000000000..17356aef3971803ee8ab149488c3b27bcd6b4025
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/camera.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chart-bar-square.svg b/priv/hero_icons/optimized/20/solid/chart-bar-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6d5b976877313cbfb0dca540ace97629b505dc34
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chart-bar-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chart-bar.svg b/priv/hero_icons/optimized/20/solid/chart-bar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c496112a142e20400c659e7261738f504c2db299
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chart-bar.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chart-pie.svg b/priv/hero_icons/optimized/20/solid/chart-pie.svg
new file mode 100644
index 0000000000000000000000000000000000000000..37d18c9af6a249c684c84aaf255e6f0109a3b4fe
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chart-pie.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chat-bubble-bottom-center-text.svg b/priv/hero_icons/optimized/20/solid/chat-bubble-bottom-center-text.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fee91bec27b6a94b1f6f4d751dc7cd6e6e0aac54
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chat-bubble-bottom-center-text.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chat-bubble-bottom-center.svg b/priv/hero_icons/optimized/20/solid/chat-bubble-bottom-center.svg
new file mode 100644
index 0000000000000000000000000000000000000000..24de840b5f0810d0001f5bd54ea3ed83af3da61e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chat-bubble-bottom-center.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chat-bubble-left-ellipsis.svg b/priv/hero_icons/optimized/20/solid/chat-bubble-left-ellipsis.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7e2b06cd17ae3e01ff926511dc19aff22859952a
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chat-bubble-left-ellipsis.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chat-bubble-left-right.svg b/priv/hero_icons/optimized/20/solid/chat-bubble-left-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fceca7fbb5c9b06f555b1fedcb618a273c64c173
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chat-bubble-left-right.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chat-bubble-left.svg b/priv/hero_icons/optimized/20/solid/chat-bubble-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cd706f943f919e4170668af479df282573838f56
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chat-bubble-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chat-bubble-oval-left-ellipsis.svg b/priv/hero_icons/optimized/20/solid/chat-bubble-oval-left-ellipsis.svg
new file mode 100644
index 0000000000000000000000000000000000000000..88d9c32fd613bb1b7320fe7d8f855ee50534a8d2
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chat-bubble-oval-left-ellipsis.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chat-bubble-oval-left.svg b/priv/hero_icons/optimized/20/solid/chat-bubble-oval-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f3b3883f2ac3b84c4515516782290e3d487999bc
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chat-bubble-oval-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/check-badge.svg b/priv/hero_icons/optimized/20/solid/check-badge.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b13190c1f25bd11b7a60c152f96ebd825a9aba21
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/check-badge.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/check-circle.svg b/priv/hero_icons/optimized/20/solid/check-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..dbbc90576a7dc659b7c1dc0d01888189f9c6db62
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/check-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/check.svg b/priv/hero_icons/optimized/20/solid/check.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d1956aa49e0555cfe328105bcb6e9f501069d606
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/check.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chevron-double-down.svg b/priv/hero_icons/optimized/20/solid/chevron-double-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3c65193235853c4762722287ea73d8985074b1af
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chevron-double-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chevron-double-left.svg b/priv/hero_icons/optimized/20/solid/chevron-double-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a41e615957641ac1301e6b7bac599ccb956930a8
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chevron-double-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chevron-double-right.svg b/priv/hero_icons/optimized/20/solid/chevron-double-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d78c9326c5299719fb1022c04565970e38420a80
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chevron-double-right.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chevron-double-up.svg b/priv/hero_icons/optimized/20/solid/chevron-double-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f7ac6684b1e86ce6d19cc3ac1511cb65e6e20700
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chevron-double-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chevron-down.svg b/priv/hero_icons/optimized/20/solid/chevron-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6b63dfb557980be2b2cc418a0f04ca3c6bebdba0
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chevron-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chevron-left.svg b/priv/hero_icons/optimized/20/solid/chevron-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b484a40e27e874a9d70a8ae47d0a3ef5758770d5
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chevron-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chevron-right.svg b/priv/hero_icons/optimized/20/solid/chevron-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9ce3745959a5f6238ab28efac88fc6ceeb381645
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chevron-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chevron-up-down.svg b/priv/hero_icons/optimized/20/solid/chevron-up-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2499bb1fae53464491b764592a65009470d6bda9
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chevron-up-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/chevron-up.svg b/priv/hero_icons/optimized/20/solid/chevron-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8aaaa1f7c17a04818b45faa19a62e17ad525a0a9
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/chevron-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/circle-stack.svg b/priv/hero_icons/optimized/20/solid/circle-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fae20900eab56480a58cb3f6a1745379d094c99e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/circle-stack.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/clipboard-document-check.svg b/priv/hero_icons/optimized/20/solid/clipboard-document-check.svg
new file mode 100644
index 0000000000000000000000000000000000000000..24470123f0b3c9902dfebb6b15972956b3f32dee
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/clipboard-document-check.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/clipboard-document-list.svg b/priv/hero_icons/optimized/20/solid/clipboard-document-list.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a78b24cbbc506dd582d5d7571f5110d1a50c5876
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/clipboard-document-list.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/clipboard-document.svg b/priv/hero_icons/optimized/20/solid/clipboard-document.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f29a433687b3d208ce662924e5561feb9e042f11
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/clipboard-document.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/clipboard.svg b/priv/hero_icons/optimized/20/solid/clipboard.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3b2a7ff2e98f82fbdbfcc6940a94a79be47f813d
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/clipboard.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/clock.svg b/priv/hero_icons/optimized/20/solid/clock.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d72dd622f0d03b6a69908c68f1f3faa6d6912577
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/clock.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/cloud-arrow-down.svg b/priv/hero_icons/optimized/20/solid/cloud-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cb32c04eae9f2f91065a5e993f72ee659438ba81
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/cloud-arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/cloud-arrow-up.svg b/priv/hero_icons/optimized/20/solid/cloud-arrow-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..06b2c4ad415a48eff26db925326596d2715ceac3
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/cloud-arrow-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/cloud.svg b/priv/hero_icons/optimized/20/solid/cloud.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c5eb0c883bf7942937fb9eee5a8e5aba56bfe154
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/cloud.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/code-bracket-square.svg b/priv/hero_icons/optimized/20/solid/code-bracket-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e4e353074710a95361e97d3fd9e8d2c4f9241557
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/code-bracket-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/code-bracket.svg b/priv/hero_icons/optimized/20/solid/code-bracket.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4adfd32fb561b3ff3b334e2027af966f42041c7c
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/code-bracket.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/cog-6-tooth.svg b/priv/hero_icons/optimized/20/solid/cog-6-tooth.svg
new file mode 100644
index 0000000000000000000000000000000000000000..435032f46b2b6fc0e0e070f27f58c8dbc3051088
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/cog-6-tooth.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/cog-8-tooth.svg b/priv/hero_icons/optimized/20/solid/cog-8-tooth.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0450feb1fd361bb1fd1036a952d4bb797e1033f7
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/cog-8-tooth.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/cog.svg b/priv/hero_icons/optimized/20/solid/cog.svg
new file mode 100644
index 0000000000000000000000000000000000000000..10f43b589bf666ebfaea89a7f23d1ae792a0c24a
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/cog.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/command-line.svg b/priv/hero_icons/optimized/20/solid/command-line.svg
new file mode 100644
index 0000000000000000000000000000000000000000..59cf34c9d81a917567f423accfae31661485145d
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/command-line.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/computer-desktop.svg b/priv/hero_icons/optimized/20/solid/computer-desktop.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4eeac1bd942fd21544be5eb34ffd1c5f34bba882
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/computer-desktop.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/cpu-chip.svg b/priv/hero_icons/optimized/20/solid/cpu-chip.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f7c49b417970eda53a572634d185d49a8aa94e22
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/cpu-chip.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/credit-card.svg b/priv/hero_icons/optimized/20/solid/credit-card.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d650fea616809df2c8e3d67bf6cee17722173cf2
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/credit-card.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/cube-transparent.svg b/priv/hero_icons/optimized/20/solid/cube-transparent.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bfe9daee3acf5d7ffc2918e3a399a43850f35034
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/cube-transparent.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/cube.svg b/priv/hero_icons/optimized/20/solid/cube.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c3436edd044d462d6bbf9a4b8f4268f1b879d664
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/cube.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/currency-bangladeshi.svg b/priv/hero_icons/optimized/20/solid/currency-bangladeshi.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2a27260391b92b9f4cf4894a651d8f6c25487d63
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/currency-bangladeshi.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/currency-dollar.svg b/priv/hero_icons/optimized/20/solid/currency-dollar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1b00de7d53843a1c627695b1d50cfe8d9843fff0
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/currency-dollar.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/currency-euro.svg b/priv/hero_icons/optimized/20/solid/currency-euro.svg
new file mode 100644
index 0000000000000000000000000000000000000000..43fda8e55127ecdbf26347369610442da652150e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/currency-euro.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/currency-pound.svg b/priv/hero_icons/optimized/20/solid/currency-pound.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9bc57fe34b02b5e61b3887a0ea85a9cc7fc619a9
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/currency-pound.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/currency-rupee.svg b/priv/hero_icons/optimized/20/solid/currency-rupee.svg
new file mode 100644
index 0000000000000000000000000000000000000000..67da528d7fa0063ce2d59e0b92947a24c4f1b0bf
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/currency-rupee.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/currency-yen.svg b/priv/hero_icons/optimized/20/solid/currency-yen.svg
new file mode 100644
index 0000000000000000000000000000000000000000..68fca067422ef4cad3f5606ceb04455997881e8b
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/currency-yen.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/cursor-arrow-rays.svg b/priv/hero_icons/optimized/20/solid/cursor-arrow-rays.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d2d36a78763f0909c98145b40bd391e175a009cf
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/cursor-arrow-rays.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/cursor-arrow-ripple.svg b/priv/hero_icons/optimized/20/solid/cursor-arrow-ripple.svg
new file mode 100644
index 0000000000000000000000000000000000000000..89ccfda49651e1c2a5f4ec6c509edd846da22593
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/cursor-arrow-ripple.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/device-phone-mobile.svg b/priv/hero_icons/optimized/20/solid/device-phone-mobile.svg
new file mode 100644
index 0000000000000000000000000000000000000000..68fac4fd48c8b8f83b2d34c5c983f625e58ba037
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/device-phone-mobile.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/device-tablet.svg b/priv/hero_icons/optimized/20/solid/device-tablet.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2490e1f0f018885302e8e580f7fa1de3141a5963
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/device-tablet.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/document-arrow-down.svg b/priv/hero_icons/optimized/20/solid/document-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a51461d86fd2881134cec10d3b8facc3dc667601
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/document-arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/document-arrow-up.svg b/priv/hero_icons/optimized/20/solid/document-arrow-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d55aacdb02af3d01b3cf43d88cd407307fc3c2eb
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/document-arrow-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/document-chart-bar.svg b/priv/hero_icons/optimized/20/solid/document-chart-bar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8d5f60a7a338477f898bf35f55f81b8b96981cde
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/document-chart-bar.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/document-check.svg b/priv/hero_icons/optimized/20/solid/document-check.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b28da1474cbe41d6a9fcdf382574c40800b8f3fd
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/document-check.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/document-duplicate.svg b/priv/hero_icons/optimized/20/solid/document-duplicate.svg
new file mode 100644
index 0000000000000000000000000000000000000000..64768cfd6c346d66a3d8d70d362a26c1a62af9a6
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/document-duplicate.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/document-magnifying-glass.svg b/priv/hero_icons/optimized/20/solid/document-magnifying-glass.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0dc8ebaf87ce5953bb8112a0e62d1fa773a95dbf
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/document-magnifying-glass.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/document-minus.svg b/priv/hero_icons/optimized/20/solid/document-minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bf7af06557207ee93bd0ddb061a38f9b5f3ee09a
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/document-minus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/document-plus.svg b/priv/hero_icons/optimized/20/solid/document-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..133cc82b4e363712365dc0d23724fa092e9c9e37
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/document-plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/document-text.svg b/priv/hero_icons/optimized/20/solid/document-text.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f7d91ba7b15239a9ccd2ec74a50bf26d4624cf1e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/document-text.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/document.svg b/priv/hero_icons/optimized/20/solid/document.svg
new file mode 100644
index 0000000000000000000000000000000000000000..aa7070c81a4cbb5b6c1acb9d7926cfd0fb4044e4
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/document.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/ellipsis-horizontal-circle.svg b/priv/hero_icons/optimized/20/solid/ellipsis-horizontal-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..799cf88d87023c8270b95277d2cdb8f496d1f2a1
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/ellipsis-horizontal-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/ellipsis-horizontal.svg b/priv/hero_icons/optimized/20/solid/ellipsis-horizontal.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a82211c6f863ea3297d256b4ae251e047a60caa8
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/ellipsis-horizontal.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/ellipsis-vertical.svg b/priv/hero_icons/optimized/20/solid/ellipsis-vertical.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ac9c83f66990f9c13fc3d0fdaee6ff9e6adabe70
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/ellipsis-vertical.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/envelope-open.svg b/priv/hero_icons/optimized/20/solid/envelope-open.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a60035bc49b378aab4f175c75aa7d07c987e2f9b
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/envelope-open.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/envelope.svg b/priv/hero_icons/optimized/20/solid/envelope.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b582b8f6331a129cfb65298199838f06bf5e6361
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/envelope.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/exclamation-circle.svg b/priv/hero_icons/optimized/20/solid/exclamation-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3cf5b59622a70c298decee6cbd4c256ec61f3792
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/exclamation-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/exclamation-triangle.svg b/priv/hero_icons/optimized/20/solid/exclamation-triangle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a6cc02fd2e5c1eafffc4d53053408bdbbb361db7
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/exclamation-triangle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/eye-dropper.svg b/priv/hero_icons/optimized/20/solid/eye-dropper.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cce08330900e9033dd1471294422e7df36a3040b
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/eye-dropper.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/eye-slash.svg b/priv/hero_icons/optimized/20/solid/eye-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cc2e222538e0a62359d842eb6ada6373f29b8f7c
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/eye-slash.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/eye.svg b/priv/hero_icons/optimized/20/solid/eye.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b17cec9d7862dc9d0c074f929b2b07c598044a21
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/eye.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/face-frown.svg b/priv/hero_icons/optimized/20/solid/face-frown.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8cbb3b32ca2a208ab5f0f49b674231b63439912d
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/face-frown.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/face-smile.svg b/priv/hero_icons/optimized/20/solid/face-smile.svg
new file mode 100644
index 0000000000000000000000000000000000000000..434c83e618f8c39a6f0890524767212ab3f7dbcd
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/face-smile.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/film.svg b/priv/hero_icons/optimized/20/solid/film.svg
new file mode 100644
index 0000000000000000000000000000000000000000..95734456cecd741f197909246ee21d5a13adfd6a
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/film.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/finger-print.svg b/priv/hero_icons/optimized/20/solid/finger-print.svg
new file mode 100644
index 0000000000000000000000000000000000000000..409d67e4eee515798409c751ebb820c09c41490c
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/finger-print.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/fire.svg b/priv/hero_icons/optimized/20/solid/fire.svg
new file mode 100644
index 0000000000000000000000000000000000000000..88fb85ed93c5b225c14d4f632014bc2ca3031b57
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/fire.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/flag.svg b/priv/hero_icons/optimized/20/solid/flag.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b790f05e38d90458fc4def47551739653e34a88d
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/flag.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/folder-arrow-down.svg b/priv/hero_icons/optimized/20/solid/folder-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4c2a9152fca696894934ab42c7b9673a8c909846
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/folder-arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/folder-minus.svg b/priv/hero_icons/optimized/20/solid/folder-minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..248388b37acacaec34e45c469833f942053e354d
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/folder-minus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/folder-open.svg b/priv/hero_icons/optimized/20/solid/folder-open.svg
new file mode 100644
index 0000000000000000000000000000000000000000..79d245ed3db171bd6778b9d3a7f380f7f4b44402
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/folder-open.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/folder-plus.svg b/priv/hero_icons/optimized/20/solid/folder-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0780a546eba5e434d14e81433bfa10f6f36bbf97
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/folder-plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/folder.svg b/priv/hero_icons/optimized/20/solid/folder.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c92e0fff2a1d22a5a68d6f7dcd61b4f9cda08000
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/folder.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/forward.svg b/priv/hero_icons/optimized/20/solid/forward.svg
new file mode 100644
index 0000000000000000000000000000000000000000..11fd161ef63be72de523cd31c8191e46d0676040
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/forward.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/funnel.svg b/priv/hero_icons/optimized/20/solid/funnel.svg
new file mode 100644
index 0000000000000000000000000000000000000000..af3078fb9e2e90b274a118c632cea242de9b94cc
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/funnel.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/gif.svg b/priv/hero_icons/optimized/20/solid/gif.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ff1cd387bc1e34b0d6ac9e4e24f1cc82eae137f7
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/gif.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/gift-top.svg b/priv/hero_icons/optimized/20/solid/gift-top.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d650d040577903b61512524b04e70331183bcd5b
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/gift-top.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/gift.svg b/priv/hero_icons/optimized/20/solid/gift.svg
new file mode 100644
index 0000000000000000000000000000000000000000..90362ab55a0f269ad57528497c4c64200294b269
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/gift.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/globe-alt.svg b/priv/hero_icons/optimized/20/solid/globe-alt.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c8ff599d079bb59369ef0d30e5e8fc13a6618fcc
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/globe-alt.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/globe-americas.svg b/priv/hero_icons/optimized/20/solid/globe-americas.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7de87237387e49d3362ff52f6251ca62bb677a98
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/globe-americas.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/globe-asia-australia.svg b/priv/hero_icons/optimized/20/solid/globe-asia-australia.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b3da4dd29c96549a6965858ea5e957290b62098b
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/globe-asia-australia.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/globe-europe-africa.svg b/priv/hero_icons/optimized/20/solid/globe-europe-africa.svg
new file mode 100644
index 0000000000000000000000000000000000000000..92db1e13c4a016c378e839b36ccae673d4d7289c
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/globe-europe-africa.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/hand-raised.svg b/priv/hero_icons/optimized/20/solid/hand-raised.svg
new file mode 100644
index 0000000000000000000000000000000000000000..caa27db98d6ba0e289e4c670c813b0443ab35c16
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/hand-raised.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/hand-thumb-down.svg b/priv/hero_icons/optimized/20/solid/hand-thumb-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..06ffbe05eb80c9549f699bf65ccabfbdc83db99e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/hand-thumb-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/hand-thumb-up.svg b/priv/hero_icons/optimized/20/solid/hand-thumb-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3d67d984822e5c951cf2791bf33d79625c309611
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/hand-thumb-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/hashtag.svg b/priv/hero_icons/optimized/20/solid/hashtag.svg
new file mode 100644
index 0000000000000000000000000000000000000000..29c9f106481c0b40dfa44587e55c9516e22a598a
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/hashtag.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/heart.svg b/priv/hero_icons/optimized/20/solid/heart.svg
new file mode 100644
index 0000000000000000000000000000000000000000..96e63d9249115662d222aea43234b5d914264dd8
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/heart.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/home-modern.svg b/priv/hero_icons/optimized/20/solid/home-modern.svg
new file mode 100644
index 0000000000000000000000000000000000000000..95033a38c83d3838af4176ff4145e1d243b74055
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/home-modern.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/home.svg b/priv/hero_icons/optimized/20/solid/home.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ae2acdc9f3f53445f406de040a4c64518a095c83
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/home.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/identification.svg b/priv/hero_icons/optimized/20/solid/identification.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7a8338c60270cee09f4824b3da22fcbf4bdd5e20
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/identification.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/inbox-arrow-down.svg b/priv/hero_icons/optimized/20/solid/inbox-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..37f464ebc181900e00bab9fa3911f8b16c268f9c
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/inbox-arrow-down.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/inbox-stack.svg b/priv/hero_icons/optimized/20/solid/inbox-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b8f22d16976a64ab4c28ba1983b41a1ccd08053a
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/inbox-stack.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/inbox.svg b/priv/hero_icons/optimized/20/solid/inbox.svg
new file mode 100644
index 0000000000000000000000000000000000000000..87ae30d0d0ba7bcc56a10f8451dd243b5a2ceeb1
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/inbox.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/information-circle.svg b/priv/hero_icons/optimized/20/solid/information-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..25ac64489f83deadb1096e35f170feeb2fcad14d
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/information-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/key.svg b/priv/hero_icons/optimized/20/solid/key.svg
new file mode 100644
index 0000000000000000000000000000000000000000..97e8ad8cac7b90cd0df632bc952bf5229216a858
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/key.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/language.svg b/priv/hero_icons/optimized/20/solid/language.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e7524be19ad7bb00c097fd6bb556b338155474b5
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/language.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/lifebuoy.svg b/priv/hero_icons/optimized/20/solid/lifebuoy.svg
new file mode 100644
index 0000000000000000000000000000000000000000..79134c1a06af4b1a59b3b1b7508807bfbb0d84a8
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/lifebuoy.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/light-bulb.svg b/priv/hero_icons/optimized/20/solid/light-bulb.svg
new file mode 100644
index 0000000000000000000000000000000000000000..415e3749cee37c22ba5c5fee1d32d6d273f14d42
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/light-bulb.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/link.svg b/priv/hero_icons/optimized/20/solid/link.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e8204136fe9b0f983689631c8d17a75bf29dfc2e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/link.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/list-bullet.svg b/priv/hero_icons/optimized/20/solid/list-bullet.svg
new file mode 100644
index 0000000000000000000000000000000000000000..36379340600b3d799a3059d831316b71a3136581
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/list-bullet.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/lock-closed.svg b/priv/hero_icons/optimized/20/solid/lock-closed.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e7e1dc1d729b5e3eabf6ca08b5cf54a0d946aec3
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/lock-closed.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/lock-open.svg b/priv/hero_icons/optimized/20/solid/lock-open.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2ac4b148852f15b8348c0722294ab6e7b8c29065
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/lock-open.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/magnifying-glass-circle.svg b/priv/hero_icons/optimized/20/solid/magnifying-glass-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e025769e8200a017d8c8f151e6e24195a6bf02c2
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/magnifying-glass-circle.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/magnifying-glass-minus.svg b/priv/hero_icons/optimized/20/solid/magnifying-glass-minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a8fb7a27d40f4e7f67db2dbf12ff22861b1d9093
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/magnifying-glass-minus.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/magnifying-glass-plus.svg b/priv/hero_icons/optimized/20/solid/magnifying-glass-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e55fc4c3a2bb407e6892ea33288cd75565056a57
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/magnifying-glass-plus.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/magnifying-glass.svg b/priv/hero_icons/optimized/20/solid/magnifying-glass.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d90520a6a7da79a06696a8284549bb7e0e2c2001
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/magnifying-glass.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/map-pin.svg b/priv/hero_icons/optimized/20/solid/map-pin.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7adc8a919e9753ee60c744f2e387ca583b87249a
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/map-pin.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/map.svg b/priv/hero_icons/optimized/20/solid/map.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7e25c7be09a6523aab02f39faf6e0af7f4b19d45
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/map.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/megaphone.svg b/priv/hero_icons/optimized/20/solid/megaphone.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cf7378532b5070424583c1e44952f9f803b32b0e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/megaphone.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/microphone.svg b/priv/hero_icons/optimized/20/solid/microphone.svg
new file mode 100644
index 0000000000000000000000000000000000000000..635ded0d4073fe65eb64afd7793dfe483f0ceb57
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/microphone.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/minus-circle.svg b/priv/hero_icons/optimized/20/solid/minus-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5c361e2ac73f2a0296468256ad946d8a6e2f1127
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/minus-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/minus-small.svg b/priv/hero_icons/optimized/20/solid/minus-small.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4e041d3e24373c00641d82e616ab37ec1a5eb178
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/minus-small.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/minus.svg b/priv/hero_icons/optimized/20/solid/minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6d8dd243a18bc33b7802fe455d31e6ed15972c1c
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/minus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/moon.svg b/priv/hero_icons/optimized/20/solid/moon.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b5921106d447433face7154357958311aeffd559
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/moon.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/musical-note.svg b/priv/hero_icons/optimized/20/solid/musical-note.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c7f0aa866993d8ba2e560a794574deeb93c17d03
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/musical-note.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/newspaper.svg b/priv/hero_icons/optimized/20/solid/newspaper.svg
new file mode 100644
index 0000000000000000000000000000000000000000..be785e3821bb2982583ee20f8051bf81f383235e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/newspaper.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/no-symbol.svg b/priv/hero_icons/optimized/20/solid/no-symbol.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8463da2b4cefd973e75e96533fbd7aaae030e58f
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/no-symbol.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/paint-brush.svg b/priv/hero_icons/optimized/20/solid/paint-brush.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c2db8c018aa836adbf6cdd51f0cda1649627a46e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/paint-brush.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/paper-airplane.svg b/priv/hero_icons/optimized/20/solid/paper-airplane.svg
new file mode 100644
index 0000000000000000000000000000000000000000..35315adb861212a957b78b1b2274280b445f7de0
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/paper-airplane.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/paper-clip.svg b/priv/hero_icons/optimized/20/solid/paper-clip.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b38155ea01e4bf02cd232621915afb8dbdc4b877
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/paper-clip.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/pause-circle.svg b/priv/hero_icons/optimized/20/solid/pause-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..732530a1cb1aa6de4d649bc5df1c64c5e459a6d9
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/pause-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/pause.svg b/priv/hero_icons/optimized/20/solid/pause.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b6544ba2eca0ad9feaa064d4a6c6773dc6ba8754
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/pause.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/pencil-square.svg b/priv/hero_icons/optimized/20/solid/pencil-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..129ee44d44fd179687e178bef97cbf24f0fcb699
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/pencil-square.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/pencil.svg b/priv/hero_icons/optimized/20/solid/pencil.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fa5049837687938e08c971b9a742c39521b232eb
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/pencil.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/phone-arrow-down-left.svg b/priv/hero_icons/optimized/20/solid/phone-arrow-down-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..feeb6366cb3f7f24fbed3d85e315085c055d211e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/phone-arrow-down-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/phone-arrow-up-right.svg b/priv/hero_icons/optimized/20/solid/phone-arrow-up-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e1d9331074b7fa2fd307b04d39ea3c87bb378e0c
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/phone-arrow-up-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/phone-x-mark.svg b/priv/hero_icons/optimized/20/solid/phone-x-mark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6f1fd361b0f1ce45ae058849d6643080781e1c45
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/phone-x-mark.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/phone.svg b/priv/hero_icons/optimized/20/solid/phone.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5fd57fcf3abe52713e465eb53a63923603d324b6
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/phone.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/photo.svg b/priv/hero_icons/optimized/20/solid/photo.svg
new file mode 100644
index 0000000000000000000000000000000000000000..db063d33ef74d4dc488878512d6446296ae516b7
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/photo.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/play-circle.svg b/priv/hero_icons/optimized/20/solid/play-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d1587b771bc00ecd9e2da497570d891ed6e2afe6
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/play-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/play-pause.svg b/priv/hero_icons/optimized/20/solid/play-pause.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cdfa63b22e5412d45545c8469376d4922da94fb6
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/play-pause.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/play.svg b/priv/hero_icons/optimized/20/solid/play.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2cd53e17a78ef50aecd3c09b44239cf96d708c14
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/play.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/plus-circle.svg b/priv/hero_icons/optimized/20/solid/plus-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3925a14f0eb5065c72af5f2858d9b875aa079492
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/plus-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/plus-small.svg b/priv/hero_icons/optimized/20/solid/plus-small.svg
new file mode 100644
index 0000000000000000000000000000000000000000..eb22598443a42c390b5a903b40d6df48b9a57d94
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/plus-small.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/plus.svg b/priv/hero_icons/optimized/20/solid/plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..218ab936649daf74fd6409e854c6c966f9a68fc8
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/power.svg b/priv/hero_icons/optimized/20/solid/power.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1603820628978efacc1d99286160b33552a977e7
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/power.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/presentation-chart-bar.svg b/priv/hero_icons/optimized/20/solid/presentation-chart-bar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e1a4242b12f53f89a8209a85f2df9628c24afc36
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/presentation-chart-bar.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/presentation-chart-line.svg b/priv/hero_icons/optimized/20/solid/presentation-chart-line.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2e9281fc06b22d8de7c468c1c12c88111de9db70
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/presentation-chart-line.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/printer.svg b/priv/hero_icons/optimized/20/solid/printer.svg
new file mode 100644
index 0000000000000000000000000000000000000000..81d93dc2a182dfbb3467289b47feec046e370163
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/printer.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/puzzle-piece.svg b/priv/hero_icons/optimized/20/solid/puzzle-piece.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e5329e52d2b04fd92ef96e02320f5705f02b1cb9
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/puzzle-piece.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/qr-code.svg b/priv/hero_icons/optimized/20/solid/qr-code.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d5daf2a9752065dc2b074f232ece776fbadba7de
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/qr-code.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/question-mark-circle.svg b/priv/hero_icons/optimized/20/solid/question-mark-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..893dab55585fc25c03ee272d62af6a504f83a824
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/question-mark-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/queue-list.svg b/priv/hero_icons/optimized/20/solid/queue-list.svg
new file mode 100644
index 0000000000000000000000000000000000000000..91f5b5732e697560243b9930c39a2012e9399686
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/queue-list.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/radio.svg b/priv/hero_icons/optimized/20/solid/radio.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9a12c8b7f204680680cba251d59ba1cd7f458465
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/radio.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/receipt-percent.svg b/priv/hero_icons/optimized/20/solid/receipt-percent.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1a8f2544fcc557ab582069dc0541c7b43ce0ad06
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/receipt-percent.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/receipt-refund.svg b/priv/hero_icons/optimized/20/solid/receipt-refund.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a134c56cbe3dc992b03b488b9b498e5322ce5e09
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/receipt-refund.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/rectangle-group.svg b/priv/hero_icons/optimized/20/solid/rectangle-group.svg
new file mode 100644
index 0000000000000000000000000000000000000000..599d5f4b6c2748e58c64b3dc648c0d201392528c
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/rectangle-group.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/rectangle-stack.svg b/priv/hero_icons/optimized/20/solid/rectangle-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..94b56547fed5e14a21be92443c24936e6a236e78
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/rectangle-stack.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/rocket-launch.svg b/priv/hero_icons/optimized/20/solid/rocket-launch.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b97e89ed7e375a3ef43491fedfa76fb017ec2d7a
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/rocket-launch.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/rss.svg b/priv/hero_icons/optimized/20/solid/rss.svg
new file mode 100644
index 0000000000000000000000000000000000000000..538ae9aade219455dc7bbe38c4d00fa005381881
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/rss.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/scale.svg b/priv/hero_icons/optimized/20/solid/scale.svg
new file mode 100644
index 0000000000000000000000000000000000000000..60b0ed93b8b1a68eba8691be798534c674ab326b
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/scale.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/scissors.svg b/priv/hero_icons/optimized/20/solid/scissors.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3122658b5a920b7273a8b3082babb0ce42195d23
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/scissors.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/server-stack.svg b/priv/hero_icons/optimized/20/solid/server-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2247dbe8469c9f4aea5d80fe3a7836c5098f94c0
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/server-stack.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/server.svg b/priv/hero_icons/optimized/20/solid/server.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6c8899ba4dc054409016639c0e0045058f5f52b3
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/server.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/share.svg b/priv/hero_icons/optimized/20/solid/share.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e5aafee5e61d9691afba1bb9e28a683f23760a33
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/share.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/shield-check.svg b/priv/hero_icons/optimized/20/solid/shield-check.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a8572d4ac98dd8a57e3faec0577417a6d47012f1
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/shield-check.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/shield-exclamation.svg b/priv/hero_icons/optimized/20/solid/shield-exclamation.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8562de40df05427e43c1d6aefd873fc2967ccc40
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/shield-exclamation.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/shopping-bag.svg b/priv/hero_icons/optimized/20/solid/shopping-bag.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e70c815db173361f9460906597d5ca26ddb96cf7
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/shopping-bag.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/shopping-cart.svg b/priv/hero_icons/optimized/20/solid/shopping-cart.svg
new file mode 100644
index 0000000000000000000000000000000000000000..855a631e459c2eec28801c057a345796ca387f68
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/shopping-cart.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/signal-slash.svg b/priv/hero_icons/optimized/20/solid/signal-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..822179a149b72b7c6e1a6ed207ea1c8bfd4dfa48
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/signal-slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/signal.svg b/priv/hero_icons/optimized/20/solid/signal.svg
new file mode 100644
index 0000000000000000000000000000000000000000..75392048300606ea6a19dbb565b59127f5c3f774
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/signal.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/sparkles.svg b/priv/hero_icons/optimized/20/solid/sparkles.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a247c949e1ff185948fbf49676e6b31053724c7f
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/sparkles.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/speaker-wave.svg b/priv/hero_icons/optimized/20/solid/speaker-wave.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2e6b3e0c6d7e4e86599bca0ad982f1ad1e22efaa
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/speaker-wave.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/speaker-x-mark.svg b/priv/hero_icons/optimized/20/solid/speaker-x-mark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0c39f61f71a4bbd78717146f9754b6ad1b0ec1a5
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/speaker-x-mark.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/square-2-stack.svg b/priv/hero_icons/optimized/20/solid/square-2-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..177d43a71da7f0ed7de37c21e7a5f1369afa1475
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/square-2-stack.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/square-3-stack-3d.svg b/priv/hero_icons/optimized/20/solid/square-3-stack-3d.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7d6b44f42d609ec238b79fa7c8fbd67f4df02778
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/square-3-stack-3d.svg
@@ -0,0 +1,5 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/squares-2x2.svg b/priv/hero_icons/optimized/20/solid/squares-2x2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..47c1817399814cae395ebc52a18f0b200c94170a
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/squares-2x2.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/squares-plus.svg b/priv/hero_icons/optimized/20/solid/squares-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..019eb371996d24e5e1606aa637c95ffcc387dca3
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/squares-plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/star.svg b/priv/hero_icons/optimized/20/solid/star.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a8703651d86b3f71e840090d794a33da104656a8
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/star.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/stop-circle.svg b/priv/hero_icons/optimized/20/solid/stop-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9167a6449043cb70dbe23f684c21db02e47e6750
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/stop-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/stop.svg b/priv/hero_icons/optimized/20/solid/stop.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b0e40dbf0a9de69b0093a47276e74e6cc2833db1
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/stop.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/sun.svg b/priv/hero_icons/optimized/20/solid/sun.svg
new file mode 100644
index 0000000000000000000000000000000000000000..449e36c49791d2b3e83be41b1df821c50fed0d6d
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/sun.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/swatch.svg b/priv/hero_icons/optimized/20/solid/swatch.svg
new file mode 100644
index 0000000000000000000000000000000000000000..108954840b69c0b531f2da5f69f23805fa5d2177
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/swatch.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/table-cells.svg b/priv/hero_icons/optimized/20/solid/table-cells.svg
new file mode 100644
index 0000000000000000000000000000000000000000..aa8eacd779c3e8b366e84de8523a3db42e714d02
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/table-cells.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/tag.svg b/priv/hero_icons/optimized/20/solid/tag.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d6c9c8b87b2229b99d7726f4bb143937d3f3d9ad
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/tag.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/ticket.svg b/priv/hero_icons/optimized/20/solid/ticket.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7d04b01e881a589ae255e3743b9d9b0bf3928d60
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/ticket.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/trash.svg b/priv/hero_icons/optimized/20/solid/trash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..16bd5c6385fa6189e41430fa17bcc82d9e0219c6
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/trash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/trophy.svg b/priv/hero_icons/optimized/20/solid/trophy.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e2ebdaff7f9ae55acace5813939fe74db7cd3a4a
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/trophy.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/truck.svg b/priv/hero_icons/optimized/20/solid/truck.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a50085acfe8af37d2fc42d2c40acf0ef7aac37e9
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/truck.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/tv.svg b/priv/hero_icons/optimized/20/solid/tv.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b0c7209e73328778049b435e91c3363ab27b0055
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/tv.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/user-circle.svg b/priv/hero_icons/optimized/20/solid/user-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..abd6c98d31b6e4a3181452190a8028ba6cc7235e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/user-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/user-group.svg b/priv/hero_icons/optimized/20/solid/user-group.svg
new file mode 100644
index 0000000000000000000000000000000000000000..dc83736171d476f3f83c47cfdf3b221278c321ea
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/user-group.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/user-minus.svg b/priv/hero_icons/optimized/20/solid/user-minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b092b774952af83850a9570b59e9892ecf11d0e8
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/user-minus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/user-plus.svg b/priv/hero_icons/optimized/20/solid/user-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..afd596503f81f53d20b6dd0ae7fd98876b53d4d7
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/user-plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/user.svg b/priv/hero_icons/optimized/20/solid/user.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4d9b2ee0b264259b160d2af12e18224c548d3d15
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/user.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/users.svg b/priv/hero_icons/optimized/20/solid/users.svg
new file mode 100644
index 0000000000000000000000000000000000000000..43526a616116c3a23258874f7cf87c140187f4c8
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/users.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/variable.svg b/priv/hero_icons/optimized/20/solid/variable.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3460817ae9d001fc39aacae4575d1f9d7c86c290
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/variable.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/video-camera-slash.svg b/priv/hero_icons/optimized/20/solid/video-camera-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..95b94132a8a38b29cd4f55aaf424de2f00e91ebe
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/video-camera-slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/video-camera.svg b/priv/hero_icons/optimized/20/solid/video-camera.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4d22f16897ac74ff08001aa123fa3a9ca2bade53
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/video-camera.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/view-columns.svg b/priv/hero_icons/optimized/20/solid/view-columns.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1111492e7647056d5bf9908c23d9061f78f65807
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/view-columns.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/viewfinder-circle.svg b/priv/hero_icons/optimized/20/solid/viewfinder-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5cfe9fbbeb476f985086389f8273b726c46b3469
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/viewfinder-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/wallet.svg b/priv/hero_icons/optimized/20/solid/wallet.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6ce8050e94460a6bc351a36c233997162116e92b
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/wallet.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/wifi.svg b/priv/hero_icons/optimized/20/solid/wifi.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f3c7118de7e973d2d9320c34d5c2f0e92ba5a185
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/wifi.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/window.svg b/priv/hero_icons/optimized/20/solid/window.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9110a2b33ee5603bd2d28f3dd95d67ee564aa64e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/window.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/wrench-screwdriver.svg b/priv/hero_icons/optimized/20/solid/wrench-screwdriver.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2ad879f588a2539a45aeb6e06ae4ac293774a5b7
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/wrench-screwdriver.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/wrench.svg b/priv/hero_icons/optimized/20/solid/wrench.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2643e00e41c693d61c82060bca3b926211916d18
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/wrench.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/x-circle.svg b/priv/hero_icons/optimized/20/solid/x-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a660014f74e63d480758a7e211e7eeb71926c037
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/x-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/20/solid/x-mark.svg b/priv/hero_icons/optimized/20/solid/x-mark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0635bacf0280b4c50c004e9978a7858547532c4e
--- /dev/null
+++ b/priv/hero_icons/optimized/20/solid/x-mark.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/academic-cap.svg b/priv/hero_icons/optimized/24/outline/academic-cap.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fc181078e2bddbeaa25370b55b4e0f4ad7bea8f6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/academic-cap.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/adjustments-horizontal.svg b/priv/hero_icons/optimized/24/outline/adjustments-horizontal.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e859e5df13f9055c4044bee468a543e2c35e991f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/adjustments-horizontal.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/adjustments-vertical.svg b/priv/hero_icons/optimized/24/outline/adjustments-vertical.svg
new file mode 100644
index 0000000000000000000000000000000000000000..61538090e4bf7481b0663351b8bde7ce55b42d36
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/adjustments-vertical.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/archive-box-arrow-down.svg b/priv/hero_icons/optimized/24/outline/archive-box-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1a0a8303fc2f506936fd9579315c3eeaf78b8559
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/archive-box-arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/archive-box-x-mark.svg b/priv/hero_icons/optimized/24/outline/archive-box-x-mark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..49bd08792452c5a4b9c7c4fa99bdc94bd5314da9
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/archive-box-x-mark.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/archive-box.svg b/priv/hero_icons/optimized/24/outline/archive-box.svg
new file mode 100644
index 0000000000000000000000000000000000000000..704f35369b18f4527ca0feff3222eb5fdea15c6b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/archive-box.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-down-circle.svg b/priv/hero_icons/optimized/24/outline/arrow-down-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..248b0e857b900454144ed389e514692e912b92c8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-down-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-down-left.svg b/priv/hero_icons/optimized/24/outline/arrow-down-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..262b5ffe89749968b2a249e061000ab954afa863
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-down-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-down-on-square-stack.svg b/priv/hero_icons/optimized/24/outline/arrow-down-on-square-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..42a5b84bd0ef0cdcd462340899851edd91207f68
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-down-on-square-stack.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-down-on-square.svg b/priv/hero_icons/optimized/24/outline/arrow-down-on-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..da1b827f17a4f6305acda64a1df4ec02de9b79a3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-down-on-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-down-right.svg b/priv/hero_icons/optimized/24/outline/arrow-down-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9cc7a30f05fbdf2dc9002e49942cdf575bc2ddb3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-down-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-down-tray.svg b/priv/hero_icons/optimized/24/outline/arrow-down-tray.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a77546c8152d7334bd27978cf1c29c7929ff99fa
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-down-tray.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-down.svg b/priv/hero_icons/optimized/24/outline/arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b5b04fd1e9ea37d941764bf5e12feebf1c9c0e32
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-left-circle.svg b/priv/hero_icons/optimized/24/outline/arrow-left-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..849cc5f2deb877817d01c29e1ed3913ce9e514cc
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-left-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-left-on-rectangle.svg b/priv/hero_icons/optimized/24/outline/arrow-left-on-rectangle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0d6a3cce01ec2620c2d2ad13e7128bca91de7e73
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-left-on-rectangle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-left.svg b/priv/hero_icons/optimized/24/outline/arrow-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..49f15d4a178e893dfaab2c6bd972b88fc52135d2
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-long-down.svg b/priv/hero_icons/optimized/24/outline/arrow-long-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..eb7a92b5ebf412c27e3d7bb60306a8e63d8a1194
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-long-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-long-left.svg b/priv/hero_icons/optimized/24/outline/arrow-long-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d3e90057aa0e0f44c55a593a2ee65fc95938b557
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-long-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-long-right.svg b/priv/hero_icons/optimized/24/outline/arrow-long-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..413d6b55d280b8435d9282af93ddfec84ff92d9f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-long-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-long-up.svg b/priv/hero_icons/optimized/24/outline/arrow-long-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fb029f4411d8882d1ed3639c9da0aab1bc5355e3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-long-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-path-rounded-square.svg b/priv/hero_icons/optimized/24/outline/arrow-path-rounded-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0cfe39e3384c7c8e262b560dc6b5753bd909dfd0
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-path-rounded-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-path.svg b/priv/hero_icons/optimized/24/outline/arrow-path.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7da4fd2ce12a9a22da52ff5fc4ed7668189e5711
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-path.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-right-circle.svg b/priv/hero_icons/optimized/24/outline/arrow-right-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e7bcb80f28ad9c091c0abdfe9d12dc0fe4a8619b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-right-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-right-on-rectangle.svg b/priv/hero_icons/optimized/24/outline/arrow-right-on-rectangle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2b49becb39b2b1f59561f43ea4a49281de35abc0
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-right-on-rectangle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-right.svg b/priv/hero_icons/optimized/24/outline/arrow-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8527a52fe614b16dab3fe963c7d073e8f0f33499
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-small-down.svg b/priv/hero_icons/optimized/24/outline/arrow-small-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1f1a210ed5868bb115bd117f86cd62e120d4db6d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-small-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-small-left.svg b/priv/hero_icons/optimized/24/outline/arrow-small-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..778cb1727734c5763d90a01e12e49809389bb3eb
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-small-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-small-right.svg b/priv/hero_icons/optimized/24/outline/arrow-small-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1b5fc6451d537276c11f4f5a8e99caf1a590286e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-small-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-small-up.svg b/priv/hero_icons/optimized/24/outline/arrow-small-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4ed197eae1f7f65c662af946f6cbc1f1e6d9f17c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-small-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-top-right-on-square.svg b/priv/hero_icons/optimized/24/outline/arrow-top-right-on-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c4a9239cbb1b3379a1c562d58f0fb4ef8f08cef9
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-top-right-on-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-trending-down.svg b/priv/hero_icons/optimized/24/outline/arrow-trending-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..aebbb1812c6ee2a3d09cbff4515e7bd7997bdba8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-trending-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-trending-up.svg b/priv/hero_icons/optimized/24/outline/arrow-trending-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..868f3d3bdec50c5dbf258cd862235fd518bf1fa0
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-trending-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-up-circle.svg b/priv/hero_icons/optimized/24/outline/arrow-up-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..51340d6abb90d360e5a4c4163cc3fe74a787d333
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-up-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-up-left.svg b/priv/hero_icons/optimized/24/outline/arrow-up-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ba4e54e237ed31ed982145dee419c3f78a4b5ea7
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-up-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-up-on-square-stack.svg b/priv/hero_icons/optimized/24/outline/arrow-up-on-square-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0d4d823652e789cc32515c67d5d9ae295c219348
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-up-on-square-stack.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-up-on-square.svg b/priv/hero_icons/optimized/24/outline/arrow-up-on-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2c38ea01ba93a2114c711d8dd7d219e4b0b75f11
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-up-on-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-up-right.svg b/priv/hero_icons/optimized/24/outline/arrow-up-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0b7a372761d2bd29291fc3e33bc08d8a4785784c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-up-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-up-tray.svg b/priv/hero_icons/optimized/24/outline/arrow-up-tray.svg
new file mode 100644
index 0000000000000000000000000000000000000000..448b853ea7f812d0d9bf57731a5ba295a7d7db88
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-up-tray.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-up.svg b/priv/hero_icons/optimized/24/outline/arrow-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e2696241b1e9a6ce9502b19a4c8828cdfb90a5b8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-uturn-down.svg b/priv/hero_icons/optimized/24/outline/arrow-uturn-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..51f99291e19d49e6498121f6b494c88e00d4abe7
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-uturn-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-uturn-left.svg b/priv/hero_icons/optimized/24/outline/arrow-uturn-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b8f240edca60f5f3f090917c00b290c5f1934ea1
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-uturn-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-uturn-right.svg b/priv/hero_icons/optimized/24/outline/arrow-uturn-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ece509190af9ebbaa06ad9561ca74752c7025a4a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-uturn-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrow-uturn-up.svg b/priv/hero_icons/optimized/24/outline/arrow-uturn-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b76c54b14d4db48f7202419ea5aec71f2e15a5dd
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrow-uturn-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrows-pointing-in.svg b/priv/hero_icons/optimized/24/outline/arrows-pointing-in.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0a8872d7d7e4959284d6fbb835bb7e56a4c77f96
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrows-pointing-in.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrows-pointing-out.svg b/priv/hero_icons/optimized/24/outline/arrows-pointing-out.svg
new file mode 100644
index 0000000000000000000000000000000000000000..936ac458b81522f481264e0d53eb95e2e90359b6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrows-pointing-out.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrows-right-left.svg b/priv/hero_icons/optimized/24/outline/arrows-right-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..18890f31d5975dd901f6843f532a4573d1a054d5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrows-right-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/arrows-up-down.svg b/priv/hero_icons/optimized/24/outline/arrows-up-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..da4cdf3e9f47fcb05160a0e5f852d640f072c090
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/arrows-up-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/at-symbol.svg b/priv/hero_icons/optimized/24/outline/at-symbol.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fe2f6442421a2ab837d345cdf478f83a284b3b8b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/at-symbol.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/backspace.svg b/priv/hero_icons/optimized/24/outline/backspace.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f76c5df107bf11b60436849b25bcfaf5b04266db
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/backspace.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/backward.svg b/priv/hero_icons/optimized/24/outline/backward.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fb1da49db4a14032e457ae2eaef04aa6b71079ef
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/backward.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/banknotes.svg b/priv/hero_icons/optimized/24/outline/banknotes.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0603b0dddda5592c68c813b4c59cd36bda46f715
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/banknotes.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bars-2.svg b/priv/hero_icons/optimized/24/outline/bars-2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9c49ca27a21c68bd370283ea15208a8cdb514d9c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bars-2.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bars-3-bottom-left.svg b/priv/hero_icons/optimized/24/outline/bars-3-bottom-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e23bbc35c7446777eab72cd7695b5467958301bd
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bars-3-bottom-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bars-3-bottom-right.svg b/priv/hero_icons/optimized/24/outline/bars-3-bottom-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a0f683d9a75d4874f04e9144ba4b549429833adc
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bars-3-bottom-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bars-3-center-left.svg b/priv/hero_icons/optimized/24/outline/bars-3-center-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a8e83e1e41f7448bd50af5362e5af8ba1d9d6ccd
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bars-3-center-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bars-3.svg b/priv/hero_icons/optimized/24/outline/bars-3.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a7cf3205f9a13e74696940cfccbfdecd391f4777
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bars-3.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bars-4.svg b/priv/hero_icons/optimized/24/outline/bars-4.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f34bddfbff3e874727ff0f3ec7f8d374d329c8b8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bars-4.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bars-arrow-down.svg b/priv/hero_icons/optimized/24/outline/bars-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..200fd3af9311aea99d489e5cc1c88348216d03fb
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bars-arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bars-arrow-up.svg b/priv/hero_icons/optimized/24/outline/bars-arrow-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d88bf4e5ce9e10d0a7a98a1200841776f87ad191
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bars-arrow-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/battery-0.svg b/priv/hero_icons/optimized/24/outline/battery-0.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fd2aa9dac25b1ef5f1da700727b96a484e195786
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/battery-0.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/battery-100.svg b/priv/hero_icons/optimized/24/outline/battery-100.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ba012c68e68fb218eb27ed11a353e91cc7ac765c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/battery-100.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/battery-50.svg b/priv/hero_icons/optimized/24/outline/battery-50.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f6f9838878c30383f055cdb3025c363729d6a8e6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/battery-50.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/beaker.svg b/priv/hero_icons/optimized/24/outline/beaker.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2d143fda7f0188ea25a40c496f2780e75e4b278c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/beaker.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bell-alert.svg b/priv/hero_icons/optimized/24/outline/bell-alert.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c4af4271e223d4ecbb9ffea8e8d7ca04c7b7a524
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bell-alert.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bell-slash.svg b/priv/hero_icons/optimized/24/outline/bell-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2df7520f34ab6e812ceebad54603ffdbfe3b1e58
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bell-slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bell-snooze.svg b/priv/hero_icons/optimized/24/outline/bell-snooze.svg
new file mode 100644
index 0000000000000000000000000000000000000000..117de29a79d3d81373439d8252092c8ff9ffeabb
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bell-snooze.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bell.svg b/priv/hero_icons/optimized/24/outline/bell.svg
new file mode 100644
index 0000000000000000000000000000000000000000..63ab1532c6e267d9fef66df32e2606633db99792
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bell.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bolt-slash.svg b/priv/hero_icons/optimized/24/outline/bolt-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..13af3465eb24c239664dc261edff05b61db48464
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bolt-slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bolt.svg b/priv/hero_icons/optimized/24/outline/bolt.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5e629febf62667943ede7dbdc9f1844eb24189ae
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bolt.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/book-open.svg b/priv/hero_icons/optimized/24/outline/book-open.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a4153b626a701f0f1afe70b24f944d9d0d11adc2
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/book-open.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bookmark-slash.svg b/priv/hero_icons/optimized/24/outline/bookmark-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f3ae625d491ed941b3d552a8c747bd387d962f36
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bookmark-slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bookmark-square.svg b/priv/hero_icons/optimized/24/outline/bookmark-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..00e5cc37a0676ab6169977b53193baeca172a694
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bookmark-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bookmark.svg b/priv/hero_icons/optimized/24/outline/bookmark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6d06e4f33e24956ac5b8074a46f82876cec1be7b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bookmark.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/briefcase.svg b/priv/hero_icons/optimized/24/outline/briefcase.svg
new file mode 100644
index 0000000000000000000000000000000000000000..adab6ff546f7ea7053f466114870504ae07cbef4
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/briefcase.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/bug-ant.svg b/priv/hero_icons/optimized/24/outline/bug-ant.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ac04fad8cdf8163806f0df735bb7b55112cccc26
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/bug-ant.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/building-library.svg b/priv/hero_icons/optimized/24/outline/building-library.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4e2e1daebaaedca62623ffa4b72bc66df1272124
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/building-library.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/building-office-2.svg b/priv/hero_icons/optimized/24/outline/building-office-2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..45e063cdb2defa274939f615c6ba75e73e610791
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/building-office-2.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/building-office.svg b/priv/hero_icons/optimized/24/outline/building-office.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0efd9823683964303bd62491f6d21c33713e4943
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/building-office.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/building-storefront.svg b/priv/hero_icons/optimized/24/outline/building-storefront.svg
new file mode 100644
index 0000000000000000000000000000000000000000..31fca5551e5933fa66311724d8f26c6fb0775439
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/building-storefront.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/cake.svg b/priv/hero_icons/optimized/24/outline/cake.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a603e90aeede4d5636587667519ea54db2d9675b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/cake.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/calculator.svg b/priv/hero_icons/optimized/24/outline/calculator.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d97740ee5b3f33e5774388a128ce42e024eed261
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/calculator.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/calendar-days.svg b/priv/hero_icons/optimized/24/outline/calendar-days.svg
new file mode 100644
index 0000000000000000000000000000000000000000..64b5f8f87a5762014a1bc429141d6f128564beae
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/calendar-days.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/calendar.svg b/priv/hero_icons/optimized/24/outline/calendar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5e44911754308c4b4188a5c340554dbe2223a94a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/calendar.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/camera.svg b/priv/hero_icons/optimized/24/outline/camera.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b8bdae37e16aee307f6ee8e60face39a5baa71e6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/camera.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chart-bar-square.svg b/priv/hero_icons/optimized/24/outline/chart-bar-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d7fa42c53926f25b7f45ed5eef20fb1d49cc50ab
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chart-bar-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chart-bar.svg b/priv/hero_icons/optimized/24/outline/chart-bar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..27f20fac6edad290f0da68c605eb12a87c18d453
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chart-bar.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chart-pie.svg b/priv/hero_icons/optimized/24/outline/chart-pie.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fa51c1679b66f861c2f13bd6aea7e0d8695d0a22
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chart-pie.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chat-bubble-bottom-center-text.svg b/priv/hero_icons/optimized/24/outline/chat-bubble-bottom-center-text.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4bc306e180140cc364cda09a382f6397fd655831
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chat-bubble-bottom-center-text.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chat-bubble-bottom-center.svg b/priv/hero_icons/optimized/24/outline/chat-bubble-bottom-center.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d59d02aa8cd0dc18ab67d584d92aeeb7cdae2994
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chat-bubble-bottom-center.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chat-bubble-left-ellipsis.svg b/priv/hero_icons/optimized/24/outline/chat-bubble-left-ellipsis.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9a0ec734d681ce6f362c304172f5ffc31a353362
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chat-bubble-left-ellipsis.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chat-bubble-left-right.svg b/priv/hero_icons/optimized/24/outline/chat-bubble-left-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4d366b8dd0a39caa78ae8dec6a5530caa3e5eac5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chat-bubble-left-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chat-bubble-left.svg b/priv/hero_icons/optimized/24/outline/chat-bubble-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a41bf1ed5662215b155cba2065ee920957325177
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chat-bubble-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chat-bubble-oval-left-ellipsis.svg b/priv/hero_icons/optimized/24/outline/chat-bubble-oval-left-ellipsis.svg
new file mode 100644
index 0000000000000000000000000000000000000000..83d1751603db938619c4568015c24f64b2d5478f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chat-bubble-oval-left-ellipsis.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chat-bubble-oval-left.svg b/priv/hero_icons/optimized/24/outline/chat-bubble-oval-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d0d0d899ced65b59022414d415457ae96aaf00e7
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chat-bubble-oval-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/check-badge.svg b/priv/hero_icons/optimized/24/outline/check-badge.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8d6b79ada4bad1dd419272dd5a1852b4ae5a45e0
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/check-badge.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/check-circle.svg b/priv/hero_icons/optimized/24/outline/check-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d4471d6bbd376920a53a65815b1383c06c83f1c6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/check-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/check.svg b/priv/hero_icons/optimized/24/outline/check.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7644e3010d8e399fdd1de61800844e2ce2f36820
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/check.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chevron-double-down.svg b/priv/hero_icons/optimized/24/outline/chevron-double-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d7e937046174a1d31c51832402504612c176556d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chevron-double-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chevron-double-left.svg b/priv/hero_icons/optimized/24/outline/chevron-double-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..95834afa082068abeeb7162c8364917a03fdba23
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chevron-double-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chevron-double-right.svg b/priv/hero_icons/optimized/24/outline/chevron-double-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..37a809d7a82ec803d06ce53ebac1924787522457
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chevron-double-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chevron-double-up.svg b/priv/hero_icons/optimized/24/outline/chevron-double-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5182691615090170ed08065503543f05d7107a03
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chevron-double-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chevron-down.svg b/priv/hero_icons/optimized/24/outline/chevron-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b38efa5b2c79ccf371eaf0c4d41304370bc381dd
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chevron-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chevron-left.svg b/priv/hero_icons/optimized/24/outline/chevron-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..73fe99af00e82426134aa815484b759f14ef1c73
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chevron-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chevron-right.svg b/priv/hero_icons/optimized/24/outline/chevron-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1e31bfdc835beaef3c9dd0b726c9956152de597b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chevron-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chevron-up-down.svg b/priv/hero_icons/optimized/24/outline/chevron-up-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..27b1d4f5391f63e5fb0091a0cc68bf1c4f9f78ab
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chevron-up-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/chevron-up.svg b/priv/hero_icons/optimized/24/outline/chevron-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..713a6f1fb8fcfb177eca076aa5ea6b7174758dd6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/chevron-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/circle-stack.svg b/priv/hero_icons/optimized/24/outline/circle-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b8fb7699e15f0abac7bae3630b6d7645643e7805
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/circle-stack.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/clipboard-document-check.svg b/priv/hero_icons/optimized/24/outline/clipboard-document-check.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7bb03a16d65fbd3f9e681e683c9b6c09aec8e254
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/clipboard-document-check.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/clipboard-document-list.svg b/priv/hero_icons/optimized/24/outline/clipboard-document-list.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4670777764a802956e31febbcd22b77dcdf850b2
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/clipboard-document-list.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/clipboard-document.svg b/priv/hero_icons/optimized/24/outline/clipboard-document.svg
new file mode 100644
index 0000000000000000000000000000000000000000..783a33373592c327387c9d4e9d1be477854c1007
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/clipboard-document.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/clipboard.svg b/priv/hero_icons/optimized/24/outline/clipboard.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ad9b943be6f4411eba5065e3d00d2e16ce6af331
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/clipboard.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/clock.svg b/priv/hero_icons/optimized/24/outline/clock.svg
new file mode 100644
index 0000000000000000000000000000000000000000..337196ccaf42f4992ec33d3d5145ba685e8f0518
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/clock.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/cloud-arrow-down.svg b/priv/hero_icons/optimized/24/outline/cloud-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7074791f755eae7c057600c9ee7337ba99061677
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/cloud-arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/cloud-arrow-up.svg b/priv/hero_icons/optimized/24/outline/cloud-arrow-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8b450812f8869947c2e3750d2f7ae01ee1835e70
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/cloud-arrow-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/cloud.svg b/priv/hero_icons/optimized/24/outline/cloud.svg
new file mode 100644
index 0000000000000000000000000000000000000000..55fd7250606a7127221978d8f75c8151ca5b9584
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/cloud.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/code-bracket-square.svg b/priv/hero_icons/optimized/24/outline/code-bracket-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8308024be0d44a71e348004eb33d74a5002ea749
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/code-bracket-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/code-bracket.svg b/priv/hero_icons/optimized/24/outline/code-bracket.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3361add4d6f29482ffc0f7620b82dfe2c7f755ad
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/code-bracket.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/cog-6-tooth.svg b/priv/hero_icons/optimized/24/outline/cog-6-tooth.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d585645838a240d99c8df6a0c33ce35b84e364f3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/cog-6-tooth.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/cog-8-tooth.svg b/priv/hero_icons/optimized/24/outline/cog-8-tooth.svg
new file mode 100644
index 0000000000000000000000000000000000000000..28f85f42bee78a0186e7ce31fff5b908e2ff454e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/cog-8-tooth.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/cog.svg b/priv/hero_icons/optimized/24/outline/cog.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f2bad9ffe8abc45100ca59293571dc1f54e13ee9
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/cog.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/command-line.svg b/priv/hero_icons/optimized/24/outline/command-line.svg
new file mode 100644
index 0000000000000000000000000000000000000000..baaf3629c1e55e6f02b2b769d0e1efd831a50340
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/command-line.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/computer-desktop.svg b/priv/hero_icons/optimized/24/outline/computer-desktop.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fb9a6e0d9edf117462195b09a6736a7ca89997c4
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/computer-desktop.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/cpu-chip.svg b/priv/hero_icons/optimized/24/outline/cpu-chip.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cabc435abbef4aa14d4ebfe310c099b1fd6250ab
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/cpu-chip.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/credit-card.svg b/priv/hero_icons/optimized/24/outline/credit-card.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3c0c917df3c5d935a0619f944f9865dab1201bad
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/credit-card.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/cube-transparent.svg b/priv/hero_icons/optimized/24/outline/cube-transparent.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5a8adac8c5832c64b98cb6912e8c8b92e27c8d8e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/cube-transparent.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/cube.svg b/priv/hero_icons/optimized/24/outline/cube.svg
new file mode 100644
index 0000000000000000000000000000000000000000..70b0091a68fb490d9abb1ebe5c42daa7e04fdf33
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/cube.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/currency-bangladeshi.svg b/priv/hero_icons/optimized/24/outline/currency-bangladeshi.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7f2fca3f5a23a8cac9a7997b107a3a11e50b7ef5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/currency-bangladeshi.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/currency-dollar.svg b/priv/hero_icons/optimized/24/outline/currency-dollar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d376f4c9916cafc4b84e0a36f17844a45aa8729e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/currency-dollar.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/currency-euro.svg b/priv/hero_icons/optimized/24/outline/currency-euro.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8b9dd2e49432397f6dc43ea886af45b3ddea4502
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/currency-euro.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/currency-pound.svg b/priv/hero_icons/optimized/24/outline/currency-pound.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8e7c52d215a685995362511238d33e08a1db881d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/currency-pound.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/currency-rupee.svg b/priv/hero_icons/optimized/24/outline/currency-rupee.svg
new file mode 100644
index 0000000000000000000000000000000000000000..078bf05892945c50e76bda791bee612243ef76ff
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/currency-rupee.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/currency-yen.svg b/priv/hero_icons/optimized/24/outline/currency-yen.svg
new file mode 100644
index 0000000000000000000000000000000000000000..254011afa0d92ba0fe8b47b3e4a4581664b0a91a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/currency-yen.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/cursor-arrow-rays.svg b/priv/hero_icons/optimized/24/outline/cursor-arrow-rays.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c29d0fd5782af89382a0e41e5020006c9f8d4a0b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/cursor-arrow-rays.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/cursor-arrow-ripple.svg b/priv/hero_icons/optimized/24/outline/cursor-arrow-ripple.svg
new file mode 100644
index 0000000000000000000000000000000000000000..500a04ccc4361d250e68bbc38c87cfb83abed023
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/cursor-arrow-ripple.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/device-phone-mobile.svg b/priv/hero_icons/optimized/24/outline/device-phone-mobile.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1caf911264ad87cdd219089552981cc439facb56
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/device-phone-mobile.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/device-tablet.svg b/priv/hero_icons/optimized/24/outline/device-tablet.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7090ecbe926949608891c14966cc45388ee6ae62
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/device-tablet.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/document-arrow-down.svg b/priv/hero_icons/optimized/24/outline/document-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..04f6e6503a38bdf123f82837eef362b1b01488e3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/document-arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/document-arrow-up.svg b/priv/hero_icons/optimized/24/outline/document-arrow-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c0ca80ffcf0efa4e075b143f58a937faeca9e3bf
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/document-arrow-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/document-chart-bar.svg b/priv/hero_icons/optimized/24/outline/document-chart-bar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2ffa3fedd17c618af68691355b0f38790514b506
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/document-chart-bar.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/document-check.svg b/priv/hero_icons/optimized/24/outline/document-check.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5ea7d9c6e05daafdf655e662dc7d3f77565ffd44
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/document-check.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/document-duplicate.svg b/priv/hero_icons/optimized/24/outline/document-duplicate.svg
new file mode 100644
index 0000000000000000000000000000000000000000..acc646403a76c7ff7c311b4937a3a5762f8f3fd3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/document-duplicate.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/document-magnifying-glass.svg b/priv/hero_icons/optimized/24/outline/document-magnifying-glass.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f94eff6cc8580cd146b4cbf244ac24d471925995
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/document-magnifying-glass.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/document-minus.svg b/priv/hero_icons/optimized/24/outline/document-minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..173cb1f3022e2e1e0b828f4554d67d0470b79c3f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/document-minus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/document-plus.svg b/priv/hero_icons/optimized/24/outline/document-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9ec31ad5fad0632fccf2e7de97f9d6369965406a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/document-plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/document-text.svg b/priv/hero_icons/optimized/24/outline/document-text.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cd77136f7b779cb54e6273aaa71a7a6c4737e5f4
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/document-text.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/document.svg b/priv/hero_icons/optimized/24/outline/document.svg
new file mode 100644
index 0000000000000000000000000000000000000000..863a8aa135d747b21edb3576528916f806898f23
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/document.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/ellipsis-horizontal-circle.svg b/priv/hero_icons/optimized/24/outline/ellipsis-horizontal-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..09aac5303d22ddcae0dfe4261306b42754c61c0b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/ellipsis-horizontal-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/ellipsis-horizontal.svg b/priv/hero_icons/optimized/24/outline/ellipsis-horizontal.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7541be5afe2b811d0c685ddd083a2c69815044d7
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/ellipsis-horizontal.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/ellipsis-vertical.svg b/priv/hero_icons/optimized/24/outline/ellipsis-vertical.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4676cf3c80561f96a036ad887faa9edd3e740a1f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/ellipsis-vertical.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/envelope-open.svg b/priv/hero_icons/optimized/24/outline/envelope-open.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ff9dccde6da86c97a2b9969223be7dad63a5ab63
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/envelope-open.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/envelope.svg b/priv/hero_icons/optimized/24/outline/envelope.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ae8ff727eac58e99f0db51c9a3657dfbe75d1b21
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/envelope.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/exclamation-circle.svg b/priv/hero_icons/optimized/24/outline/exclamation-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..25ef36fac98b662d5b5472f4186fefd8116612aa
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/exclamation-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/exclamation-triangle.svg b/priv/hero_icons/optimized/24/outline/exclamation-triangle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c9742f1c32e5ef87f83c16e893b365db06b0da46
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/exclamation-triangle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/eye-dropper.svg b/priv/hero_icons/optimized/24/outline/eye-dropper.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c7263e1879377784e4d92251f7eb1a4863fb4631
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/eye-dropper.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/eye-slash.svg b/priv/hero_icons/optimized/24/outline/eye-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..072c9f2ed376ee35a6c639c35c742a6ffad61ff3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/eye-slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/eye.svg b/priv/hero_icons/optimized/24/outline/eye.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2a54d63d5f4fd49541f38bf49fd7ebefd44322f2
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/eye.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/face-frown.svg b/priv/hero_icons/optimized/24/outline/face-frown.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ba0cab32b115792c6b3f183946370b847be7d951
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/face-frown.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/face-smile.svg b/priv/hero_icons/optimized/24/outline/face-smile.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5246524eb7e52e029b14d08f1cd9abb00025ea4b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/face-smile.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/film.svg b/priv/hero_icons/optimized/24/outline/film.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d76e5941627e0542257c6421d41914f2d7b88349
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/film.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/finger-print.svg b/priv/hero_icons/optimized/24/outline/finger-print.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0c1eeb278da693d0c065835158dc9d8f42f4d5f3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/finger-print.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/fire.svg b/priv/hero_icons/optimized/24/outline/fire.svg
new file mode 100644
index 0000000000000000000000000000000000000000..54c974808fbc4327eb08378a0508d4fa82c99456
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/fire.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/flag.svg b/priv/hero_icons/optimized/24/outline/flag.svg
new file mode 100644
index 0000000000000000000000000000000000000000..dff4126ca4f45eb336373fe033a767a697313dfb
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/flag.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/folder-arrow-down.svg b/priv/hero_icons/optimized/24/outline/folder-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..96290cd0c2d220d8ab3670f01fb91563624b4a85
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/folder-arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/folder-minus.svg b/priv/hero_icons/optimized/24/outline/folder-minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..824cb0e1ef7e5ec8a61ebca2c5b429e6f91cc349
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/folder-minus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/folder-open.svg b/priv/hero_icons/optimized/24/outline/folder-open.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0721502a78742a23cb611d3bba1b546f1146c9b6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/folder-open.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/folder-plus.svg b/priv/hero_icons/optimized/24/outline/folder-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3df62d24335565d1d59510d65c30f789b4dfcaa9
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/folder-plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/folder.svg b/priv/hero_icons/optimized/24/outline/folder.svg
new file mode 100644
index 0000000000000000000000000000000000000000..305481927f6f02bb928496397ec586dfed0016ba
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/folder.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/forward.svg b/priv/hero_icons/optimized/24/outline/forward.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cc80dc9328e3bfa1a2c6532ed3438a902b4c7d5f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/forward.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/funnel.svg b/priv/hero_icons/optimized/24/outline/funnel.svg
new file mode 100644
index 0000000000000000000000000000000000000000..338fa522a2b6079aa835c95d26e3d603bdbe3948
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/funnel.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/gif.svg b/priv/hero_icons/optimized/24/outline/gif.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ba8a1867329d66962793aad9bd895b628a57ac8b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/gif.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/gift-top.svg b/priv/hero_icons/optimized/24/outline/gift-top.svg
new file mode 100644
index 0000000000000000000000000000000000000000..055b6d2d4691df245390188fb0cc8e65fdeb83d6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/gift-top.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/gift.svg b/priv/hero_icons/optimized/24/outline/gift.svg
new file mode 100644
index 0000000000000000000000000000000000000000..54458156de8f50005fade8441cc87a036ac4a772
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/gift.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/globe-alt.svg b/priv/hero_icons/optimized/24/outline/globe-alt.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a605be00a1fe29b9356e48699461a236442511a7
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/globe-alt.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/globe-americas.svg b/priv/hero_icons/optimized/24/outline/globe-americas.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5d1a5cb70216868ba46b8fd8a250d34ff2cd9001
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/globe-americas.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/globe-asia-australia.svg b/priv/hero_icons/optimized/24/outline/globe-asia-australia.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f4898fa60d24d1c6accd0f2c01c4e04c9affb5e7
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/globe-asia-australia.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/globe-europe-africa.svg b/priv/hero_icons/optimized/24/outline/globe-europe-africa.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c8f797dc5294c91a22a55e2f47c41186d7065b78
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/globe-europe-africa.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/hand-raised.svg b/priv/hero_icons/optimized/24/outline/hand-raised.svg
new file mode 100644
index 0000000000000000000000000000000000000000..859f1abcbe00e0db546a28b3c392ef3aab1462e3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/hand-raised.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/hand-thumb-down.svg b/priv/hero_icons/optimized/24/outline/hand-thumb-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c588a53252edaf6f63060ca8c37ba527e3799ae1
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/hand-thumb-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/hand-thumb-up.svg b/priv/hero_icons/optimized/24/outline/hand-thumb-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..66ca9c32083d7a1f08a61e33c48cc4b8c1e1897e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/hand-thumb-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/hashtag.svg b/priv/hero_icons/optimized/24/outline/hashtag.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3ae10603e08c3647f1dca874256d79e2df8cfa8a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/hashtag.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/heart.svg b/priv/hero_icons/optimized/24/outline/heart.svg
new file mode 100644
index 0000000000000000000000000000000000000000..108476828ce97f0793df240b45044ffb610cc757
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/heart.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/home-modern.svg b/priv/hero_icons/optimized/24/outline/home-modern.svg
new file mode 100644
index 0000000000000000000000000000000000000000..20f4e2c227e53eca882431d8ed7136c917687872
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/home-modern.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/home.svg b/priv/hero_icons/optimized/24/outline/home.svg
new file mode 100644
index 0000000000000000000000000000000000000000..95433758b856166f697e0c35630aebc0057928a2
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/home.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/identification.svg b/priv/hero_icons/optimized/24/outline/identification.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bfd302a183c6ce3bf700c2ec1d113e0958ee3729
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/identification.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/inbox-arrow-down.svg b/priv/hero_icons/optimized/24/outline/inbox-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..db6ebda2e94b105cf3faeb2f4e4220a8b8cae42a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/inbox-arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/inbox-stack.svg b/priv/hero_icons/optimized/24/outline/inbox-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6c1e55c7f4f875c8f5cfa4d07a8ce997643e12cb
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/inbox-stack.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/inbox.svg b/priv/hero_icons/optimized/24/outline/inbox.svg
new file mode 100644
index 0000000000000000000000000000000000000000..56b35cb0753e609290f90183a1da4880a0bf2779
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/inbox.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/information-circle.svg b/priv/hero_icons/optimized/24/outline/information-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c7fa9d7003aedf5ed2aacc01445581518fbf0aaf
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/information-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/key.svg b/priv/hero_icons/optimized/24/outline/key.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e9684cd19e3c2c0c0fb3bb04e1f09adfcd75793c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/key.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/language.svg b/priv/hero_icons/optimized/24/outline/language.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0c606ef3c9d3ad7bd46b6fabca47987943382f5b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/language.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/lifebuoy.svg b/priv/hero_icons/optimized/24/outline/lifebuoy.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1660e9912be62069a7962c3f1864c4f09ac03d91
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/lifebuoy.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/light-bulb.svg b/priv/hero_icons/optimized/24/outline/light-bulb.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e3f2d9a726f74803dc761278c5d626963c505d88
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/light-bulb.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/link.svg b/priv/hero_icons/optimized/24/outline/link.svg
new file mode 100644
index 0000000000000000000000000000000000000000..916a7038a88de7dcd9af3fed7db147e0bbb40eb3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/link.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/list-bullet.svg b/priv/hero_icons/optimized/24/outline/list-bullet.svg
new file mode 100644
index 0000000000000000000000000000000000000000..147457322ed5a847b7831ef735c50a3fa01e294a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/list-bullet.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/lock-closed.svg b/priv/hero_icons/optimized/24/outline/lock-closed.svg
new file mode 100644
index 0000000000000000000000000000000000000000..08b23c99dd8a1f348a2cb98a0e0e0bd4a8480843
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/lock-closed.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/lock-open.svg b/priv/hero_icons/optimized/24/outline/lock-open.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c5595dde8d096517f1b069281ca45d178842dbea
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/lock-open.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/magnifying-glass-circle.svg b/priv/hero_icons/optimized/24/outline/magnifying-glass-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e71f8bff0ffae525d03b558801119a6b44674462
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/magnifying-glass-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/magnifying-glass-minus.svg b/priv/hero_icons/optimized/24/outline/magnifying-glass-minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6bd11c16fae703e2b11f1e0119d5821a1f64c0dc
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/magnifying-glass-minus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/magnifying-glass-plus.svg b/priv/hero_icons/optimized/24/outline/magnifying-glass-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5dab7de0ce0bc564f57e1568e9b300af723cb2f6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/magnifying-glass-plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/magnifying-glass.svg b/priv/hero_icons/optimized/24/outline/magnifying-glass.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7cff88fc76a221a8962c09126dbde5d924935456
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/magnifying-glass.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/map-pin.svg b/priv/hero_icons/optimized/24/outline/map-pin.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1f272f4e4119011f08cadb021a5e27e4ec82542d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/map-pin.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/map.svg b/priv/hero_icons/optimized/24/outline/map.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f96c988ac1ee517eb3769a798ba8f97d6e281274
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/map.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/megaphone.svg b/priv/hero_icons/optimized/24/outline/megaphone.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ec19508146445747f451f788faf9fbbd58ba4176
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/megaphone.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/microphone.svg b/priv/hero_icons/optimized/24/outline/microphone.svg
new file mode 100644
index 0000000000000000000000000000000000000000..670b34f231fe639fc6b7e48721dc0433a5fb3843
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/microphone.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/minus-circle.svg b/priv/hero_icons/optimized/24/outline/minus-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b9630fc693b73d9f9d49d972b86962be47a84caa
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/minus-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/minus-small.svg b/priv/hero_icons/optimized/24/outline/minus-small.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3e1a8b75d187ccb2c6180d7059384ac267f1d071
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/minus-small.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/minus.svg b/priv/hero_icons/optimized/24/outline/minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..781994c3d1d354b8b3fa529c7ef2b4596367a9b6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/minus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/moon.svg b/priv/hero_icons/optimized/24/outline/moon.svg
new file mode 100644
index 0000000000000000000000000000000000000000..91501fd91766564cf92bf170b2ca20e0ba6e0b99
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/moon.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/musical-note.svg b/priv/hero_icons/optimized/24/outline/musical-note.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c0667fc73f2c05ae45daef0675c141df421227d2
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/musical-note.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/newspaper.svg b/priv/hero_icons/optimized/24/outline/newspaper.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0a4ac573e1f4796d10c141c227840e3c237779e7
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/newspaper.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/no-symbol.svg b/priv/hero_icons/optimized/24/outline/no-symbol.svg
new file mode 100644
index 0000000000000000000000000000000000000000..19b0bd0ae3977f07d6fe92aef2b21ffcb73b1ecf
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/no-symbol.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/paint-brush.svg b/priv/hero_icons/optimized/24/outline/paint-brush.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b66098ffb7e502a9288e833bdacb302ec37f6d0f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/paint-brush.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/paper-airplane.svg b/priv/hero_icons/optimized/24/outline/paper-airplane.svg
new file mode 100644
index 0000000000000000000000000000000000000000..32da43eae75e1881f7d8348bdd9cfbddf8a0b6fc
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/paper-airplane.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/paper-clip.svg b/priv/hero_icons/optimized/24/outline/paper-clip.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1d78d81df14f280981c6b6432376b730218fe3e6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/paper-clip.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/pause-circle.svg b/priv/hero_icons/optimized/24/outline/pause-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a9a9e93509edac55f1d9aaf400cd3d690cc2a98a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/pause-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/pause.svg b/priv/hero_icons/optimized/24/outline/pause.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9843f7be260e5d8a4cd1b95bf6e123e1acf285d5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/pause.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/pencil-square.svg b/priv/hero_icons/optimized/24/outline/pencil-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3de435b8e55175e6a69227c50d2b7f6fecf27883
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/pencil-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/pencil.svg b/priv/hero_icons/optimized/24/outline/pencil.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0c8759a94e273778d2a8573ad8e9ab427260d16c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/pencil.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/phone-arrow-down-left.svg b/priv/hero_icons/optimized/24/outline/phone-arrow-down-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b1b2e6116207ea5dc055ab2407a55de6df7c80b6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/phone-arrow-down-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/phone-arrow-up-right.svg b/priv/hero_icons/optimized/24/outline/phone-arrow-up-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..faaf659b96cc5d1fe26c6439655ca73eb2662b85
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/phone-arrow-up-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/phone-x-mark.svg b/priv/hero_icons/optimized/24/outline/phone-x-mark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0b8de6dbba7a5b95d7ebaf7a9fc7cad1755de5f4
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/phone-x-mark.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/phone.svg b/priv/hero_icons/optimized/24/outline/phone.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6f73149e07b0d11b6c7b13202d18bec4c15cc2fd
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/phone.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/photo.svg b/priv/hero_icons/optimized/24/outline/photo.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6982a11573bfcc9c3cbbf4da7797434e0c7b8569
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/photo.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/play-circle.svg b/priv/hero_icons/optimized/24/outline/play-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3a2fa635d178bdab627486b7c6b9ab312f4a8d14
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/play-circle.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/play-pause.svg b/priv/hero_icons/optimized/24/outline/play-pause.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4ce4e55ed3dc65b3537853ed4b72303cddba6509
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/play-pause.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/play.svg b/priv/hero_icons/optimized/24/outline/play.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c0ae6ded13f8235e6294d0b80e371339b15dc91d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/play.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/plus-circle.svg b/priv/hero_icons/optimized/24/outline/plus-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4da4d1f1a630ee6d76dd1e888f81c555148dc1dd
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/plus-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/plus-small.svg b/priv/hero_icons/optimized/24/outline/plus-small.svg
new file mode 100644
index 0000000000000000000000000000000000000000..991ed599cc5f8181a07fdd3968c4d4d0748a324c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/plus-small.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/plus.svg b/priv/hero_icons/optimized/24/outline/plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..048081734586545618908560e59c1d7b5d69f70b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/power.svg b/priv/hero_icons/optimized/24/outline/power.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c4b2706a3d307ffac472f141af5c95aa81d4fdde
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/power.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/presentation-chart-bar.svg b/priv/hero_icons/optimized/24/outline/presentation-chart-bar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..87d8a6dc24882742779200e2a8994270da077736
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/presentation-chart-bar.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/presentation-chart-line.svg b/priv/hero_icons/optimized/24/outline/presentation-chart-line.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2262e1f56102d836c0f36a3dfc7a422381e77e3c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/presentation-chart-line.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/printer.svg b/priv/hero_icons/optimized/24/outline/printer.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6f7c5facbd645a20ee08d782d01857f49f2a0433
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/printer.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/puzzle-piece.svg b/priv/hero_icons/optimized/24/outline/puzzle-piece.svg
new file mode 100644
index 0000000000000000000000000000000000000000..13aa1a53057285670efecbc42bb58e03d9c2cc97
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/puzzle-piece.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/qr-code.svg b/priv/hero_icons/optimized/24/outline/qr-code.svg
new file mode 100644
index 0000000000000000000000000000000000000000..662a4bd24aeb6ae8672adfe45b8affba7b8408dd
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/qr-code.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/question-mark-circle.svg b/priv/hero_icons/optimized/24/outline/question-mark-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9fb25421a2e13fa6c3f05ee7b164598aae6ee1d5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/question-mark-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/queue-list.svg b/priv/hero_icons/optimized/24/outline/queue-list.svg
new file mode 100644
index 0000000000000000000000000000000000000000..91c3f1126007778a7ce146c904d357f57a58f5bb
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/queue-list.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/radio.svg b/priv/hero_icons/optimized/24/outline/radio.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f9c177aeb3477b63689a64885e5a96057cc2c14a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/radio.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/receipt-percent.svg b/priv/hero_icons/optimized/24/outline/receipt-percent.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2d19255948cc31323a7da91b86ac65c83b0d33ce
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/receipt-percent.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/receipt-refund.svg b/priv/hero_icons/optimized/24/outline/receipt-refund.svg
new file mode 100644
index 0000000000000000000000000000000000000000..dc569fc153734c9c4af98db7da2a12e2ddf0a068
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/receipt-refund.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/rectangle-group.svg b/priv/hero_icons/optimized/24/outline/rectangle-group.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b18496486359df2407db651d9ad86d967a001ea2
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/rectangle-group.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/rectangle-stack.svg b/priv/hero_icons/optimized/24/outline/rectangle-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e1c0272c525d49e30b1c6119d02cf09d561e046f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/rectangle-stack.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/rocket-launch.svg b/priv/hero_icons/optimized/24/outline/rocket-launch.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6400ee8f62ddf95fe924e635f7f332b4d2d3bc84
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/rocket-launch.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/rss.svg b/priv/hero_icons/optimized/24/outline/rss.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1c36b21f304068ed5452a6e6802f9e0ed93e7676
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/rss.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/scale.svg b/priv/hero_icons/optimized/24/outline/scale.svg
new file mode 100644
index 0000000000000000000000000000000000000000..500e3c665c1d555f68cd3ef4de0585024186b33e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/scale.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/scissors.svg b/priv/hero_icons/optimized/24/outline/scissors.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a23dc816331e8c08ccd936fb814a206bcf82de24
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/scissors.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/server-stack.svg b/priv/hero_icons/optimized/24/outline/server-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3b7fe3230247cb502468f4746ae8ef5983443136
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/server-stack.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/server.svg b/priv/hero_icons/optimized/24/outline/server.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c1675f34be196ad41c61b2e85a3a6e484339e98a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/server.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/share.svg b/priv/hero_icons/optimized/24/outline/share.svg
new file mode 100644
index 0000000000000000000000000000000000000000..125b6d1adb5aaa7be754aef7a3e09ec81d376c77
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/share.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/shield-check.svg b/priv/hero_icons/optimized/24/outline/shield-check.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f9fa2b9f2168a7a93796a8f6ad6d4686fcf03039
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/shield-check.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/shield-exclamation.svg b/priv/hero_icons/optimized/24/outline/shield-exclamation.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b52a2ff1d1909ed9ba2877803f7245b4b7018138
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/shield-exclamation.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/shopping-bag.svg b/priv/hero_icons/optimized/24/outline/shopping-bag.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f5a51bde8c2539bf94932632bb5dc9147ff392ff
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/shopping-bag.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/shopping-cart.svg b/priv/hero_icons/optimized/24/outline/shopping-cart.svg
new file mode 100644
index 0000000000000000000000000000000000000000..661477ba40d003699e2f40dc85a10125d30d3c3e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/shopping-cart.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/signal-slash.svg b/priv/hero_icons/optimized/24/outline/signal-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..62992c3e6a58b4326da3deaecdc30a45e7fad674
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/signal-slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/signal.svg b/priv/hero_icons/optimized/24/outline/signal.svg
new file mode 100644
index 0000000000000000000000000000000000000000..56114d3ab91b776fcfaa1ab5b1e899894b055480
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/signal.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/sparkles.svg b/priv/hero_icons/optimized/24/outline/sparkles.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5a78b09612b58bae3c28311d935677ac69e158ff
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/sparkles.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/speaker-wave.svg b/priv/hero_icons/optimized/24/outline/speaker-wave.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1b6dde78ca548e7dabb25b20d4c4cebf2008c9aa
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/speaker-wave.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/speaker-x-mark.svg b/priv/hero_icons/optimized/24/outline/speaker-x-mark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..427e21e56c3b6c4a627c0dadd62be8036ea68bfe
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/speaker-x-mark.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/square-2-stack.svg b/priv/hero_icons/optimized/24/outline/square-2-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bc5e253bbfb111b4c3e3f5412c083384b4d9eb17
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/square-2-stack.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/square-3-stack-3d.svg b/priv/hero_icons/optimized/24/outline/square-3-stack-3d.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8af2704ab33750ef1dca75e245a8865e6a3ba0fa
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/square-3-stack-3d.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/squares-2x2.svg b/priv/hero_icons/optimized/24/outline/squares-2x2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..601366d56d92e659ec59d68e34d87a642052b005
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/squares-2x2.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/squares-plus.svg b/priv/hero_icons/optimized/24/outline/squares-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b8033c119fe2029df2c28337c6ec23f2b24f8bd3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/squares-plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/star.svg b/priv/hero_icons/optimized/24/outline/star.svg
new file mode 100644
index 0000000000000000000000000000000000000000..98aa481a17afc7563f94e2e71dd33e81330beffa
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/star.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/stop-circle.svg b/priv/hero_icons/optimized/24/outline/stop-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b570e8e3616b741197ea9c3826b7842f75537107
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/stop-circle.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/stop.svg b/priv/hero_icons/optimized/24/outline/stop.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4ee917a0ff59d2f8689203600c91f1dada48b46e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/stop.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/sun.svg b/priv/hero_icons/optimized/24/outline/sun.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5667cb3b5f44c7dc9e1faf0532db5a7c8d542bea
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/sun.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/swatch.svg b/priv/hero_icons/optimized/24/outline/swatch.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5b136ebd56e5e3f77d6a9f6f47497317d17d0e4f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/swatch.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/table-cells.svg b/priv/hero_icons/optimized/24/outline/table-cells.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cb37937df58eb489405012251b7812fb5e7d8b6c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/table-cells.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/tag.svg b/priv/hero_icons/optimized/24/outline/tag.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9620545eb3ab222f0c1fc17c39a016f636a12eaa
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/tag.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/ticket.svg b/priv/hero_icons/optimized/24/outline/ticket.svg
new file mode 100644
index 0000000000000000000000000000000000000000..da2d69e066da02d6d9b00b1eca33917cd1c243c3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/ticket.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/trash.svg b/priv/hero_icons/optimized/24/outline/trash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0d32d58b4295d9fb1fbba14cb54bd42ccdf09365
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/trash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/trophy.svg b/priv/hero_icons/optimized/24/outline/trophy.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f846e52df69018135a6efc77dfc888984ae98017
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/trophy.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/truck.svg b/priv/hero_icons/optimized/24/outline/truck.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6e1ea69e7d001c254ba410c73c060067ec853097
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/truck.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/tv.svg b/priv/hero_icons/optimized/24/outline/tv.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7b8a706ad61b3809ecb2357f687f76784378dcc3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/tv.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/user-circle.svg b/priv/hero_icons/optimized/24/outline/user-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a177f26974bcb4e0e62fc67c1e78dc28a039bd19
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/user-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/user-group.svg b/priv/hero_icons/optimized/24/outline/user-group.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4e7089b6b8cafae2966a9a2bff3d7e80b1c04713
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/user-group.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/user-minus.svg b/priv/hero_icons/optimized/24/outline/user-minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..703478e514db7476a46f6fef600fbb9d0403c281
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/user-minus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/user-plus.svg b/priv/hero_icons/optimized/24/outline/user-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..24533d10e20826dc4684966220a91e417cf19335
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/user-plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/user.svg b/priv/hero_icons/optimized/24/outline/user.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e9b6c20be2023ba7c81667826671e3a601016737
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/user.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/users.svg b/priv/hero_icons/optimized/24/outline/users.svg
new file mode 100644
index 0000000000000000000000000000000000000000..87304a0d3d89f24de4669cc98c901572a221f00a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/users.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/variable.svg b/priv/hero_icons/optimized/24/outline/variable.svg
new file mode 100644
index 0000000000000000000000000000000000000000..81fab0409c1148822c06d94ca38de6ca8d09c737
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/variable.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/video-camera-slash.svg b/priv/hero_icons/optimized/24/outline/video-camera-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d1de13e76720c06612243bb5a008491aaab6d8c3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/video-camera-slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/video-camera.svg b/priv/hero_icons/optimized/24/outline/video-camera.svg
new file mode 100644
index 0000000000000000000000000000000000000000..aae1a198d16a2e32d9c97847cd44b21bc547255e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/video-camera.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/view-columns.svg b/priv/hero_icons/optimized/24/outline/view-columns.svg
new file mode 100644
index 0000000000000000000000000000000000000000..22a668e8f3dc8a2f57966b94c1bf37af883d1827
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/view-columns.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/viewfinder-circle.svg b/priv/hero_icons/optimized/24/outline/viewfinder-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0583eef52e9b8240d70e212c5823c24e658b0e2e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/viewfinder-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/wallet.svg b/priv/hero_icons/optimized/24/outline/wallet.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8f19d644dd1c089a638ef54b21c14e8814ce79e6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/wallet.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/wifi.svg b/priv/hero_icons/optimized/24/outline/wifi.svg
new file mode 100644
index 0000000000000000000000000000000000000000..084b3e13fbbe396b79436663afea19d585d95f6a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/wifi.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/window.svg b/priv/hero_icons/optimized/24/outline/window.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4ffea71129f78d2b281702fe1f7523ab88451e6b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/window.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/wrench-screwdriver.svg b/priv/hero_icons/optimized/24/outline/wrench-screwdriver.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1023ae9da7ac5b32a20b5b7ed533e3f0cb9bf30b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/wrench-screwdriver.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/wrench.svg b/priv/hero_icons/optimized/24/outline/wrench.svg
new file mode 100644
index 0000000000000000000000000000000000000000..de3a6e2cf2480dc9c9e1f5885b09c07980147d81
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/wrench.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/x-circle.svg b/priv/hero_icons/optimized/24/outline/x-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..294ba20861d75c105d78232d9579ea844edd6ea4
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/x-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/outline/x-mark.svg b/priv/hero_icons/optimized/24/outline/x-mark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a6d9eb7f0bbba7877da3b6c91972df2de6ce273c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/outline/x-mark.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/academic-cap.svg b/priv/hero_icons/optimized/24/solid/academic-cap.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2a13ef2800bfccfa0aec03a1bf3ea42f780ae9db
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/academic-cap.svg
@@ -0,0 +1,5 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/adjustments-horizontal.svg b/priv/hero_icons/optimized/24/solid/adjustments-horizontal.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ed9b9500708ff145e5d3716ff43ace857413504d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/adjustments-horizontal.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/adjustments-vertical.svg b/priv/hero_icons/optimized/24/solid/adjustments-vertical.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fc4b90ccf3940f72ea52da272c8cd30a513ca648
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/adjustments-vertical.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/archive-box-arrow-down.svg b/priv/hero_icons/optimized/24/solid/archive-box-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5999b72affaa106608937addcadfb10f7d4bd81d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/archive-box-arrow-down.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/archive-box-x-mark.svg b/priv/hero_icons/optimized/24/solid/archive-box-x-mark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e7dd0d6520d6f9eeb9b03d69b79b515c92bd57dc
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/archive-box-x-mark.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/archive-box.svg b/priv/hero_icons/optimized/24/solid/archive-box.svg
new file mode 100644
index 0000000000000000000000000000000000000000..74e0471dcceda03fc3c4ec535d1f79fbdf65bd6b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/archive-box.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-down-circle.svg b/priv/hero_icons/optimized/24/solid/arrow-down-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c85a4ff9399ab980ac6b9d7f1bbb988ab8d2604c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-down-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-down-left.svg b/priv/hero_icons/optimized/24/solid/arrow-down-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5cd0d4dc60114edae8cdf9a66c5830e499aae8f0
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-down-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-down-on-square-stack.svg b/priv/hero_icons/optimized/24/solid/arrow-down-on-square-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d2ef0b3022163caa8e4f2683dca0d81464956332
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-down-on-square-stack.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-down-on-square.svg b/priv/hero_icons/optimized/24/solid/arrow-down-on-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..35eab418bfb726de467198d612658f8f8ddcd981
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-down-on-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-down-right.svg b/priv/hero_icons/optimized/24/solid/arrow-down-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8c60942e658169f8ddf39c587f01e54ad539cad6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-down-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-down-tray.svg b/priv/hero_icons/optimized/24/solid/arrow-down-tray.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a18c62d9489b13599890a79c6329e88f98b7e748
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-down-tray.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-down.svg b/priv/hero_icons/optimized/24/solid/arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5cb396baad8a91dbf92f608482e6bf9e161ca8ae
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-left-circle.svg b/priv/hero_icons/optimized/24/solid/arrow-left-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a937f8efb45f01ee3c3f009f3d321d146848074a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-left-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-left-on-rectangle.svg b/priv/hero_icons/optimized/24/solid/arrow-left-on-rectangle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..972a85e77d618dce8ca488e0f832700128495fd9
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-left-on-rectangle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-left.svg b/priv/hero_icons/optimized/24/solid/arrow-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..51bef7083d9fe9504856cfe4b70d34276dd9df0e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-long-down.svg b/priv/hero_icons/optimized/24/solid/arrow-long-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..891774e731832de21194ddc6ddc2e512b644609c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-long-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-long-left.svg b/priv/hero_icons/optimized/24/solid/arrow-long-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..aa12c0c8c2d89ca11b22df46fc559230f8853e2a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-long-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-long-right.svg b/priv/hero_icons/optimized/24/solid/arrow-long-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0bcb6a0e73069e278dc023e444ef65b45cce0700
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-long-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-long-up.svg b/priv/hero_icons/optimized/24/solid/arrow-long-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b36d8e08099d3597d27773717da3804bcca332ba
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-long-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-path-rounded-square.svg b/priv/hero_icons/optimized/24/solid/arrow-path-rounded-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0808a5723d618784b4adc33baabf7d3987732125
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-path-rounded-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-path.svg b/priv/hero_icons/optimized/24/solid/arrow-path.svg
new file mode 100644
index 0000000000000000000000000000000000000000..48a71fd1aec09f82f06afe534b6446c8dc975b2c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-path.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-right-circle.svg b/priv/hero_icons/optimized/24/solid/arrow-right-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..424f75a43e03097de4fb2da7ee6e19fec2a46c5d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-right-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-right-on-rectangle.svg b/priv/hero_icons/optimized/24/solid/arrow-right-on-rectangle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..73a7a7eb1f2e39c4fdc5b802872c290e184a96ac
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-right-on-rectangle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-right.svg b/priv/hero_icons/optimized/24/solid/arrow-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1b1bbd1f7b2e24a180054a676052254c1ae0bbcb
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-small-down.svg b/priv/hero_icons/optimized/24/solid/arrow-small-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..790993f59653e118994268f80a6ecfac5c717997
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-small-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-small-left.svg b/priv/hero_icons/optimized/24/solid/arrow-small-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..231b1b258b1fd365a938ea2b5b736a2a2c5e9ca2
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-small-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-small-right.svg b/priv/hero_icons/optimized/24/solid/arrow-small-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5d91261267b1909b21a78f77e0daccb8182ad239
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-small-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-small-up.svg b/priv/hero_icons/optimized/24/solid/arrow-small-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..33b31cfdece91aeeed26d1acd0b04f02191d1fe9
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-small-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-top-right-on-square.svg b/priv/hero_icons/optimized/24/solid/arrow-top-right-on-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ac1bc37729807eeff2ff11108626efb64b383070
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-top-right-on-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-trending-down.svg b/priv/hero_icons/optimized/24/solid/arrow-trending-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f46b6098e318c9447c56f873c227af022450fff8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-trending-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-trending-up.svg b/priv/hero_icons/optimized/24/solid/arrow-trending-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f2ece6e4f31c3212704be78ae6bbd2d9c31df885
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-trending-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-up-circle.svg b/priv/hero_icons/optimized/24/solid/arrow-up-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0a9999ff60567d08b71161810aff3d460c67c294
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-up-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-up-left.svg b/priv/hero_icons/optimized/24/solid/arrow-up-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b6f9c2e7da75d5ecfa8e9abb140b48a6d596e9a0
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-up-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-up-on-square-stack.svg b/priv/hero_icons/optimized/24/solid/arrow-up-on-square-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b661da7ab442a0898cca25025396d00c51ec14f6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-up-on-square-stack.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-up-on-square.svg b/priv/hero_icons/optimized/24/solid/arrow-up-on-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cba893e0f58116f70fe9b83b5bc466c6c7948af3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-up-on-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-up-right.svg b/priv/hero_icons/optimized/24/solid/arrow-up-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7554631b00e77933b4779a5985c1936153b70d1f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-up-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-up-tray.svg b/priv/hero_icons/optimized/24/solid/arrow-up-tray.svg
new file mode 100644
index 0000000000000000000000000000000000000000..19093f6e2f76ea8bf0143376bca6a328a873298b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-up-tray.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-up.svg b/priv/hero_icons/optimized/24/solid/arrow-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..16f6c79d9c14c0c1e875e8681823bda3a57a5f2c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-uturn-down.svg b/priv/hero_icons/optimized/24/solid/arrow-uturn-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..69750249172d808ad58f04099e8cf3a9e76bfe71
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-uturn-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-uturn-left.svg b/priv/hero_icons/optimized/24/solid/arrow-uturn-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f0b679a06b96c81d11786970a50136fb553f9044
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-uturn-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-uturn-right.svg b/priv/hero_icons/optimized/24/solid/arrow-uturn-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2da0f98c6e8c10a88b526e7bc319755ad15bc2b8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-uturn-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrow-uturn-up.svg b/priv/hero_icons/optimized/24/solid/arrow-uturn-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8cfe23d642cfc7153bd5d208a931037a414b11f8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrow-uturn-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrows-pointing-in.svg b/priv/hero_icons/optimized/24/solid/arrows-pointing-in.svg
new file mode 100644
index 0000000000000000000000000000000000000000..604920f07f139db9d73c0da4e138a59769b230ae
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrows-pointing-in.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrows-pointing-out.svg b/priv/hero_icons/optimized/24/solid/arrows-pointing-out.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2399662d32ce57543f17c6c6681c130a0b4b1222
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrows-pointing-out.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrows-right-left.svg b/priv/hero_icons/optimized/24/solid/arrows-right-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..93fb7f11e5809a0e749dbb49900d96bdef398be3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrows-right-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/arrows-up-down.svg b/priv/hero_icons/optimized/24/solid/arrows-up-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..356e9ca3eb59e12144fdbd8b76b2df55d37aaff2
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/arrows-up-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/at-symbol.svg b/priv/hero_icons/optimized/24/solid/at-symbol.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a02c654e7c287e1f74774eceeb45a16e5214b124
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/at-symbol.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/backspace.svg b/priv/hero_icons/optimized/24/solid/backspace.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e5a79c211a769e0f63c82f1861fe713547a13a06
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/backspace.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/backward.svg b/priv/hero_icons/optimized/24/solid/backward.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bdf2a01aef1b2fa4102eabf82ebdc7a5c11b25f6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/backward.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/banknotes.svg b/priv/hero_icons/optimized/24/solid/banknotes.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1cc180396333b1fef272fb34b0b0324a7071f644
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/banknotes.svg
@@ -0,0 +1,5 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bars-2.svg b/priv/hero_icons/optimized/24/solid/bars-2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6ee47abf84011e688f19700bcdfce22d52341733
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bars-2.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bars-3-bottom-left.svg b/priv/hero_icons/optimized/24/solid/bars-3-bottom-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a804c11064e0b0872c11cb727c40f67b75833a0a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bars-3-bottom-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bars-3-bottom-right.svg b/priv/hero_icons/optimized/24/solid/bars-3-bottom-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2fd11ad9fc37a63b851a90a7a5474ee290f7aab9
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bars-3-bottom-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bars-3-center-left.svg b/priv/hero_icons/optimized/24/solid/bars-3-center-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9a2c17085d357922fc0705644a3025ed789f89b4
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bars-3-center-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bars-3.svg b/priv/hero_icons/optimized/24/solid/bars-3.svg
new file mode 100644
index 0000000000000000000000000000000000000000..85584e88348be4efb270225c4934e0c4e95f25ab
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bars-3.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bars-4.svg b/priv/hero_icons/optimized/24/solid/bars-4.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e3591d15400313193a8403336b2002b6d5319516
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bars-4.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bars-arrow-down.svg b/priv/hero_icons/optimized/24/solid/bars-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..10140b85922b61d293d6f0e2ead08c7212054c1d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bars-arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bars-arrow-up.svg b/priv/hero_icons/optimized/24/solid/bars-arrow-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4b3d4a7c00a352780a7c806d6579d7ea72349e50
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bars-arrow-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/battery-0.svg b/priv/hero_icons/optimized/24/solid/battery-0.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f03a73789975bde26cdbca61cbf551a8daeaf946
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/battery-0.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/battery-100.svg b/priv/hero_icons/optimized/24/solid/battery-100.svg
new file mode 100644
index 0000000000000000000000000000000000000000..62e4ec92319f801d2a4cbee0cd0dafaaee47404c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/battery-100.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/battery-50.svg b/priv/hero_icons/optimized/24/solid/battery-50.svg
new file mode 100644
index 0000000000000000000000000000000000000000..63344d75ec92c6f3de4840c4342342ee6e6fc2bc
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/battery-50.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/beaker.svg b/priv/hero_icons/optimized/24/solid/beaker.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e0b73ccd7a5a531e82753d0004eefb8a46a00502
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/beaker.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bell-alert.svg b/priv/hero_icons/optimized/24/solid/bell-alert.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f280b00d89cc4140b6634e8e38137de2ecfd292a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bell-alert.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bell-slash.svg b/priv/hero_icons/optimized/24/solid/bell-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0ef076cc99eab527f7d2aecece32de9cbf50ccc8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bell-slash.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bell-snooze.svg b/priv/hero_icons/optimized/24/solid/bell-snooze.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cf93ae0936d353ce47c5ab274500f8e74754f398
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bell-snooze.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bell.svg b/priv/hero_icons/optimized/24/solid/bell.svg
new file mode 100644
index 0000000000000000000000000000000000000000..818496e0e630a7f2df0359273b0ac3e0fdc43a5e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bell.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bolt-slash.svg b/priv/hero_icons/optimized/24/solid/bolt-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..59d24f74b1c8defab2dcd2c917277c3a474625d5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bolt-slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bolt.svg b/priv/hero_icons/optimized/24/solid/bolt.svg
new file mode 100644
index 0000000000000000000000000000000000000000..596c47a12c2cdc9104179647e149c6cc0f722535
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bolt.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/book-open.svg b/priv/hero_icons/optimized/24/solid/book-open.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2e0a1811383416610762049dbaff7891ee850524
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/book-open.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bookmark-slash.svg b/priv/hero_icons/optimized/24/solid/bookmark-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8435a025831560a2f384c53aa8e07e4fdb1ce872
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bookmark-slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bookmark-square.svg b/priv/hero_icons/optimized/24/solid/bookmark-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a4d3ca5b66740abda7250b775ebcd6d58307ba92
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bookmark-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bookmark.svg b/priv/hero_icons/optimized/24/solid/bookmark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e9f3fb71b0b81bc46eb51600e0575dc27f2517d8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bookmark.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/briefcase.svg b/priv/hero_icons/optimized/24/solid/briefcase.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a66af5689ca9afee87f76dfb79cb8876ac6da715
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/briefcase.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/bug-ant.svg b/priv/hero_icons/optimized/24/solid/bug-ant.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3c16cbccbdd0f3ec7bc1cdaea92773e65df55424
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/bug-ant.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/building-library.svg b/priv/hero_icons/optimized/24/solid/building-library.svg
new file mode 100644
index 0000000000000000000000000000000000000000..90f86401cdc50bcc540fc591d96a2b4084634a61
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/building-library.svg
@@ -0,0 +1,5 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/building-office-2.svg b/priv/hero_icons/optimized/24/solid/building-office-2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..240eedbf8637074c3a93e6fe086f96fc4c051626
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/building-office-2.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/building-office.svg b/priv/hero_icons/optimized/24/solid/building-office.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9883e33bf367c74d501bf9831b65d4011491836d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/building-office.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/building-storefront.svg b/priv/hero_icons/optimized/24/solid/building-storefront.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f3b54baf31940776e7ca1ab9043aa28ef1766283
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/building-storefront.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/cake.svg b/priv/hero_icons/optimized/24/solid/cake.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f13b308f98de8d791d253f3340ac892517399593
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/cake.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/calculator.svg b/priv/hero_icons/optimized/24/solid/calculator.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e058510e348dfd62f077ac8e245aad6f81d7ace7
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/calculator.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/calendar-days.svg b/priv/hero_icons/optimized/24/solid/calendar-days.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0df9b163b0b64e9284cb5f025fb225544d6c3ab8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/calendar-days.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/calendar.svg b/priv/hero_icons/optimized/24/solid/calendar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..27e208c3025862f17b63b3f5b0907a8dc2a691ef
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/calendar.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/camera.svg b/priv/hero_icons/optimized/24/solid/camera.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e58165d6b400958a2e00d7a1a35d1170e27976bb
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/camera.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chart-bar-square.svg b/priv/hero_icons/optimized/24/solid/chart-bar-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d4af840af96dd10a44d85d1d30e51c4fa1ff43ff
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chart-bar-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chart-bar.svg b/priv/hero_icons/optimized/24/solid/chart-bar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..abe5349ea13417cf479abab29ba90d6870903434
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chart-bar.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chart-pie.svg b/priv/hero_icons/optimized/24/solid/chart-pie.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5aea729a8a1af5d559d146e8cbf60ea5eedef1e9
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chart-pie.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chat-bubble-bottom-center-text.svg b/priv/hero_icons/optimized/24/solid/chat-bubble-bottom-center-text.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bff24c4b90556a59479ec1e0965ce30ebc55d552
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chat-bubble-bottom-center-text.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chat-bubble-bottom-center.svg b/priv/hero_icons/optimized/24/solid/chat-bubble-bottom-center.svg
new file mode 100644
index 0000000000000000000000000000000000000000..eab7a41897c7b3244b98009930f1fba0d2f21b41
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chat-bubble-bottom-center.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chat-bubble-left-ellipsis.svg b/priv/hero_icons/optimized/24/solid/chat-bubble-left-ellipsis.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1ee6159d3218fa0ee9140151d75b67fbb06e1d36
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chat-bubble-left-ellipsis.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chat-bubble-left-right.svg b/priv/hero_icons/optimized/24/solid/chat-bubble-left-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..80ad26d82db360d2e7a7db49850d81899c7194dd
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chat-bubble-left-right.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chat-bubble-left.svg b/priv/hero_icons/optimized/24/solid/chat-bubble-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3dd81b7985d8bfd4b8cbfee1d95bf78af9747dcd
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chat-bubble-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chat-bubble-oval-left-ellipsis.svg b/priv/hero_icons/optimized/24/solid/chat-bubble-oval-left-ellipsis.svg
new file mode 100644
index 0000000000000000000000000000000000000000..815c6d756b229d00c346f67d300974bf44e95d82
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chat-bubble-oval-left-ellipsis.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chat-bubble-oval-left.svg b/priv/hero_icons/optimized/24/solid/chat-bubble-oval-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..473b921c0bfa1dd46199cea41740c867f134ec7b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chat-bubble-oval-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/check-badge.svg b/priv/hero_icons/optimized/24/solid/check-badge.svg
new file mode 100644
index 0000000000000000000000000000000000000000..058b329f1922356eaab0ec05264e0ac8bd1dfadb
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/check-badge.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/check-circle.svg b/priv/hero_icons/optimized/24/solid/check-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2b9083136230e6b8c22011cf9c4c920fa69d0ed2
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/check-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/check.svg b/priv/hero_icons/optimized/24/solid/check.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2a6bc17dd10aa0df1b935be4221c757b400811a6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/check.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chevron-double-down.svg b/priv/hero_icons/optimized/24/solid/chevron-double-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ddbe304a89d800aad5e5953bde91e251fb4c0a8a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chevron-double-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chevron-double-left.svg b/priv/hero_icons/optimized/24/solid/chevron-double-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5c6539d637797026518bbbf4bf1997f9efe34d0c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chevron-double-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chevron-double-right.svg b/priv/hero_icons/optimized/24/solid/chevron-double-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7e25238edff6b9d95692dbdcb048c5addce9efc8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chevron-double-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chevron-double-up.svg b/priv/hero_icons/optimized/24/solid/chevron-double-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..029e6871d1c78541320aedf75d74c05af077afbd
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chevron-double-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chevron-down.svg b/priv/hero_icons/optimized/24/solid/chevron-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4f9ce7e95704732da8091d862175877862cd0961
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chevron-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chevron-left.svg b/priv/hero_icons/optimized/24/solid/chevron-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2d89e8b267a51b308324af63f7472ac70c597a45
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chevron-left.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chevron-right.svg b/priv/hero_icons/optimized/24/solid/chevron-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..36e4859bed28158d91c86359d86577b4385a330b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chevron-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chevron-up-down.svg b/priv/hero_icons/optimized/24/solid/chevron-up-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..58edbc3fa12fcda2bbd797f30846e179ec89cf13
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chevron-up-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/chevron-up.svg b/priv/hero_icons/optimized/24/solid/chevron-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9abe9cd1ff9cc992bfa2b07357c270081619c5cd
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/chevron-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/circle-stack.svg b/priv/hero_icons/optimized/24/solid/circle-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5a49d8022a5bf36f22f644b1c2695a7da7cdc27f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/circle-stack.svg
@@ -0,0 +1,6 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/clipboard-document-check.svg b/priv/hero_icons/optimized/24/solid/clipboard-document-check.svg
new file mode 100644
index 0000000000000000000000000000000000000000..21ec021e758dc019676ce49e53990eaee3f7327c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/clipboard-document-check.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/clipboard-document-list.svg b/priv/hero_icons/optimized/24/solid/clipboard-document-list.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d60bed5f50c89855a99940c6e5aa7418742b9854
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/clipboard-document-list.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/clipboard-document.svg b/priv/hero_icons/optimized/24/solid/clipboard-document.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d70b70830a8ae624bc5f0fa2332cb80c0d94470c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/clipboard-document.svg
@@ -0,0 +1,5 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/clipboard.svg b/priv/hero_icons/optimized/24/solid/clipboard.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c09970f2c023273b5dd95d426fb02a522393031a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/clipboard.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/clock.svg b/priv/hero_icons/optimized/24/solid/clock.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1d6fb4a612cddc5f7b6c425b419b7738cf337dbb
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/clock.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/cloud-arrow-down.svg b/priv/hero_icons/optimized/24/solid/cloud-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d6cf7c5eda2bfd00c5395f79c30a1fbb13a689e4
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/cloud-arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/cloud-arrow-up.svg b/priv/hero_icons/optimized/24/solid/cloud-arrow-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7e0dceed999ad361b135c7c17dea76ce07abc9ac
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/cloud-arrow-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/cloud.svg b/priv/hero_icons/optimized/24/solid/cloud.svg
new file mode 100644
index 0000000000000000000000000000000000000000..95d0c733a55d4d6cec19092035a22f27cf425427
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/cloud.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/code-bracket-square.svg b/priv/hero_icons/optimized/24/solid/code-bracket-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..103f73be8b674c3718657e1eedcb74ef85b7fd07
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/code-bracket-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/code-bracket.svg b/priv/hero_icons/optimized/24/solid/code-bracket.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9f331efe4e9ad44a5b54b82e10e88bc4d41dcd9c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/code-bracket.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/cog-6-tooth.svg b/priv/hero_icons/optimized/24/solid/cog-6-tooth.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ba6fca5de75d16815ab6538f690dc50cbdab44f6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/cog-6-tooth.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/cog-8-tooth.svg b/priv/hero_icons/optimized/24/solid/cog-8-tooth.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9b9b1a614a3241289cee4e2dff0b348f426d311b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/cog-8-tooth.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/cog.svg b/priv/hero_icons/optimized/24/solid/cog.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e854f7305e2883309c0ec4c894ad0d065cd3185b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/cog.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/command-line.svg b/priv/hero_icons/optimized/24/solid/command-line.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e2a0af88d2bbebb992d96114cdada8b9be79f7ab
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/command-line.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/computer-desktop.svg b/priv/hero_icons/optimized/24/solid/computer-desktop.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5b7f2efa87586551c2245e293d7a291e83e76a0e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/computer-desktop.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/cpu-chip.svg b/priv/hero_icons/optimized/24/solid/cpu-chip.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e20f6fb088ca733520f43c4faabaf7bcf564acc7
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/cpu-chip.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/credit-card.svg b/priv/hero_icons/optimized/24/solid/credit-card.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fe4dc14ee1ebf73d65d3069f1c37a73b5d34eeb8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/credit-card.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/cube-transparent.svg b/priv/hero_icons/optimized/24/solid/cube-transparent.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5577f26828965375187394430f1cba88ff8ed39c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/cube-transparent.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/cube.svg b/priv/hero_icons/optimized/24/solid/cube.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b0029f2658e3d0487e8462a89001df0af87bed30
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/cube.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/currency-bangladeshi.svg b/priv/hero_icons/optimized/24/solid/currency-bangladeshi.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ca13c68ad1c96e553372f2fe3704611319e77146
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/currency-bangladeshi.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/currency-dollar.svg b/priv/hero_icons/optimized/24/solid/currency-dollar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e0155df484073a7e869dd2e300f461d2ca1c81da
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/currency-dollar.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/currency-euro.svg b/priv/hero_icons/optimized/24/solid/currency-euro.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2926c252daffc6bf61c3de5c6ed15d47beec22a2
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/currency-euro.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/currency-pound.svg b/priv/hero_icons/optimized/24/solid/currency-pound.svg
new file mode 100644
index 0000000000000000000000000000000000000000..547f725bbb3966cdff300f0fbbfa67815f2b35af
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/currency-pound.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/currency-rupee.svg b/priv/hero_icons/optimized/24/solid/currency-rupee.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2ee9b46bb6133ffd38cbe267e7de702e8a68b9f3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/currency-rupee.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/currency-yen.svg b/priv/hero_icons/optimized/24/solid/currency-yen.svg
new file mode 100644
index 0000000000000000000000000000000000000000..65ef9bc4177e61319288309fe7245a696e98a55b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/currency-yen.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/cursor-arrow-rays.svg b/priv/hero_icons/optimized/24/solid/cursor-arrow-rays.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c0e462ba8a58bdf875f803bbe89d5dc55a91219b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/cursor-arrow-rays.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/cursor-arrow-ripple.svg b/priv/hero_icons/optimized/24/solid/cursor-arrow-ripple.svg
new file mode 100644
index 0000000000000000000000000000000000000000..867faa4154ace1cf8aff6c78e78d5ecd28e4a7b5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/cursor-arrow-ripple.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/device-phone-mobile.svg b/priv/hero_icons/optimized/24/solid/device-phone-mobile.svg
new file mode 100644
index 0000000000000000000000000000000000000000..eec0738e30fa1c67e941a3c98593a8145679f94a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/device-phone-mobile.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/device-tablet.svg b/priv/hero_icons/optimized/24/solid/device-tablet.svg
new file mode 100644
index 0000000000000000000000000000000000000000..88e2cc8111cc9e70767ec78e61d9912569b9195d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/device-tablet.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/document-arrow-down.svg b/priv/hero_icons/optimized/24/solid/document-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..77ac19cca69ca3cfce5bd9bf4057be45231de520
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/document-arrow-down.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/document-arrow-up.svg b/priv/hero_icons/optimized/24/solid/document-arrow-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bc26cb9161861562f3b21a9ba2570e1ae61c9eb1
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/document-arrow-up.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/document-chart-bar.svg b/priv/hero_icons/optimized/24/solid/document-chart-bar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..83d0eacf13f54c755a4eeb25896ff2c14c6adfe5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/document-chart-bar.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/document-check.svg b/priv/hero_icons/optimized/24/solid/document-check.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e827854442f32a2e741c406254213a4203f3e136
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/document-check.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/document-duplicate.svg b/priv/hero_icons/optimized/24/solid/document-duplicate.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fa7375d4069bea9975dd9815695d9071fbe8c95b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/document-duplicate.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/document-magnifying-glass.svg b/priv/hero_icons/optimized/24/solid/document-magnifying-glass.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ab165f71adcf10956ea643bf5b138423ba22253c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/document-magnifying-glass.svg
@@ -0,0 +1,5 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/document-minus.svg b/priv/hero_icons/optimized/24/solid/document-minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..265c6ebfda30cd554f44dfc48320fcc7b9c04cfc
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/document-minus.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/document-plus.svg b/priv/hero_icons/optimized/24/solid/document-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5e314595c9ad79242c4d983c1c7ce9c1e6926901
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/document-plus.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/document-text.svg b/priv/hero_icons/optimized/24/solid/document-text.svg
new file mode 100644
index 0000000000000000000000000000000000000000..73b30cd0508a1262e9157e504c2d6f8e80b9b184
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/document-text.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/document.svg b/priv/hero_icons/optimized/24/solid/document.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a05f20f1a05d1557833bb5bd4ad3eca779fcfb20
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/document.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/ellipsis-horizontal-circle.svg b/priv/hero_icons/optimized/24/solid/ellipsis-horizontal-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6ec2b50f3c7ca5aff02da253d539c367dfcdda59
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/ellipsis-horizontal-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/ellipsis-horizontal.svg b/priv/hero_icons/optimized/24/solid/ellipsis-horizontal.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ddb5a3fecf588616fc321d15367a4551fad3724a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/ellipsis-horizontal.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/ellipsis-vertical.svg b/priv/hero_icons/optimized/24/solid/ellipsis-vertical.svg
new file mode 100644
index 0000000000000000000000000000000000000000..792c0aeb84a812c98863cdd148a1735d3e7e2d79
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/ellipsis-vertical.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/envelope-open.svg b/priv/hero_icons/optimized/24/solid/envelope-open.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e6bf97b38a3ee181349d6667a7710726294a4699
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/envelope-open.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/envelope.svg b/priv/hero_icons/optimized/24/solid/envelope.svg
new file mode 100644
index 0000000000000000000000000000000000000000..702341b85991c59197efe2d05a46e2d638cdb217
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/envelope.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/exclamation-circle.svg b/priv/hero_icons/optimized/24/solid/exclamation-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fdaadc0e72a97c79a62b2ff0b42cd9fa8623274d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/exclamation-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/exclamation-triangle.svg b/priv/hero_icons/optimized/24/solid/exclamation-triangle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..627a712206ac6e1048762ebd9b8178e206bbd0e6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/exclamation-triangle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/eye-dropper.svg b/priv/hero_icons/optimized/24/solid/eye-dropper.svg
new file mode 100644
index 0000000000000000000000000000000000000000..15b16d04312104b202b490017508457a7274a35b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/eye-dropper.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/eye-slash.svg b/priv/hero_icons/optimized/24/solid/eye-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..11ef99b0b52e5da10a1ed4cdf92a95c52bdbc126
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/eye-slash.svg
@@ -0,0 +1,5 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/eye.svg b/priv/hero_icons/optimized/24/solid/eye.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a648db3b7533af927b6dd4af4129a55c809ffd7b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/eye.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/face-frown.svg b/priv/hero_icons/optimized/24/solid/face-frown.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7040d58cc04238e61e056702fe5b780ec5a16f63
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/face-frown.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/face-smile.svg b/priv/hero_icons/optimized/24/solid/face-smile.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d5e75a2d784ca81f25fd1f99c3181494cc2259e5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/face-smile.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/film.svg b/priv/hero_icons/optimized/24/solid/film.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fbd26cc9d3a47ed8c1e558ed480352db1622effc
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/film.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/finger-print.svg b/priv/hero_icons/optimized/24/solid/finger-print.svg
new file mode 100644
index 0000000000000000000000000000000000000000..68e72b45ba517b2cb1df4b200784b41d9eb25ba5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/finger-print.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/fire.svg b/priv/hero_icons/optimized/24/solid/fire.svg
new file mode 100644
index 0000000000000000000000000000000000000000..93b1b1fc32e332ab2c13f08b08f3b9500bd70657
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/fire.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/flag.svg b/priv/hero_icons/optimized/24/solid/flag.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8c67b013cf4a00460ae5650e4f6ee2e1190d2a3d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/flag.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/folder-arrow-down.svg b/priv/hero_icons/optimized/24/solid/folder-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5d963b4f824c04fe555de670421137e6e5e14b2d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/folder-arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/folder-minus.svg b/priv/hero_icons/optimized/24/solid/folder-minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d0292b84d0d15fbfc94c8582e98a9594e7cb6a77
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/folder-minus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/folder-open.svg b/priv/hero_icons/optimized/24/solid/folder-open.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b9d80ba8d0c2ba7016402fbc8f368142c6b0b69b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/folder-open.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/folder-plus.svg b/priv/hero_icons/optimized/24/solid/folder-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..efaf949427cf2e40041e6273f2a033d67646c2b0
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/folder-plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/folder.svg b/priv/hero_icons/optimized/24/solid/folder.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a7847f894eb5b6a9b6157270fdb3711452bf4f09
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/folder.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/forward.svg b/priv/hero_icons/optimized/24/solid/forward.svg
new file mode 100644
index 0000000000000000000000000000000000000000..de908634267947b67928c4345df1dde2a1d7d18b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/forward.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/funnel.svg b/priv/hero_icons/optimized/24/solid/funnel.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fe5699f9f2f54ff7b0397d2b40ce7f276aa38902
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/funnel.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/gif.svg b/priv/hero_icons/optimized/24/solid/gif.svg
new file mode 100644
index 0000000000000000000000000000000000000000..283e6e521d549c6a01e466961ff98459f130203a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/gif.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/gift-top.svg b/priv/hero_icons/optimized/24/solid/gift-top.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4bd4e6fec7358feec5cb7895e7261801410ea1cc
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/gift-top.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/gift.svg b/priv/hero_icons/optimized/24/solid/gift.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2ca6c9293d7d79be774b6d1edc874abe52d58615
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/gift.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/globe-alt.svg b/priv/hero_icons/optimized/24/solid/globe-alt.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0cbacaeffe7e444ee4dc5983cce38509501fb4b1
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/globe-alt.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/globe-americas.svg b/priv/hero_icons/optimized/24/solid/globe-americas.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5ae0d5daef8dfb279e8c2a4c203aebdb1a195e86
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/globe-americas.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/globe-asia-australia.svg b/priv/hero_icons/optimized/24/solid/globe-asia-australia.svg
new file mode 100644
index 0000000000000000000000000000000000000000..14249d63fc69f2fc4e5bd33512ec96a8c0df46e8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/globe-asia-australia.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/globe-europe-africa.svg b/priv/hero_icons/optimized/24/solid/globe-europe-africa.svg
new file mode 100644
index 0000000000000000000000000000000000000000..49a78fd3d0f0bd0df93b52030166dd88ae914cf5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/globe-europe-africa.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/hand-raised.svg b/priv/hero_icons/optimized/24/solid/hand-raised.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1717d5111b261aec8a04ee20773f65bfce44b195
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/hand-raised.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/hand-thumb-down.svg b/priv/hero_icons/optimized/24/solid/hand-thumb-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7a2b9a61b713db3d33f82531d1ce86301b2183c8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/hand-thumb-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/hand-thumb-up.svg b/priv/hero_icons/optimized/24/solid/hand-thumb-up.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4942d2d46970d930f4d330ca5a26241bb2e92259
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/hand-thumb-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/hashtag.svg b/priv/hero_icons/optimized/24/solid/hashtag.svg
new file mode 100644
index 0000000000000000000000000000000000000000..29e677d3fe5c61a053466564de40e57483ec4a60
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/hashtag.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/heart.svg b/priv/hero_icons/optimized/24/solid/heart.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b5f0d9507a0ddbe7bf77c5113ffbe3ec4ae559de
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/heart.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/home-modern.svg b/priv/hero_icons/optimized/24/solid/home-modern.svg
new file mode 100644
index 0000000000000000000000000000000000000000..488685a6f75f8a2f7df1b87be66bb7e09176d30f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/home-modern.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/home.svg b/priv/hero_icons/optimized/24/solid/home.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ec0bae18f70c2c576c450ea75f7591d2dfa567e5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/home.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/identification.svg b/priv/hero_icons/optimized/24/solid/identification.svg
new file mode 100644
index 0000000000000000000000000000000000000000..829b24d589fe90f3e2f9125f3917c5c56029cf43
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/identification.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/inbox-arrow-down.svg b/priv/hero_icons/optimized/24/solid/inbox-arrow-down.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4fd220bdb05ddbbdcdb77af07cb0cafcffa19f0f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/inbox-arrow-down.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/inbox-stack.svg b/priv/hero_icons/optimized/24/solid/inbox-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fffab993f12b4a1cfa1076e55ec1766efd6eff47
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/inbox-stack.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/inbox.svg b/priv/hero_icons/optimized/24/solid/inbox.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b74380ecea1e2cb5e5f70394ad74ad28a9af3668
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/inbox.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/information-circle.svg b/priv/hero_icons/optimized/24/solid/information-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bd2723b51d352d292aa3940daca3c69ea76e4326
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/information-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/key.svg b/priv/hero_icons/optimized/24/solid/key.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6acee2774c0574103671d4d5bec96e96639c3e70
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/key.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/language.svg b/priv/hero_icons/optimized/24/solid/language.svg
new file mode 100644
index 0000000000000000000000000000000000000000..60d1aee4c2a24e0f4a6b73d61f109846899d9ccd
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/language.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/lifebuoy.svg b/priv/hero_icons/optimized/24/solid/lifebuoy.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9ddc8d49bbaeff34f6ba1b35bd96a47e319f5117
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/lifebuoy.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/light-bulb.svg b/priv/hero_icons/optimized/24/solid/light-bulb.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ff49cb336a5bfafa889ed61931c6fcfc2e5e084f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/light-bulb.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/link.svg b/priv/hero_icons/optimized/24/solid/link.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a6dc09300e336fd21b82974bff22a79280e857c8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/link.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/list-bullet.svg b/priv/hero_icons/optimized/24/solid/list-bullet.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7983877ad52771c473c2a81eaa510134c88944dc
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/list-bullet.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/lock-closed.svg b/priv/hero_icons/optimized/24/solid/lock-closed.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8a5a6d7cf60b58293f4bf0bad108b880df9485aa
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/lock-closed.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/lock-open.svg b/priv/hero_icons/optimized/24/solid/lock-open.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4562f7ee390d143454858362d9bbb93895495193
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/lock-open.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/magnifying-glass-circle.svg b/priv/hero_icons/optimized/24/solid/magnifying-glass-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..17a6f282e09783e0aded44c4d76c2852dc5773d3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/magnifying-glass-circle.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/magnifying-glass-minus.svg b/priv/hero_icons/optimized/24/solid/magnifying-glass-minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..06ae161b3b690c190c2cd022f8a34cf221bb79e6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/magnifying-glass-minus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/magnifying-glass-plus.svg b/priv/hero_icons/optimized/24/solid/magnifying-glass-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..92040d0a9eb2f85f1c23474a48dc281833e0c804
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/magnifying-glass-plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/magnifying-glass.svg b/priv/hero_icons/optimized/24/solid/magnifying-glass.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b602e081db08f0ba47a1bc7c29cf01acadeb3a22
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/magnifying-glass.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/map-pin.svg b/priv/hero_icons/optimized/24/solid/map-pin.svg
new file mode 100644
index 0000000000000000000000000000000000000000..92e6785e49b83616688b571917b227c0c187206e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/map-pin.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/map.svg b/priv/hero_icons/optimized/24/solid/map.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9d4f7ddd0aa5918c4c941a9b8fab7bde0641c322
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/map.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/megaphone.svg b/priv/hero_icons/optimized/24/solid/megaphone.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b1f1e10204c1c4678766b0877e23a0f9a6ee889b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/megaphone.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/microphone.svg b/priv/hero_icons/optimized/24/solid/microphone.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a5f4cb6a2d09e47b6283d8875d96cb390d76e48e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/microphone.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/minus-circle.svg b/priv/hero_icons/optimized/24/solid/minus-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8c981ab60674bea091b81f1ce9d0f3abba13d861
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/minus-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/minus-small.svg b/priv/hero_icons/optimized/24/solid/minus-small.svg
new file mode 100644
index 0000000000000000000000000000000000000000..782213ea3e80162b3843abecb0a66668ad8d21c5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/minus-small.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/minus.svg b/priv/hero_icons/optimized/24/solid/minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1fa7117099c6d9036aa3382286e5e0bc5c908e4b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/minus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/moon.svg b/priv/hero_icons/optimized/24/solid/moon.svg
new file mode 100644
index 0000000000000000000000000000000000000000..97d5c5a0de76587a352ced0f46b05f8f049d574e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/moon.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/musical-note.svg b/priv/hero_icons/optimized/24/solid/musical-note.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a9ab9b5ef8dd86936898fd657b77c315f262a78b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/musical-note.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/newspaper.svg b/priv/hero_icons/optimized/24/solid/newspaper.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d1f2c1eb5aa668791b6db3de25c4c699e5c03762
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/newspaper.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/no-symbol.svg b/priv/hero_icons/optimized/24/solid/no-symbol.svg
new file mode 100644
index 0000000000000000000000000000000000000000..42eb7712e40a42672e1fce0c2f835557311632da
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/no-symbol.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/paint-brush.svg b/priv/hero_icons/optimized/24/solid/paint-brush.svg
new file mode 100644
index 0000000000000000000000000000000000000000..35fd5a68e68c47ddea2173f4aad595ab4d1d7787
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/paint-brush.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/paper-airplane.svg b/priv/hero_icons/optimized/24/solid/paper-airplane.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9365a57b6670181be4eea896644d6e87f2f69c2e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/paper-airplane.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/paper-clip.svg b/priv/hero_icons/optimized/24/solid/paper-clip.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0a0dcddd6414b4bfdad82a2f33276696ca3f582c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/paper-clip.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/pause-circle.svg b/priv/hero_icons/optimized/24/solid/pause-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4fe4f2b61ec8c5cfdaada35ac3141faa8e648fa4
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/pause-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/pause.svg b/priv/hero_icons/optimized/24/solid/pause.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2e121ace189e28803a8fcaa89f308222363f2bc1
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/pause.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/pencil-square.svg b/priv/hero_icons/optimized/24/solid/pencil-square.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5f4aaf8c716c75727fa7ef4d05df807afe931410
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/pencil-square.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/pencil.svg b/priv/hero_icons/optimized/24/solid/pencil.svg
new file mode 100644
index 0000000000000000000000000000000000000000..78ec61a3891fcd912d4d21c07dd8e6082036c6a9
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/pencil.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/phone-arrow-down-left.svg b/priv/hero_icons/optimized/24/solid/phone-arrow-down-left.svg
new file mode 100644
index 0000000000000000000000000000000000000000..06f3ba01f2677f52e16c61af992b8ca139541ee0
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/phone-arrow-down-left.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/phone-arrow-up-right.svg b/priv/hero_icons/optimized/24/solid/phone-arrow-up-right.svg
new file mode 100644
index 0000000000000000000000000000000000000000..678c4f6266ef9ded48e814b1c25fb7858b7c9677
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/phone-arrow-up-right.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/phone-x-mark.svg b/priv/hero_icons/optimized/24/solid/phone-x-mark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a017a7de1c6544ddd4a6163516cebd5f24cfa94f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/phone-x-mark.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/phone.svg b/priv/hero_icons/optimized/24/solid/phone.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ca2a6bc1a3123f57355593985df488276825a93f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/phone.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/photo.svg b/priv/hero_icons/optimized/24/solid/photo.svg
new file mode 100644
index 0000000000000000000000000000000000000000..57e023dbd3b19454ffcd59fbad02bf277195a279
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/photo.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/play-circle.svg b/priv/hero_icons/optimized/24/solid/play-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..752273aeac342440e1e2c34987c874a7ce8e52b2
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/play-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/play-pause.svg b/priv/hero_icons/optimized/24/solid/play-pause.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e5bb17cd6db2c716d752741263e02ac926c9bd42
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/play-pause.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/play.svg b/priv/hero_icons/optimized/24/solid/play.svg
new file mode 100644
index 0000000000000000000000000000000000000000..da0e4e2ea3a5e968bd83acf8ab7af13fa02578b1
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/play.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/plus-circle.svg b/priv/hero_icons/optimized/24/solid/plus-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b45f965bd8a7a3fd3ed307db4f121c274a5a31dd
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/plus-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/plus-small.svg b/priv/hero_icons/optimized/24/solid/plus-small.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0c4b74432485eb5d3b871816ed70019c5d2d115f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/plus-small.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/plus.svg b/priv/hero_icons/optimized/24/solid/plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..85d3b14041c50753f555e478908fab2a0507edf1
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/power.svg b/priv/hero_icons/optimized/24/solid/power.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2bf830f860fdec04346b719b5e516638ebdf3407
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/power.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/presentation-chart-bar.svg b/priv/hero_icons/optimized/24/solid/presentation-chart-bar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cb0bc9abab465ba48153eefbe44122ea1cca3e7a
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/presentation-chart-bar.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/presentation-chart-line.svg b/priv/hero_icons/optimized/24/solid/presentation-chart-line.svg
new file mode 100644
index 0000000000000000000000000000000000000000..54e10b2b08f2bf2e4d4ee5d787f3726c1f883f7e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/presentation-chart-line.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/printer.svg b/priv/hero_icons/optimized/24/solid/printer.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4fce7910267d9ea2912cccb3714a732c26279f7f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/printer.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/puzzle-piece.svg b/priv/hero_icons/optimized/24/solid/puzzle-piece.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4f85b374e5ed516102d76e2bd3bef8120be19dd5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/puzzle-piece.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/qr-code.svg b/priv/hero_icons/optimized/24/solid/qr-code.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7f676cab44e549345fd3345e0dcbdfc15a6b8806
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/qr-code.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/question-mark-circle.svg b/priv/hero_icons/optimized/24/solid/question-mark-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2ae51be9741d3c3668fe18043016854998edbf7f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/question-mark-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/queue-list.svg b/priv/hero_icons/optimized/24/solid/queue-list.svg
new file mode 100644
index 0000000000000000000000000000000000000000..536fd88b43f356e28db6c826bbc9d4dd54ad5ece
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/queue-list.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/radio.svg b/priv/hero_icons/optimized/24/solid/radio.svg
new file mode 100644
index 0000000000000000000000000000000000000000..92ca5149e1a37cd73664bce52b3f5d624d2175cc
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/radio.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/receipt-percent.svg b/priv/hero_icons/optimized/24/solid/receipt-percent.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5eb637144283f52e7451ccaaf0f2022b0c06f677
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/receipt-percent.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/receipt-refund.svg b/priv/hero_icons/optimized/24/solid/receipt-refund.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6a1a154e26e15df5d2b36f4d00c7ae6cc0c429be
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/receipt-refund.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/rectangle-group.svg b/priv/hero_icons/optimized/24/solid/rectangle-group.svg
new file mode 100644
index 0000000000000000000000000000000000000000..289d1985dc07b20fc3b57510e4304a5aa97afa31
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/rectangle-group.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/rectangle-stack.svg b/priv/hero_icons/optimized/24/solid/rectangle-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..82a1334e6a3fd2279e00087634ae56af36e640a9
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/rectangle-stack.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/rocket-launch.svg b/priv/hero_icons/optimized/24/solid/rocket-launch.svg
new file mode 100644
index 0000000000000000000000000000000000000000..522fc6461859107783f363daeeb364f6408eafbe
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/rocket-launch.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/rss.svg b/priv/hero_icons/optimized/24/solid/rss.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b9a8ab2e7e314cc93af29aea83ae0e16c1822337
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/rss.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/scale.svg b/priv/hero_icons/optimized/24/solid/scale.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b7e57c7b089af6dbfe79dac494307603eb5819dd
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/scale.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/scissors.svg b/priv/hero_icons/optimized/24/solid/scissors.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9c971b38d857adb38747b41f223df9d76a51cd2b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/scissors.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/server-stack.svg b/priv/hero_icons/optimized/24/solid/server-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c0d3074b96e28a82fd7cb03a873c2286578eb23b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/server-stack.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/server.svg b/priv/hero_icons/optimized/24/solid/server.svg
new file mode 100644
index 0000000000000000000000000000000000000000..55f9aedb4fa8d536ca50cc46c94b4c653de85d8d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/server.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/share.svg b/priv/hero_icons/optimized/24/solid/share.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8f45dfcacb9aef55032c1e63b0d3dba6e6f2d122
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/share.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/shield-check.svg b/priv/hero_icons/optimized/24/solid/shield-check.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2596ace48a269d8a31cb4a864924d47ae4d8ecc3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/shield-check.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/shield-exclamation.svg b/priv/hero_icons/optimized/24/solid/shield-exclamation.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ce53fcc15119eef9b50a1f6bfe7172137b49ab6e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/shield-exclamation.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/shopping-bag.svg b/priv/hero_icons/optimized/24/solid/shopping-bag.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e6503ee38280e2335d2a83d90f192728c915243d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/shopping-bag.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/shopping-cart.svg b/priv/hero_icons/optimized/24/solid/shopping-cart.svg
new file mode 100644
index 0000000000000000000000000000000000000000..931a12f5e316036e2462bbe2e276f962d664db93
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/shopping-cart.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/signal-slash.svg b/priv/hero_icons/optimized/24/solid/signal-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..21c65cb37787d2f277d782fa660daa632e85f933
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/signal-slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/signal.svg b/priv/hero_icons/optimized/24/solid/signal.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9027aef1c96132a154ff96c7ec046938f65cf637
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/signal.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/sparkles.svg b/priv/hero_icons/optimized/24/solid/sparkles.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0d8d0c1904a985a3f1185a52cd518a82d30e39da
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/sparkles.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/speaker-wave.svg b/priv/hero_icons/optimized/24/solid/speaker-wave.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bd84477f2aa09d9f1018df04272373cfdb6d6ec5
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/speaker-wave.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/speaker-x-mark.svg b/priv/hero_icons/optimized/24/solid/speaker-x-mark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e71f1b672f535c1f93567bf005d9a0819655f49b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/speaker-x-mark.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/square-2-stack.svg b/priv/hero_icons/optimized/24/solid/square-2-stack.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c3726a52b18acbe9a03d7a82cb3765261ab95537
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/square-2-stack.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/square-3-stack-3d.svg b/priv/hero_icons/optimized/24/solid/square-3-stack-3d.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8ed638dede9b42b8c73b0df14f016b94a9e233c8
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/square-3-stack-3d.svg
@@ -0,0 +1,5 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/squares-2x2.svg b/priv/hero_icons/optimized/24/solid/squares-2x2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..475f6c3dc341650d612fa76f47bb9df9293f3063
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/squares-2x2.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/squares-plus.svg b/priv/hero_icons/optimized/24/solid/squares-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..88a2dda4d5d31574855fa874bb08d27e1c0f5522
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/squares-plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/star.svg b/priv/hero_icons/optimized/24/solid/star.svg
new file mode 100644
index 0000000000000000000000000000000000000000..850981926041ae5623de26b997e63c437c9575a3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/star.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/stop-circle.svg b/priv/hero_icons/optimized/24/solid/stop-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8e57a2c2743775a3537f814a862a932c0ee53e1d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/stop-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/stop.svg b/priv/hero_icons/optimized/24/solid/stop.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1bf426f615e9949315af810154a8edc3ce95f078
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/stop.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/sun.svg b/priv/hero_icons/optimized/24/solid/sun.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1b597fa1b245590ff1ea0283c25ff88e6e488e9e
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/sun.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/swatch.svg b/priv/hero_icons/optimized/24/solid/swatch.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9b26c0397389bbb9103e148d39ee7dc0aea4ea31
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/swatch.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/table-cells.svg b/priv/hero_icons/optimized/24/solid/table-cells.svg
new file mode 100644
index 0000000000000000000000000000000000000000..151a30c1e25a7ea9534b3dcb34ee16a785505381
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/table-cells.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/tag.svg b/priv/hero_icons/optimized/24/solid/tag.svg
new file mode 100644
index 0000000000000000000000000000000000000000..efcd01bc06684191a5ffde06b27c670905cbf846
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/tag.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/ticket.svg b/priv/hero_icons/optimized/24/solid/ticket.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e947c4166d078cbfbfa97648b2fc7fb4283efc5c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/ticket.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/trash.svg b/priv/hero_icons/optimized/24/solid/trash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ed7bf43cd87a5259f7548e10ecc9d5a19b7fd0f7
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/trash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/trophy.svg b/priv/hero_icons/optimized/24/solid/trophy.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ed7ee1599af85a98f520509a8679fe1b5eb9cdf1
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/trophy.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/truck.svg b/priv/hero_icons/optimized/24/solid/truck.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c218da65f13cd56e4e2a5e0fc105ba8bc9741cb6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/truck.svg
@@ -0,0 +1,5 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/tv.svg b/priv/hero_icons/optimized/24/solid/tv.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8f270260f147e7cc70cac4039e1155510b0c8d6f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/tv.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/user-circle.svg b/priv/hero_icons/optimized/24/solid/user-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..978d0b8d64893a8f2ea67116adcf4ccedfc1350f
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/user-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/user-group.svg b/priv/hero_icons/optimized/24/solid/user-group.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7ae76006b18ee49f15138922e8b392351c31a9e6
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/user-group.svg
@@ -0,0 +1,4 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/user-minus.svg b/priv/hero_icons/optimized/24/solid/user-minus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..062a7c94f4d931fc35e9633d4dfe276c5fa2d567
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/user-minus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/user-plus.svg b/priv/hero_icons/optimized/24/solid/user-plus.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ef313fa9c93d9f2094644f5a452d23402d575960
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/user-plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/user.svg b/priv/hero_icons/optimized/24/solid/user.svg
new file mode 100644
index 0000000000000000000000000000000000000000..207213d8bd98a2acb3fa86cf41e6e410f1423109
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/user.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/users.svg b/priv/hero_icons/optimized/24/solid/users.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2959115d262208fee2d950e04bc56a23c5365890
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/users.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/variable.svg b/priv/hero_icons/optimized/24/solid/variable.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5601cac1b3c83cbbc6144526914fefded8d13a83
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/variable.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/video-camera-slash.svg b/priv/hero_icons/optimized/24/solid/video-camera-slash.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2a344d5a2ee2dae55399770feac0f7ab1a03885b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/video-camera-slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/video-camera.svg b/priv/hero_icons/optimized/24/solid/video-camera.svg
new file mode 100644
index 0000000000000000000000000000000000000000..55bf7b4f48a8e0581d059ec286da45df565082cf
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/video-camera.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/view-columns.svg b/priv/hero_icons/optimized/24/solid/view-columns.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f7295e37138dbe114aa44c4a1d9df01615bbc265
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/view-columns.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/viewfinder-circle.svg b/priv/hero_icons/optimized/24/solid/viewfinder-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e04b727f7d67baa80dddd7e2943a35db8a08fd14
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/viewfinder-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/wallet.svg b/priv/hero_icons/optimized/24/solid/wallet.svg
new file mode 100644
index 0000000000000000000000000000000000000000..001b38a70d4734bfea894f0e60005961da5ee1a3
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/wallet.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/wifi.svg b/priv/hero_icons/optimized/24/solid/wifi.svg
new file mode 100644
index 0000000000000000000000000000000000000000..eb4fd4e6eb01c6aaf6641c89f9ff19d2d2f1297c
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/wifi.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/window.svg b/priv/hero_icons/optimized/24/solid/window.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4de83b3f3c66dd2a0bbd580f02f93dac3818cc7b
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/window.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/wrench-screwdriver.svg b/priv/hero_icons/optimized/24/solid/wrench-screwdriver.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b7e0e9e8d34161caed02faecd3ac14fb7c9c1b02
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/wrench-screwdriver.svg
@@ -0,0 +1,5 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/wrench.svg b/priv/hero_icons/optimized/24/solid/wrench.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3b61d5b35e45cc57af8536b406542b917f03a1f9
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/wrench.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/x-circle.svg b/priv/hero_icons/optimized/24/solid/x-circle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..913782adbc66419b9d7284aa63981c2379240954
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/x-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/hero_icons/optimized/24/solid/x-mark.svg b/priv/hero_icons/optimized/24/solid/x-mark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e525a8f05b1c7fa13bd5969d47194af22614814d
--- /dev/null
+++ b/priv/hero_icons/optimized/24/solid/x-mark.svg
@@ -0,0 +1,3 @@
+
diff --git a/priv/static/favicon.svg b/priv/static/favicon.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bce4626a57d84aba3b5fa5bd31f8d322e00e885d
--- /dev/null
+++ b/priv/static/favicon.svg
@@ -0,0 +1,132 @@
+
+
diff --git a/priv/static/logo.svg b/priv/static/logo.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5d78edcac52b68756d2dc96267eae96c51649375
--- /dev/null
+++ b/priv/static/logo.svg
@@ -0,0 +1,154 @@
+
+
diff --git a/priv/static/robots.txt b/priv/static/robots.txt
new file mode 100644
index 0000000000000000000000000000000000000000..26e06b5f19e872df2c99ee3b1c072e65b8ee7fd7
--- /dev/null
+++ b/priv/static/robots.txt
@@ -0,0 +1,5 @@
+# See https://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
+#
+# To ban all spiders from the entire site uncomment the next two lines:
+# User-agent: *
+# Disallow: /
diff --git a/test/chai_web/controllers/error_html_test.exs b/test/chai_web/controllers/error_html_test.exs
new file mode 100644
index 0000000000000000000000000000000000000000..81d6f353fdffd3bbdacdbd8cdc3795ebd70f6c40
--- /dev/null
+++ b/test/chai_web/controllers/error_html_test.exs
@@ -0,0 +1,14 @@
+defmodule ChaiWeb.ErrorHTMLTest do
+ use ChaiWeb.ConnCase, async: true
+
+ # Bring render_to_string/4 for testing custom views
+ import Phoenix.Template
+
+ test "renders 404.html" do
+ assert render_to_string(ChaiWeb.ErrorHTML, "404", "html", []) == "Not Found"
+ end
+
+ test "renders 500.html" do
+ assert render_to_string(ChaiWeb.ErrorHTML, "500", "html", []) == "Internal Server Error"
+ end
+end
diff --git a/test/support/conn_case.ex b/test/support/conn_case.ex
new file mode 100644
index 0000000000000000000000000000000000000000..6976aaa36c63abb51cb26f8cf5468f1cdb7033fa
--- /dev/null
+++ b/test/support/conn_case.ex
@@ -0,0 +1,37 @@
+defmodule ChaiWeb.ConnCase do
+ @moduledoc """
+ This module defines the test case to be used by
+ tests that require setting up a connection.
+
+ Such tests rely on `Phoenix.ConnTest` and also
+ import other functionality to make it easier
+ to build common data structures and query the data layer.
+
+ Finally, if the test case interacts with the database,
+ we enable the SQL sandbox, so changes done to the database
+ are reverted at the end of every test. If you are using
+ PostgreSQL, you can even run database tests asynchronously
+ by setting `use ChaiWeb.ConnCase, async: true`, although
+ this option is not recommended for other databases.
+ """
+
+ use ExUnit.CaseTemplate
+
+ using do
+ quote do
+ # The default endpoint for testing
+ @endpoint ChaiWeb.Endpoint
+
+ use ChaiWeb, :verified_routes
+
+ # Import conveniences for testing with connections
+ import Plug.Conn
+ import Phoenix.ConnTest
+ import ChaiWeb.ConnCase
+ end
+ end
+
+ setup _tags do
+ {:ok, conn: Phoenix.ConnTest.build_conn()}
+ end
+end
diff --git a/test/test_helper.exs b/test/test_helper.exs
new file mode 100644
index 0000000000000000000000000000000000000000..869559e709ea1905fbc9d169faa289b529a5ad6e
--- /dev/null
+++ b/test/test_helper.exs
@@ -0,0 +1 @@
+ExUnit.start()