├── .dockerignore ├── .env.copy ├── .formatter.exs ├── .github └── workflows │ └── main.yml ├── .gitignore ├── Dockerfile ├── README.md ├── architecture.png ├── assets ├── css │ └── app.css ├── js │ └── app.js ├── tailwind.config.js └── vendor │ ├── file-saver.js │ ├── hammer.js │ └── topbar.js ├── config ├── config.exs ├── dev.exs ├── prod.exs ├── runtime.exs └── test.exs ├── fly.toml ├── lib ├── sticker.ex ├── sticker │ ├── application.ex │ ├── autoplay.ex │ ├── embeddings.ex │ ├── embeddings │ │ ├── index.ex │ │ └── worker.ex │ ├── mailer.ex │ ├── predictions.ex │ ├── predictions │ │ ├── event.ex │ │ └── prediction.ex │ ├── release.ex │ ├── repo.ex │ ├── s3_setup.ex │ ├── s3_update.ex │ ├── search.ex │ ├── search │ │ └── query.ex │ └── utils.ex ├── sticker_web.ex └── sticker_web │ ├── components │ ├── components.ex │ ├── core_components.ex │ ├── layouts.ex │ └── layouts │ │ ├── app.html.heex │ │ └── root.html.heex │ ├── controllers │ ├── error_html.ex │ ├── error_json.ex │ ├── page_controller.ex │ ├── page_html.ex │ ├── page_html │ │ └── home.html.heex │ ├── replicate_webhook_controller.ex │ └── session_controller.ex │ ├── endpoint.ex │ ├── gettext.ex │ ├── live │ ├── admin_live.ex │ ├── admin_live.html.heex │ ├── history_live.ex │ ├── history_live.html.heex │ ├── home_live.ex │ ├── home_live.html.heex │ ├── search_live.ex │ ├── search_live.html.heex │ ├── show_live.ex │ └── show_live.html.heex │ ├── router.ex │ ├── seo.ex │ └── telemetry.ex ├── mix.exs ├── mix.lock ├── priv ├── gettext │ ├── en │ │ └── LC_MESSAGES │ │ │ └── errors.po │ └── errors.pot ├── hero_icons │ ├── LICENSE.md │ ├── UPGRADE.md │ └── optimized │ │ ├── 20 │ │ └── solid │ │ │ ├── academic-cap.svg │ │ │ ├── adjustments-horizontal.svg │ │ │ ├── adjustments-vertical.svg │ │ │ ├── archive-box-arrow-down.svg │ │ │ ├── archive-box-x-mark.svg │ │ │ ├── archive-box.svg │ │ │ ├── arrow-down-circle.svg │ │ │ ├── arrow-down-left.svg │ │ │ ├── arrow-down-on-square-stack.svg │ │ │ ├── arrow-down-on-square.svg │ │ │ ├── arrow-down-right.svg │ │ │ ├── arrow-down-tray.svg │ │ │ ├── arrow-down.svg │ │ │ ├── arrow-left-circle.svg │ │ │ ├── arrow-left-on-rectangle.svg │ │ │ ├── arrow-left.svg │ │ │ ├── arrow-long-down.svg │ │ │ ├── arrow-long-left.svg │ │ │ ├── arrow-long-right.svg │ │ │ ├── arrow-long-up.svg │ │ │ ├── arrow-path-rounded-square.svg │ │ │ ├── arrow-path.svg │ │ │ ├── arrow-right-circle.svg │ │ │ ├── arrow-right-on-rectangle.svg │ │ │ ├── arrow-right.svg │ │ │ ├── arrow-small-down.svg │ │ │ ├── arrow-small-left.svg │ │ │ ├── arrow-small-right.svg │ │ │ ├── arrow-small-up.svg │ │ │ ├── arrow-top-right-on-square.svg │ │ │ ├── arrow-trending-down.svg │ │ │ ├── arrow-trending-up.svg │ │ │ ├── arrow-up-circle.svg │ │ │ ├── arrow-up-left.svg │ │ │ ├── arrow-up-on-square-stack.svg │ │ │ ├── arrow-up-on-square.svg │ │ │ ├── arrow-up-right.svg │ │ │ ├── arrow-up-tray.svg │ │ │ ├── arrow-up.svg │ │ │ ├── arrow-uturn-down.svg │ │ │ ├── arrow-uturn-left.svg │ │ │ ├── arrow-uturn-right.svg │ │ │ ├── arrow-uturn-up.svg │ │ │ ├── arrows-pointing-in.svg │ │ │ ├── arrows-pointing-out.svg │ │ │ ├── arrows-right-left.svg │ │ │ ├── arrows-up-down.svg │ │ │ ├── at-symbol.svg │ │ │ ├── backspace.svg │ │ │ ├── backward.svg │ │ │ ├── banknotes.svg │ │ │ ├── bars-2.svg │ │ │ ├── bars-3-bottom-left.svg │ │ │ ├── bars-3-bottom-right.svg │ │ │ ├── bars-3-center-left.svg │ │ │ ├── bars-3.svg │ │ │ ├── bars-4.svg │ │ │ ├── bars-arrow-down.svg │ │ │ ├── bars-arrow-up.svg │ │ │ ├── battery-0.svg │ │ │ ├── battery-100.svg │ │ │ ├── battery-50.svg │ │ │ ├── beaker.svg │ │ │ ├── bell-alert.svg │ │ │ ├── bell-slash.svg │ │ │ ├── bell-snooze.svg │ │ │ ├── bell.svg │ │ │ ├── bolt-slash.svg │ │ │ ├── bolt.svg │ │ │ ├── book-open.svg │ │ │ ├── bookmark-slash.svg │ │ │ ├── bookmark-square.svg │ │ │ ├── bookmark.svg │ │ │ ├── briefcase.svg │ │ │ ├── bug-ant.svg │ │ │ ├── building-library.svg │ │ │ ├── building-office-2.svg │ │ │ ├── building-office.svg │ │ │ ├── building-storefront.svg │ │ │ ├── cake.svg │ │ │ ├── calculator.svg │ │ │ ├── calendar-days.svg │ │ │ ├── calendar.svg │ │ │ ├── camera.svg │ │ │ ├── chart-bar-square.svg │ │ │ ├── chart-bar.svg │ │ │ ├── chart-pie.svg │ │ │ ├── chat-bubble-bottom-center-text.svg │ │ │ ├── chat-bubble-bottom-center.svg │ │ │ ├── chat-bubble-left-ellipsis.svg │ │ │ ├── chat-bubble-left-right.svg │ │ │ ├── chat-bubble-left.svg │ │ │ ├── chat-bubble-oval-left-ellipsis.svg │ │ │ ├── chat-bubble-oval-left.svg │ │ │ ├── check-badge.svg │ │ │ ├── check-circle.svg │ │ │ ├── check.svg │ │ │ ├── chevron-double-down.svg │ │ │ ├── chevron-double-left.svg │ │ │ ├── chevron-double-right.svg │ │ │ ├── chevron-double-up.svg │ │ │ ├── chevron-down.svg │ │ │ ├── chevron-left.svg │ │ │ ├── chevron-right.svg │ │ │ ├── chevron-up-down.svg │ │ │ ├── chevron-up.svg │ │ │ ├── circle-stack.svg │ │ │ ├── clipboard-document-check.svg │ │ │ ├── clipboard-document-list.svg │ │ │ ├── clipboard-document.svg │ │ │ ├── clipboard.svg │ │ │ ├── clock.svg │ │ │ ├── cloud-arrow-down.svg │ │ │ ├── cloud-arrow-up.svg │ │ │ ├── cloud.svg │ │ │ ├── code-bracket-square.svg │ │ │ ├── code-bracket.svg │ │ │ ├── cog-6-tooth.svg │ │ │ ├── cog-8-tooth.svg │ │ │ ├── cog.svg │ │ │ ├── command-line.svg │ │ │ ├── computer-desktop.svg │ │ │ ├── cpu-chip.svg │ │ │ ├── credit-card.svg │ │ │ ├── cube-transparent.svg │ │ │ ├── cube.svg │ │ │ ├── currency-bangladeshi.svg │ │ │ ├── currency-dollar.svg │ │ │ ├── currency-euro.svg │ │ │ ├── currency-pound.svg │ │ │ ├── currency-rupee.svg │ │ │ ├── currency-yen.svg │ │ │ ├── cursor-arrow-rays.svg │ │ │ ├── cursor-arrow-ripple.svg │ │ │ ├── device-phone-mobile.svg │ │ │ ├── device-tablet.svg │ │ │ ├── document-arrow-down.svg │ │ │ ├── document-arrow-up.svg │ │ │ ├── document-chart-bar.svg │ │ │ ├── document-check.svg │ │ │ ├── document-duplicate.svg │ │ │ ├── document-magnifying-glass.svg │ │ │ ├── document-minus.svg │ │ │ ├── document-plus.svg │ │ │ ├── document-text.svg │ │ │ ├── document.svg │ │ │ ├── ellipsis-horizontal-circle.svg │ │ │ ├── ellipsis-horizontal.svg │ │ │ ├── ellipsis-vertical.svg │ │ │ ├── envelope-open.svg │ │ │ ├── envelope.svg │ │ │ ├── exclamation-circle.svg │ │ │ ├── exclamation-triangle.svg │ │ │ ├── eye-dropper.svg │ │ │ ├── eye-slash.svg │ │ │ ├── eye.svg │ │ │ ├── face-frown.svg │ │ │ ├── face-smile.svg │ │ │ ├── film.svg │ │ │ ├── finger-print.svg │ │ │ ├── fire.svg │ │ │ ├── flag.svg │ │ │ ├── folder-arrow-down.svg │ │ │ ├── folder-minus.svg │ │ │ ├── folder-open.svg │ │ │ ├── folder-plus.svg │ │ │ ├── folder.svg │ │ │ ├── forward.svg │ │ │ ├── funnel.svg │ │ │ ├── gif.svg │ │ │ ├── gift-top.svg │ │ │ ├── gift.svg │ │ │ ├── globe-alt.svg │ │ │ ├── globe-americas.svg │ │ │ ├── globe-asia-australia.svg │ │ │ ├── globe-europe-africa.svg │ │ │ ├── hand-raised.svg │ │ │ ├── hand-thumb-down.svg │ │ │ ├── hand-thumb-up.svg │ │ │ ├── hashtag.svg │ │ │ ├── heart.svg │ │ │ ├── home-modern.svg │ │ │ ├── home.svg │ │ │ ├── identification.svg │ │ │ ├── inbox-arrow-down.svg │ │ │ ├── inbox-stack.svg │ │ │ ├── inbox.svg │ │ │ ├── information-circle.svg │ │ │ ├── key.svg │ │ │ ├── language.svg │ │ │ ├── lifebuoy.svg │ │ │ ├── light-bulb.svg │ │ │ ├── link.svg │ │ │ ├── list-bullet.svg │ │ │ ├── lock-closed.svg │ │ │ ├── lock-open.svg │ │ │ ├── magnifying-glass-circle.svg │ │ │ ├── magnifying-glass-minus.svg │ │ │ ├── magnifying-glass-plus.svg │ │ │ ├── magnifying-glass.svg │ │ │ ├── map-pin.svg │ │ │ ├── map.svg │ │ │ ├── megaphone.svg │ │ │ ├── microphone.svg │ │ │ ├── minus-circle.svg │ │ │ ├── minus-small.svg │ │ │ ├── minus.svg │ │ │ ├── moon.svg │ │ │ ├── musical-note.svg │ │ │ ├── newspaper.svg │ │ │ ├── no-symbol.svg │ │ │ ├── paint-brush.svg │ │ │ ├── paper-airplane.svg │ │ │ ├── paper-clip.svg │ │ │ ├── pause-circle.svg │ │ │ ├── pause.svg │ │ │ ├── pencil-square.svg │ │ │ ├── pencil.svg │ │ │ ├── phone-arrow-down-left.svg │ │ │ ├── phone-arrow-up-right.svg │ │ │ ├── phone-x-mark.svg │ │ │ ├── phone.svg │ │ │ ├── photo.svg │ │ │ ├── play-circle.svg │ │ │ ├── play-pause.svg │ │ │ ├── play.svg │ │ │ ├── plus-circle.svg │ │ │ ├── plus-small.svg │ │ │ ├── plus.svg │ │ │ ├── power.svg │ │ │ ├── presentation-chart-bar.svg │ │ │ ├── presentation-chart-line.svg │ │ │ ├── printer.svg │ │ │ ├── puzzle-piece.svg │ │ │ ├── qr-code.svg │ │ │ ├── question-mark-circle.svg │ │ │ ├── queue-list.svg │ │ │ ├── radio.svg │ │ │ ├── receipt-percent.svg │ │ │ ├── receipt-refund.svg │ │ │ ├── rectangle-group.svg │ │ │ ├── rectangle-stack.svg │ │ │ ├── rocket-launch.svg │ │ │ ├── rss.svg │ │ │ ├── scale.svg │ │ │ ├── scissors.svg │ │ │ ├── server-stack.svg │ │ │ ├── server.svg │ │ │ ├── share.svg │ │ │ ├── shield-check.svg │ │ │ ├── shield-exclamation.svg │ │ │ ├── shopping-bag.svg │ │ │ ├── shopping-cart.svg │ │ │ ├── signal-slash.svg │ │ │ ├── signal.svg │ │ │ ├── sparkles.svg │ │ │ ├── speaker-wave.svg │ │ │ ├── speaker-x-mark.svg │ │ │ ├── square-2-stack.svg │ │ │ ├── square-3-stack-3d.svg │ │ │ ├── squares-2x2.svg │ │ │ ├── squares-plus.svg │ │ │ ├── star.svg │ │ │ ├── stop-circle.svg │ │ │ ├── stop.svg │ │ │ ├── sun.svg │ │ │ ├── swatch.svg │ │ │ ├── table-cells.svg │ │ │ ├── tag.svg │ │ │ ├── ticket.svg │ │ │ ├── trash.svg │ │ │ ├── trophy.svg │ │ │ ├── truck.svg │ │ │ ├── tv.svg │ │ │ ├── user-circle.svg │ │ │ ├── user-group.svg │ │ │ ├── user-minus.svg │ │ │ ├── user-plus.svg │ │ │ ├── user.svg │ │ │ ├── users.svg │ │ │ ├── variable.svg │ │ │ ├── video-camera-slash.svg │ │ │ ├── video-camera.svg │ │ │ ├── view-columns.svg │ │ │ ├── viewfinder-circle.svg │ │ │ ├── wallet.svg │ │ │ ├── wifi.svg │ │ │ ├── window.svg │ │ │ ├── wrench-screwdriver.svg │ │ │ ├── wrench.svg │ │ │ ├── x-circle.svg │ │ │ └── x-mark.svg │ │ └── 24 │ │ ├── outline │ │ ├── academic-cap.svg │ │ ├── adjustments-horizontal.svg │ │ ├── adjustments-vertical.svg │ │ ├── archive-box-arrow-down.svg │ │ ├── archive-box-x-mark.svg │ │ ├── archive-box.svg │ │ ├── arrow-down-circle.svg │ │ ├── arrow-down-left.svg │ │ ├── arrow-down-on-square-stack.svg │ │ ├── arrow-down-on-square.svg │ │ ├── arrow-down-right.svg │ │ ├── arrow-down-tray.svg │ │ ├── arrow-down.svg │ │ ├── arrow-left-circle.svg │ │ ├── arrow-left-on-rectangle.svg │ │ ├── arrow-left.svg │ │ ├── arrow-long-down.svg │ │ ├── arrow-long-left.svg │ │ ├── arrow-long-right.svg │ │ ├── arrow-long-up.svg │ │ ├── arrow-path-rounded-square.svg │ │ ├── arrow-path.svg │ │ ├── arrow-right-circle.svg │ │ ├── arrow-right-on-rectangle.svg │ │ ├── arrow-right.svg │ │ ├── arrow-small-down.svg │ │ ├── arrow-small-left.svg │ │ ├── arrow-small-right.svg │ │ ├── arrow-small-up.svg │ │ ├── arrow-top-right-on-square.svg │ │ ├── arrow-trending-down.svg │ │ ├── arrow-trending-up.svg │ │ ├── arrow-up-circle.svg │ │ ├── arrow-up-left.svg │ │ ├── arrow-up-on-square-stack.svg │ │ ├── arrow-up-on-square.svg │ │ ├── arrow-up-right.svg │ │ ├── arrow-up-tray.svg │ │ ├── arrow-up.svg │ │ ├── arrow-uturn-down.svg │ │ ├── arrow-uturn-left.svg │ │ ├── arrow-uturn-right.svg │ │ ├── arrow-uturn-up.svg │ │ ├── arrows-pointing-in.svg │ │ ├── arrows-pointing-out.svg │ │ ├── arrows-right-left.svg │ │ ├── arrows-up-down.svg │ │ ├── at-symbol.svg │ │ ├── backspace.svg │ │ ├── backward.svg │ │ ├── banknotes.svg │ │ ├── bars-2.svg │ │ ├── bars-3-bottom-left.svg │ │ ├── bars-3-bottom-right.svg │ │ ├── bars-3-center-left.svg │ │ ├── bars-3.svg │ │ ├── bars-4.svg │ │ ├── bars-arrow-down.svg │ │ ├── bars-arrow-up.svg │ │ ├── battery-0.svg │ │ ├── battery-100.svg │ │ ├── battery-50.svg │ │ ├── beaker.svg │ │ ├── bell-alert.svg │ │ ├── bell-slash.svg │ │ ├── bell-snooze.svg │ │ ├── bell.svg │ │ ├── bolt-slash.svg │ │ ├── bolt.svg │ │ ├── book-open.svg │ │ ├── bookmark-slash.svg │ │ ├── bookmark-square.svg │ │ ├── bookmark.svg │ │ ├── briefcase.svg │ │ ├── bug-ant.svg │ │ ├── building-library.svg │ │ ├── building-office-2.svg │ │ ├── building-office.svg │ │ ├── building-storefront.svg │ │ ├── cake.svg │ │ ├── calculator.svg │ │ ├── calendar-days.svg │ │ ├── calendar.svg │ │ ├── camera.svg │ │ ├── chart-bar-square.svg │ │ ├── chart-bar.svg │ │ ├── chart-pie.svg │ │ ├── chat-bubble-bottom-center-text.svg │ │ ├── chat-bubble-bottom-center.svg │ │ ├── chat-bubble-left-ellipsis.svg │ │ ├── chat-bubble-left-right.svg │ │ ├── chat-bubble-left.svg │ │ ├── chat-bubble-oval-left-ellipsis.svg │ │ ├── chat-bubble-oval-left.svg │ │ ├── check-badge.svg │ │ ├── check-circle.svg │ │ ├── check.svg │ │ ├── chevron-double-down.svg │ │ ├── chevron-double-left.svg │ │ ├── chevron-double-right.svg │ │ ├── chevron-double-up.svg │ │ ├── chevron-down.svg │ │ ├── chevron-left.svg │ │ ├── chevron-right.svg │ │ ├── chevron-up-down.svg │ │ ├── chevron-up.svg │ │ ├── circle-stack.svg │ │ ├── clipboard-document-check.svg │ │ ├── clipboard-document-list.svg │ │ ├── clipboard-document.svg │ │ ├── clipboard.svg │ │ ├── clock.svg │ │ ├── cloud-arrow-down.svg │ │ ├── cloud-arrow-up.svg │ │ ├── cloud.svg │ │ ├── code-bracket-square.svg │ │ ├── code-bracket.svg │ │ ├── cog-6-tooth.svg │ │ ├── cog-8-tooth.svg │ │ ├── cog.svg │ │ ├── command-line.svg │ │ ├── computer-desktop.svg │ │ ├── cpu-chip.svg │ │ ├── credit-card.svg │ │ ├── cube-transparent.svg │ │ ├── cube.svg │ │ ├── currency-bangladeshi.svg │ │ ├── currency-dollar.svg │ │ ├── currency-euro.svg │ │ ├── currency-pound.svg │ │ ├── currency-rupee.svg │ │ ├── currency-yen.svg │ │ ├── cursor-arrow-rays.svg │ │ ├── cursor-arrow-ripple.svg │ │ ├── device-phone-mobile.svg │ │ ├── device-tablet.svg │ │ ├── document-arrow-down.svg │ │ ├── document-arrow-up.svg │ │ ├── document-chart-bar.svg │ │ ├── document-check.svg │ │ ├── document-duplicate.svg │ │ ├── document-magnifying-glass.svg │ │ ├── document-minus.svg │ │ ├── document-plus.svg │ │ ├── document-text.svg │ │ ├── document.svg │ │ ├── ellipsis-horizontal-circle.svg │ │ ├── ellipsis-horizontal.svg │ │ ├── ellipsis-vertical.svg │ │ ├── envelope-open.svg │ │ ├── envelope.svg │ │ ├── exclamation-circle.svg │ │ ├── exclamation-triangle.svg │ │ ├── eye-dropper.svg │ │ ├── eye-slash.svg │ │ ├── eye.svg │ │ ├── face-frown.svg │ │ ├── face-smile.svg │ │ ├── film.svg │ │ ├── finger-print.svg │ │ ├── fire.svg │ │ ├── flag.svg │ │ ├── folder-arrow-down.svg │ │ ├── folder-minus.svg │ │ ├── folder-open.svg │ │ ├── folder-plus.svg │ │ ├── folder.svg │ │ ├── forward.svg │ │ ├── funnel.svg │ │ ├── gif.svg │ │ ├── gift-top.svg │ │ ├── gift.svg │ │ ├── globe-alt.svg │ │ ├── globe-americas.svg │ │ ├── globe-asia-australia.svg │ │ ├── globe-europe-africa.svg │ │ ├── hand-raised.svg │ │ ├── hand-thumb-down.svg │ │ ├── hand-thumb-up.svg │ │ ├── hashtag.svg │ │ ├── heart.svg │ │ ├── home-modern.svg │ │ ├── home.svg │ │ ├── identification.svg │ │ ├── inbox-arrow-down.svg │ │ ├── inbox-stack.svg │ │ ├── inbox.svg │ │ ├── information-circle.svg │ │ ├── key.svg │ │ ├── language.svg │ │ ├── lifebuoy.svg │ │ ├── light-bulb.svg │ │ ├── link.svg │ │ ├── list-bullet.svg │ │ ├── lock-closed.svg │ │ ├── lock-open.svg │ │ ├── magnifying-glass-circle.svg │ │ ├── magnifying-glass-minus.svg │ │ ├── magnifying-glass-plus.svg │ │ ├── magnifying-glass.svg │ │ ├── map-pin.svg │ │ ├── map.svg │ │ ├── megaphone.svg │ │ ├── microphone.svg │ │ ├── minus-circle.svg │ │ ├── minus-small.svg │ │ ├── minus.svg │ │ ├── moon.svg │ │ ├── musical-note.svg │ │ ├── newspaper.svg │ │ ├── no-symbol.svg │ │ ├── paint-brush.svg │ │ ├── paper-airplane.svg │ │ ├── paper-clip.svg │ │ ├── pause-circle.svg │ │ ├── pause.svg │ │ ├── pencil-square.svg │ │ ├── pencil.svg │ │ ├── phone-arrow-down-left.svg │ │ ├── phone-arrow-up-right.svg │ │ ├── phone-x-mark.svg │ │ ├── phone.svg │ │ ├── photo.svg │ │ ├── play-circle.svg │ │ ├── play-pause.svg │ │ ├── play.svg │ │ ├── plus-circle.svg │ │ ├── plus-small.svg │ │ ├── plus.svg │ │ ├── power.svg │ │ ├── presentation-chart-bar.svg │ │ ├── presentation-chart-line.svg │ │ ├── printer.svg │ │ ├── puzzle-piece.svg │ │ ├── qr-code.svg │ │ ├── question-mark-circle.svg │ │ ├── queue-list.svg │ │ ├── radio.svg │ │ ├── receipt-percent.svg │ │ ├── receipt-refund.svg │ │ ├── rectangle-group.svg │ │ ├── rectangle-stack.svg │ │ ├── rocket-launch.svg │ │ ├── rss.svg │ │ ├── scale.svg │ │ ├── scissors.svg │ │ ├── server-stack.svg │ │ ├── server.svg │ │ ├── share.svg │ │ ├── shield-check.svg │ │ ├── shield-exclamation.svg │ │ ├── shopping-bag.svg │ │ ├── shopping-cart.svg │ │ ├── signal-slash.svg │ │ ├── signal.svg │ │ ├── sparkles.svg │ │ ├── speaker-wave.svg │ │ ├── speaker-x-mark.svg │ │ ├── square-2-stack.svg │ │ ├── square-3-stack-3d.svg │ │ ├── squares-2x2.svg │ │ ├── squares-plus.svg │ │ ├── star.svg │ │ ├── stop-circle.svg │ │ ├── stop.svg │ │ ├── sun.svg │ │ ├── swatch.svg │ │ ├── table-cells.svg │ │ ├── tag.svg │ │ ├── ticket.svg │ │ ├── trash.svg │ │ ├── trophy.svg │ │ ├── truck.svg │ │ ├── tv.svg │ │ ├── user-circle.svg │ │ ├── user-group.svg │ │ ├── user-minus.svg │ │ ├── user-plus.svg │ │ ├── user.svg │ │ ├── users.svg │ │ ├── variable.svg │ │ ├── video-camera-slash.svg │ │ ├── video-camera.svg │ │ ├── view-columns.svg │ │ ├── viewfinder-circle.svg │ │ ├── wallet.svg │ │ ├── wifi.svg │ │ ├── window.svg │ │ ├── wrench-screwdriver.svg │ │ ├── wrench.svg │ │ ├── x-circle.svg │ │ └── x-mark.svg │ │ └── solid │ │ ├── academic-cap.svg │ │ ├── adjustments-horizontal.svg │ │ ├── adjustments-vertical.svg │ │ ├── archive-box-arrow-down.svg │ │ ├── archive-box-x-mark.svg │ │ ├── archive-box.svg │ │ ├── arrow-down-circle.svg │ │ ├── arrow-down-left.svg │ │ ├── arrow-down-on-square-stack.svg │ │ ├── arrow-down-on-square.svg │ │ ├── arrow-down-right.svg │ │ ├── arrow-down-tray.svg │ │ ├── arrow-down.svg │ │ ├── arrow-left-circle.svg │ │ ├── arrow-left-on-rectangle.svg │ │ ├── arrow-left.svg │ │ ├── arrow-long-down.svg │ │ ├── arrow-long-left.svg │ │ ├── arrow-long-right.svg │ │ ├── arrow-long-up.svg │ │ ├── arrow-path-rounded-square.svg │ │ ├── arrow-path.svg │ │ ├── arrow-right-circle.svg │ │ ├── arrow-right-on-rectangle.svg │ │ ├── arrow-right.svg │ │ ├── arrow-small-down.svg │ │ ├── arrow-small-left.svg │ │ ├── arrow-small-right.svg │ │ ├── arrow-small-up.svg │ │ ├── arrow-top-right-on-square.svg │ │ ├── arrow-trending-down.svg │ │ ├── arrow-trending-up.svg │ │ ├── arrow-up-circle.svg │ │ ├── arrow-up-left.svg │ │ ├── arrow-up-on-square-stack.svg │ │ ├── arrow-up-on-square.svg │ │ ├── arrow-up-right.svg │ │ ├── arrow-up-tray.svg │ │ ├── arrow-up.svg │ │ ├── arrow-uturn-down.svg │ │ ├── arrow-uturn-left.svg │ │ ├── arrow-uturn-right.svg │ │ ├── arrow-uturn-up.svg │ │ ├── arrows-pointing-in.svg │ │ ├── arrows-pointing-out.svg │ │ ├── arrows-right-left.svg │ │ ├── arrows-up-down.svg │ │ ├── at-symbol.svg │ │ ├── backspace.svg │ │ ├── backward.svg │ │ ├── banknotes.svg │ │ ├── bars-2.svg │ │ ├── bars-3-bottom-left.svg │ │ ├── bars-3-bottom-right.svg │ │ ├── bars-3-center-left.svg │ │ ├── bars-3.svg │ │ ├── bars-4.svg │ │ ├── bars-arrow-down.svg │ │ ├── bars-arrow-up.svg │ │ ├── battery-0.svg │ │ ├── battery-100.svg │ │ ├── battery-50.svg │ │ ├── beaker.svg │ │ ├── bell-alert.svg │ │ ├── bell-slash.svg │ │ ├── bell-snooze.svg │ │ ├── bell.svg │ │ ├── bolt-slash.svg │ │ ├── bolt.svg │ │ ├── book-open.svg │ │ ├── bookmark-slash.svg │ │ ├── bookmark-square.svg │ │ ├── bookmark.svg │ │ ├── briefcase.svg │ │ ├── bug-ant.svg │ │ ├── building-library.svg │ │ ├── building-office-2.svg │ │ ├── building-office.svg │ │ ├── building-storefront.svg │ │ ├── cake.svg │ │ ├── calculator.svg │ │ ├── calendar-days.svg │ │ ├── calendar.svg │ │ ├── camera.svg │ │ ├── chart-bar-square.svg │ │ ├── chart-bar.svg │ │ ├── chart-pie.svg │ │ ├── chat-bubble-bottom-center-text.svg │ │ ├── chat-bubble-bottom-center.svg │ │ ├── chat-bubble-left-ellipsis.svg │ │ ├── chat-bubble-left-right.svg │ │ ├── chat-bubble-left.svg │ │ ├── chat-bubble-oval-left-ellipsis.svg │ │ ├── chat-bubble-oval-left.svg │ │ ├── check-badge.svg │ │ ├── check-circle.svg │ │ ├── check.svg │ │ ├── chevron-double-down.svg │ │ ├── chevron-double-left.svg │ │ ├── chevron-double-right.svg │ │ ├── chevron-double-up.svg │ │ ├── chevron-down.svg │ │ ├── chevron-left.svg │ │ ├── chevron-right.svg │ │ ├── chevron-up-down.svg │ │ ├── chevron-up.svg │ │ ├── circle-stack.svg │ │ ├── clipboard-document-check.svg │ │ ├── clipboard-document-list.svg │ │ ├── clipboard-document.svg │ │ ├── clipboard.svg │ │ ├── clock.svg │ │ ├── cloud-arrow-down.svg │ │ ├── cloud-arrow-up.svg │ │ ├── cloud.svg │ │ ├── code-bracket-square.svg │ │ ├── code-bracket.svg │ │ ├── cog-6-tooth.svg │ │ ├── cog-8-tooth.svg │ │ ├── cog.svg │ │ ├── command-line.svg │ │ ├── computer-desktop.svg │ │ ├── cpu-chip.svg │ │ ├── credit-card.svg │ │ ├── cube-transparent.svg │ │ ├── cube.svg │ │ ├── currency-bangladeshi.svg │ │ ├── currency-dollar.svg │ │ ├── currency-euro.svg │ │ ├── currency-pound.svg │ │ ├── currency-rupee.svg │ │ ├── currency-yen.svg │ │ ├── cursor-arrow-rays.svg │ │ ├── cursor-arrow-ripple.svg │ │ ├── device-phone-mobile.svg │ │ ├── device-tablet.svg │ │ ├── document-arrow-down.svg │ │ ├── document-arrow-up.svg │ │ ├── document-chart-bar.svg │ │ ├── document-check.svg │ │ ├── document-duplicate.svg │ │ ├── document-magnifying-glass.svg │ │ ├── document-minus.svg │ │ ├── document-plus.svg │ │ ├── document-text.svg │ │ ├── document.svg │ │ ├── ellipsis-horizontal-circle.svg │ │ ├── ellipsis-horizontal.svg │ │ ├── ellipsis-vertical.svg │ │ ├── envelope-open.svg │ │ ├── envelope.svg │ │ ├── exclamation-circle.svg │ │ ├── exclamation-triangle.svg │ │ ├── eye-dropper.svg │ │ ├── eye-slash.svg │ │ ├── eye.svg │ │ ├── face-frown.svg │ │ ├── face-smile.svg │ │ ├── film.svg │ │ ├── finger-print.svg │ │ ├── fire.svg │ │ ├── flag.svg │ │ ├── folder-arrow-down.svg │ │ ├── folder-minus.svg │ │ ├── folder-open.svg │ │ ├── folder-plus.svg │ │ ├── folder.svg │ │ ├── forward.svg │ │ ├── funnel.svg │ │ ├── gif.svg │ │ ├── gift-top.svg │ │ ├── gift.svg │ │ ├── globe-alt.svg │ │ ├── globe-americas.svg │ │ ├── globe-asia-australia.svg │ │ ├── globe-europe-africa.svg │ │ ├── hand-raised.svg │ │ ├── hand-thumb-down.svg │ │ ├── hand-thumb-up.svg │ │ ├── hashtag.svg │ │ ├── heart.svg │ │ ├── home-modern.svg │ │ ├── home.svg │ │ ├── identification.svg │ │ ├── inbox-arrow-down.svg │ │ ├── inbox-stack.svg │ │ ├── inbox.svg │ │ ├── information-circle.svg │ │ ├── key.svg │ │ ├── language.svg │ │ ├── lifebuoy.svg │ │ ├── light-bulb.svg │ │ ├── link.svg │ │ ├── list-bullet.svg │ │ ├── lock-closed.svg │ │ ├── lock-open.svg │ │ ├── magnifying-glass-circle.svg │ │ ├── magnifying-glass-minus.svg │ │ ├── magnifying-glass-plus.svg │ │ ├── magnifying-glass.svg │ │ ├── map-pin.svg │ │ ├── map.svg │ │ ├── megaphone.svg │ │ ├── microphone.svg │ │ ├── minus-circle.svg │ │ ├── minus-small.svg │ │ ├── minus.svg │ │ ├── moon.svg │ │ ├── musical-note.svg │ │ ├── newspaper.svg │ │ ├── no-symbol.svg │ │ ├── paint-brush.svg │ │ ├── paper-airplane.svg │ │ ├── paper-clip.svg │ │ ├── pause-circle.svg │ │ ├── pause.svg │ │ ├── pencil-square.svg │ │ ├── pencil.svg │ │ ├── phone-arrow-down-left.svg │ │ ├── phone-arrow-up-right.svg │ │ ├── phone-x-mark.svg │ │ ├── phone.svg │ │ ├── photo.svg │ │ ├── play-circle.svg │ │ ├── play-pause.svg │ │ ├── play.svg │ │ ├── plus-circle.svg │ │ ├── plus-small.svg │ │ ├── plus.svg │ │ ├── power.svg │ │ ├── presentation-chart-bar.svg │ │ ├── presentation-chart-line.svg │ │ ├── printer.svg │ │ ├── puzzle-piece.svg │ │ ├── qr-code.svg │ │ ├── question-mark-circle.svg │ │ ├── queue-list.svg │ │ ├── radio.svg │ │ ├── receipt-percent.svg │ │ ├── receipt-refund.svg │ │ ├── rectangle-group.svg │ │ ├── rectangle-stack.svg │ │ ├── rocket-launch.svg │ │ ├── rss.svg │ │ ├── scale.svg │ │ ├── scissors.svg │ │ ├── server-stack.svg │ │ ├── server.svg │ │ ├── share.svg │ │ ├── shield-check.svg │ │ ├── shield-exclamation.svg │ │ ├── shopping-bag.svg │ │ ├── shopping-cart.svg │ │ ├── signal-slash.svg │ │ ├── signal.svg │ │ ├── sparkles.svg │ │ ├── speaker-wave.svg │ │ ├── speaker-x-mark.svg │ │ ├── square-2-stack.svg │ │ ├── square-3-stack-3d.svg │ │ ├── squares-2x2.svg │ │ ├── squares-plus.svg │ │ ├── star.svg │ │ ├── stop-circle.svg │ │ ├── stop.svg │ │ ├── sun.svg │ │ ├── swatch.svg │ │ ├── table-cells.svg │ │ ├── tag.svg │ │ ├── ticket.svg │ │ ├── trash.svg │ │ ├── trophy.svg │ │ ├── truck.svg │ │ ├── tv.svg │ │ ├── user-circle.svg │ │ ├── user-group.svg │ │ ├── user-minus.svg │ │ ├── user-plus.svg │ │ ├── user.svg │ │ ├── users.svg │ │ ├── variable.svg │ │ ├── video-camera-slash.svg │ │ ├── video-camera.svg │ │ ├── view-columns.svg │ │ ├── viewfinder-circle.svg │ │ ├── wallet.svg │ │ ├── wifi.svg │ │ ├── window.svg │ │ ├── wrench-screwdriver.svg │ │ ├── wrench.svg │ │ ├── x-circle.svg │ │ └── x-mark.svg ├── repo │ ├── migrations │ │ ├── .formatter.exs │ │ ├── 20230907191628_create_predictions.exs │ │ ├── 20230908144611_add_votes_to_predictions.exs │ │ ├── 20230908163853_add_outputs_for_original.exs │ │ ├── 20230908164841_change_output_name.exs │ │ ├── 20230908172313_add_featured.exs │ │ ├── 20230908180322_add_uuid.exs │ │ ├── 20230908202657_add_is_flagged.exs │ │ ├── 20230912150808_add_moderation_stuff.exs │ │ ├── 20230912223710_add_embeddings.exs │ │ ├── 20230912225541_add_embeddings_model.exs │ │ ├── 20230927180316_add_image_embedding.exs │ │ ├── 20230927212847_create_queries.exs │ │ ├── 20240225043030_add_prediction_status.exs │ │ ├── 20240226230512_add_flag.exs │ │ ├── 20240227004714_add_autoplay_time.exs │ │ ├── 20240301005227_add_model_to_prediction.exs │ │ └── 20240312034902_add_events.exs │ └── seeds.exs └── static │ ├── .DS_Store │ ├── apple-touch-icon.png │ ├── favicon.ico │ ├── images │ ├── airplane.png │ ├── arnold.png │ ├── arnold_before.png │ ├── chef.png │ ├── cross.png │ ├── loading.png │ ├── new.png │ ├── oven.png │ ├── save.png │ ├── search.png │ ├── sticker-mule-logo.png │ └── thumbs-up.png │ ├── og.webp │ ├── og1.webp │ └── robots.txt ├── rel ├── env.sh.eex └── overlays │ └── bin │ ├── migrate │ ├── migrate.bat │ ├── server │ └── server.bat └── test ├── emoji ├── predictions_test.exs └── search_test.exs ├── emoji_web └── controllers │ ├── error_html_test.exs │ ├── error_json_test.exs │ └── page_controller_test.exs ├── support ├── conn_case.ex ├── data_case.ex └── fixtures │ ├── predictions_fixtures.ex │ └── search_fixtures.ex └── test_helper.exs /.env.copy: -------------------------------------------------------------------------------- 1 | # get Replicate token at https://replicate.com 2 | export REPLICATE_API_TOKEN= 3 | 4 | # launch ngrok with `ngrok http 4000` 5 | export NGROK_URL= 6 | 7 | # required for the /admin page 8 | export ADMIN_USERNAME= 9 | export ADMIN_PASSWORD= 10 | 11 | # config for https://www.tigrisdata.com 12 | export AWS_ACCESS_KEY_ID= 13 | export AWS_ENDPOINT_URL_S3= 14 | export AWS_REGION= 15 | export AWS_SECRET_ACCESS_KEY= 16 | export BUCKET_NAME== 17 | export AWS_PUBLIC_URL= 18 | -------------------------------------------------------------------------------- /.formatter.exs: -------------------------------------------------------------------------------- 1 | [ 2 | import_deps: [:ecto, :ecto_sql, :phoenix], 3 | subdirectories: ["priv/*/migrations"], 4 | plugins: [Phoenix.LiveView.HTMLFormatter], 5 | inputs: ["*.{heex,ex,exs}", "{config,lib,test}/**/*.{heex,ex,exs}", "priv/*/seeds.exs"] 6 | ] 7 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Fly Deploy 2 | on: 3 | push: 4 | branches: 5 | - main 6 | env: 7 | FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} 8 | jobs: 9 | deploy: 10 | name: Deploy app 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v3 14 | - uses: superfly/flyctl-actions/setup-flyctl@master 15 | - run: flyctl deploy --remote-only 16 | -------------------------------------------------------------------------------- /architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/architecture.png -------------------------------------------------------------------------------- /lib/sticker.ex: -------------------------------------------------------------------------------- 1 | defmodule Sticker do 2 | @moduledoc """ 3 | Sticker keeps the contexts that define your domain 4 | and business logic. 5 | 6 | Contexts are also responsible for managing your data, regardless 7 | if it comes from the database, an external API or others. 8 | """ 9 | end 10 | -------------------------------------------------------------------------------- /lib/sticker/mailer.ex: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Mailer do 2 | use Swoosh.Mailer, otp_app: :sticker 3 | end 4 | -------------------------------------------------------------------------------- /lib/sticker/predictions/event.ex: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Predictions.Event do 2 | use Ecto.Schema 3 | 4 | schema "events" do 5 | field :event_name, :string 6 | timestamps() 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /lib/sticker/repo.ex: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo do 2 | use Ecto.Repo, 3 | otp_app: :sticker, 4 | adapter: Ecto.Adapters.Postgres 5 | end 6 | -------------------------------------------------------------------------------- /lib/sticker/search/query.ex: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Search.Query do 2 | use Ecto.Schema 3 | import Ecto.Changeset 4 | 5 | schema "queries" do 6 | field :content, :string 7 | field :embedding, :binary 8 | 9 | timestamps() 10 | end 11 | 12 | @doc false 13 | def changeset(query, attrs) do 14 | query 15 | |> cast(attrs, [:content, :embedding]) 16 | |> validate_required([:content]) 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/sticker_web/components/layouts.ex: -------------------------------------------------------------------------------- 1 | defmodule StickerWeb.Layouts do 2 | use StickerWeb, :html 3 | 4 | embed_templates "layouts/*" 5 | end 6 | -------------------------------------------------------------------------------- /lib/sticker_web/controllers/page_controller.ex: -------------------------------------------------------------------------------- 1 | defmodule StickerWeb.PageController do 2 | use StickerWeb, :controller 3 | 4 | def home(conn, _params) do 5 | # The home page is often custom made, 6 | # so skip the default app layout. 7 | render(conn, :home, layout: false) 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /lib/sticker_web/controllers/page_html.ex: -------------------------------------------------------------------------------- 1 | defmodule StickerWeb.PageHTML do 2 | use StickerWeb, :html 3 | 4 | embed_templates "page_html/*" 5 | end 6 | -------------------------------------------------------------------------------- /lib/sticker_web/controllers/session_controller.ex: -------------------------------------------------------------------------------- 1 | defmodule StickerWeb.SessionController do 2 | use StickerWeb, :controller 3 | 4 | def set(conn, %{"local_user_id" => user_id}), do: store_string(conn, :local_user_id, user_id) 5 | 6 | defp store_string(conn, key, value) do 7 | conn 8 | |> put_session(key, value) 9 | |> json("OK!") 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /priv/hero_icons/UPGRADE.md: -------------------------------------------------------------------------------- 1 | You are running heroicons v2.0.16. To upgrade in place, you can run the following command, 2 | where your `HERO_VSN` export is your desired version: 3 | 4 | export HERO_VSN="2.0.16" ; \ 5 | curl -L -o optimized.zip "https://github.com/tailwindlabs/heroicons/archive/refs/tags/v${HERO_VSN}.zip" ; \ 6 | tar --strip-components=1 -xvf optimized.zip heroicons-${HERO_VSN}/optimized ; \ 7 | rm optimized.zip 8 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/archive-box.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-down-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-right-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-small-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-small-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-small-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-up-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-up-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/at-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/backward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/battery-0.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/bell.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/book-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/chart-bar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/chart-pie.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/chat-bubble-oval-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/check-badge.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/chevron-double-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/chevron-double-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/chevron-double-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/chevron-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/cloud-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/cloud-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/credit-card.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/currency-yen.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/device-tablet.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/document-check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/document-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/document-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/document-text.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/document.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/ellipsis-horizontal-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/envelope-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/envelope.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/exclamation-triangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/eye.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/face-frown.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/face-smile.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/flag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/folder-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/folder-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/folder.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/forward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/hand-raised.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/heart.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/home.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/information-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/key.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/light-bulb.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/magnifying-glass-circle.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/magnifying-glass-minus.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/microphone.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/minus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/no-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/paint-brush.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/pause-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/play-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/play-pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/plus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/power.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/question-mark-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/share.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/square-2-stack.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/star.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/stop-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/swatch.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/tag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/tv.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/user-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/user-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/user-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/video-camera-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/x-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/20/solid/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/adjustments-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/adjustments-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-down-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-down-tray.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-left-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-left-on-rectangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-path.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-right-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-right-on-rectangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-small-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-small-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-small-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-top-right-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-trending-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-trending-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-up-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-up-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-up-tray.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrows-pointing-in.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrows-pointing-out.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrows-right-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/arrows-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/at-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bars-4.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bars-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bars-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/battery-0.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/battery-100.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/battery-50.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bell-snooze.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bell.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bolt-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/book-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/building-library.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/building-office.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/calendar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/chart-bar-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/chart-pie.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/chevron-double-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/chevron-double-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/chevron-double-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/chevron-double-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/chevron-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/cloud-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/cloud-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/code-bracket-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/code-bracket.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/command-line.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/credit-card.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/currency-bangladeshi.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/currency-euro.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/currency-pound.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/currency-rupee.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/currency-yen.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/cursor-arrow-rays.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/cursor-arrow-ripple.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/device-phone-mobile.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/device-tablet.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/ellipsis-horizontal-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/exclamation-triangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/flag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/folder-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/folder-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/folder-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/hashtag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/heart.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/home.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/information-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/key.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/link.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/magnifying-glass-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/magnifying-glass-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/magnifying-glass-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/map-pin.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/microphone.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/minus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/no-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/paper-clip.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/pause-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/play-circle.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/play-pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/plus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/power.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/presentation-chart-bar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/question-mark-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/receipt-refund.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/rss.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/shield-check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/shield-exclamation.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/square-2-stack.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/square-3-stack-3d.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/stop-circle.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/sun.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/tv.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/user-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/user-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/user-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/viewfinder-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/wifi.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/window.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/x-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/outline/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-down-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-left-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-right-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-small-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-small-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-small-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-up-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-up-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/backward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/battery-0.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/bell.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/bolt-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/calendar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/chart-pie.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/chevron-double-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/chevron-double-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/chevron-double-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/chevron-double-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/chevron-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/clipboard.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/cloud-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/cloud-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/command-line.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/credit-card.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/envelope.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/exclamation-triangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/fire.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/folder-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/folder-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/folder-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/folder-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/folder.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/forward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/magnifying-glass-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/microphone.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/minus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/no-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/play-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/plus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/power.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/rectangle-stack.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/share.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/square-2-stack.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/stop-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/tag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/user-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/x-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/hero_icons/optimized/24/solid/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/repo/migrations/.formatter.exs: -------------------------------------------------------------------------------- 1 | [ 2 | import_deps: [:ecto_sql], 3 | inputs: ["*.exs"] 4 | ] 5 | -------------------------------------------------------------------------------- /priv/repo/migrations/20230907191628_create_predictions.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.CreatePredictions do 2 | use Ecto.Migration 3 | 4 | def change do 5 | create table(:predictions) do 6 | add :uuid, :string 7 | add :prompt, :string 8 | add :output, :string 9 | 10 | timestamps() 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /priv/repo/migrations/20230908144611_add_votes_to_predictions.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.AddVotesToPredictions do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:predictions) do 6 | add :score, :integer, default: 0 7 | add :count_votes, :integer, default: 0 8 | end 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /priv/repo/migrations/20230908163853_add_outputs_for_original.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.AddOutputsForOriginal do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:predictions) do 6 | add :sticker_output, :string 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /priv/repo/migrations/20230908164841_change_output_name.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.ChangeOutputName do 2 | use Ecto.Migration 3 | 4 | def change do 5 | rename table("predictions"), :output, to: :no_bg_output 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /priv/repo/migrations/20230908172313_add_featured.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.AddFeatured do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:predictions) do 6 | add :is_featured, :string 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /priv/repo/migrations/20230908180322_add_uuid.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.AddUuid do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:predictions) do 6 | add :local_user_id, :string 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /priv/repo/migrations/20230908202657_add_is_flagged.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.AddIsFlagged do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:predictions) do 6 | add :is_flagged, :string 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /priv/repo/migrations/20230912150808_add_moderation_stuff.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.AddModerationStuff do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:predictions) do 6 | add :moderation_score, :integer, default: nil 7 | add :moderator, :text 8 | end 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /priv/repo/migrations/20230912223710_add_embeddings.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.AddEmbeddings do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:predictions) do 6 | add :embedding, :binary 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /priv/repo/migrations/20230912225541_add_embeddings_model.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.AddEmbeddingsModel do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:predictions) do 6 | add :embedding_model, :text 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /priv/repo/migrations/20230927180316_add_image_embedding.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.AddImageEmbedding do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:predictions) do 6 | add :image_embedding, :binary 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /priv/repo/migrations/20230927212847_create_queries.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.CreateQueries do 2 | use Ecto.Migration 3 | 4 | def change do 5 | create table(:queries) do 6 | add :content, :text 7 | add :embedding, :binary 8 | 9 | timestamps() 10 | end 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /priv/repo/migrations/20240225043030_add_prediction_status.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.AddPredictionStatus do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:predictions) do 6 | add :status, :string, default: nil 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /priv/repo/migrations/20240226230512_add_flag.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.AddFlag do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:predictions) do 6 | add :flag, :string 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /priv/repo/migrations/20240227004714_add_autoplay_time.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.AddAutoplayTime do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:predictions) do 6 | add :autoplay_time, :utc_datetime 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /priv/repo/migrations/20240301005227_add_model_to_prediction.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.AddModelToPrediction do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:predictions) do 6 | add :model, :string 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /priv/repo/migrations/20240312034902_add_events.exs: -------------------------------------------------------------------------------- 1 | defmodule Sticker.Repo.Migrations.AddEvents do 2 | use Ecto.Migration 3 | 4 | def change do 5 | create table(:events) do 6 | add :event_name, :string 7 | 8 | timestamps() 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /priv/repo/seeds.exs: -------------------------------------------------------------------------------- 1 | # Script for populating the database. You can run it as: 2 | # 3 | # mix run priv/repo/seeds.exs 4 | # 5 | # Inside the script, you can read and write to any of your 6 | # repositories directly: 7 | # 8 | # Sticker.Repo.insert!(%Sticker.SomeSchema{}) 9 | # 10 | # We recommend using the bang functions (`insert!`, `update!` 11 | # and so on) as they will fail if something goes wrong. 12 | -------------------------------------------------------------------------------- /priv/static/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/.DS_Store -------------------------------------------------------------------------------- /priv/static/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/apple-touch-icon.png -------------------------------------------------------------------------------- /priv/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/favicon.ico -------------------------------------------------------------------------------- /priv/static/images/airplane.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/images/airplane.png -------------------------------------------------------------------------------- /priv/static/images/arnold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/images/arnold.png -------------------------------------------------------------------------------- /priv/static/images/arnold_before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/images/arnold_before.png -------------------------------------------------------------------------------- /priv/static/images/chef.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/images/chef.png -------------------------------------------------------------------------------- /priv/static/images/cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/images/cross.png -------------------------------------------------------------------------------- /priv/static/images/loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/images/loading.png -------------------------------------------------------------------------------- /priv/static/images/new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/images/new.png -------------------------------------------------------------------------------- /priv/static/images/oven.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/images/oven.png -------------------------------------------------------------------------------- /priv/static/images/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/images/save.png -------------------------------------------------------------------------------- /priv/static/images/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/images/search.png -------------------------------------------------------------------------------- /priv/static/images/sticker-mule-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/images/sticker-mule-logo.png -------------------------------------------------------------------------------- /priv/static/images/thumbs-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/images/thumbs-up.png -------------------------------------------------------------------------------- /priv/static/og.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/og.webp -------------------------------------------------------------------------------- /priv/static/og1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cbh123/stickerbaker/6fc30bd28077242cd1a2c5223c938eeac7afd9f1/priv/static/og1.webp -------------------------------------------------------------------------------- /priv/static/robots.txt: -------------------------------------------------------------------------------- 1 | # See https://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file 2 | # 3 | # To ban all spiders from the entire site uncomment the next two lines: 4 | # User-agent: * 5 | # Disallow: / 6 | -------------------------------------------------------------------------------- /rel/env.sh.eex: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # configure node for distributed erlang with IPV6 support 4 | export ERL_AFLAGS="-proto_dist inet6_tcp" 5 | export ECTO_IPV6="true" 6 | export DNS_CLUSTER_QUERY="${FLY_APP_NAME}.internal" 7 | export RELEASE_DISTRIBUTION="name" 8 | export RELEASE_NODE="${FLY_APP_NAME}-${FLY_IMAGE_REF##*-}@${FLY_PRIVATE_IP}" 9 | -------------------------------------------------------------------------------- /rel/overlays/bin/migrate: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd -P -- "$(dirname -- "$0")" 3 | exec ./sticker eval Sticker.Release.migrate 4 | -------------------------------------------------------------------------------- /rel/overlays/bin/migrate.bat: -------------------------------------------------------------------------------- 1 | call "%~dp0\sticker" eval Sticker.Release.migrate 2 | -------------------------------------------------------------------------------- /rel/overlays/bin/server: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd -P -- "$(dirname -- "$0")" 3 | PHX_SERVER=true exec ./sticker start 4 | -------------------------------------------------------------------------------- /rel/overlays/bin/server.bat: -------------------------------------------------------------------------------- 1 | set PHX_SERVER=true 2 | call "%~dp0\sticker" start 3 | -------------------------------------------------------------------------------- /test/emoji_web/controllers/error_json_test.exs: -------------------------------------------------------------------------------- 1 | defmodule StickerWeb.ErrorJSONTest do 2 | use StickerWeb.ConnCase, async: true 3 | 4 | test "renders 404" do 5 | assert StickerWeb.ErrorJSON.render("404.json", %{}) == %{errors: %{detail: "Not Found"}} 6 | end 7 | 8 | test "renders 500" do 9 | assert StickerWeb.ErrorJSON.render("500.json", %{}) == 10 | %{errors: %{detail: "Internal Server Error"}} 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /test/emoji_web/controllers/page_controller_test.exs: -------------------------------------------------------------------------------- 1 | defmodule StickerWeb.PageControllerTest do 2 | use StickerWeb.ConnCase 3 | 4 | test "GET /", %{conn: conn} do 5 | conn = get(conn, ~p"/") 6 | assert html_response(conn, 200) =~ "Peace of mind from prototype to production" 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | Ecto.Adapters.SQL.Sandbox.mode(Sticker.Repo, :manual) 3 | --------------------------------------------------------------------------------