This commit is contained in:
2026-04-23 22:29:00 +02:00
parent fcd3554545
commit 3460b67777
37 changed files with 356 additions and 325 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ deploy:
- echo "🚀 Déploiement du Portfolio..."
- kubectl apply -f k8s.yaml
- kubectl rollout restart deployment/portfolio-app -n portfolio-ns
- echo "✅ Déploiement terminé sur http://portfolio.theval.ovh"
- echo "✅ Déploiement terminé sur https://portfolio.valentin-massonniere.ch"
only:
- main
- master
-7
View File
@@ -1,7 +1,5 @@
# Dockerfile
FROM node:18-alpine AS base
# Install dependencies only when needed
FROM base AS deps
RUN apk add --no-cache libc6-compat
WORKDIR /app
@@ -14,18 +12,15 @@ RUN \
else echo "Lockfile not found." && exit 1; \
fi
# Rebuild the source code only when needed
FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
# Next.js collects completely anonymous telemetry data about general usage.
ENV NEXT_TELEMETRY_DISABLED 1
RUN npm run build
# Production image, copy all the files and run next
FROM base AS runner
WORKDIR /app
@@ -37,11 +32,9 @@ RUN adduser --system --uid 1001 nextjs
COPY --from=builder /app/public ./public
# Set the correct permission for prerender cache
RUN mkdir .next
RUN chown nextjs:nodejs .next
# Automatically leverage output traces to reduce image size
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
+1 -1
View File
@@ -4,7 +4,7 @@ This repository is the home for the source code of my personal portfolio built w
## Live Demo 🌐
Check out the live demo here: http://portfolio.theval.ovh
Check out the live demo here: https://portfolio.valentin-massonniere.ch
## Features 🚀
+22 -2
View File
@@ -1,8 +1,28 @@
import "./globals.css";
const siteUrl = "https://portfolio.valentin-massonniere.ch";
const title = "Valentin Massonniere — AI & Robotics Engineer";
const description =
"Portfolio of Valentin Massonniere, AI & Robotics Engineer and Data Scientist, working on real-time robotics platforms, ESP32 firmware, SLAM, and applied machine learning.";
export const metadata = {
title: "Valentin Massonniere",
description: "Valentin Massonniere Portfolio",
metadataBase: new URL(siteUrl),
title,
description,
alternates: { canonical: siteUrl },
openGraph: {
type: "website",
url: siteUrl,
title,
description,
siteName: "Valentin Massonniere",
locale: "en_US",
},
twitter: {
card: "summary_large_image",
title,
description,
},
};
export default function RootLayout({ children }) {
+2
View File
@@ -3,6 +3,7 @@ import Presentation from "../components/Presentation";
import About from "../components/About";
import Projects from "../components/Projects";
import Experiences from "@/components/Experiences";
import Certifications from "@/components/Certifications";
import Educations from "@/components/Educations";
import Contact from "@/components/Contact";
@@ -12,6 +13,7 @@ export default function Home() {
<Header></Header>
<Presentation></Presentation>
<About></About>
<Certifications></Certifications>
<Projects></Projects>
<Experiences></Experiences>
<Educations></Educations>
+20 -15
View File
@@ -8,35 +8,40 @@ const About = () => {
id="aboutScroll"
className="max-w-6xl mx-auto my-20 px-4 md:px-8 grid grid-cols-1 md:grid-cols-2 gap-16 items-center min-h-[80vh]"
>
{/* Left Image Column */}
<div className="flex justify-center items-center">
<Image
src="/assets/img/about.png"
src="/assets/img/about_me.jpg"
alt="about image"
width={400}
height={400}
className="max-w-full h-auto"
width={480}
height={480}
className="max-w-full h-auto rounded-xl shadow-md"
/>
</div>
{/* Right Content Column */}
<div className="relative flex flex-col items-center md:items-start text-center md:text-left space-y-4">
{/* Title */}
<h3 className={styles.aboutTitle}>About me</h3>
{/* Paragraph 1 */}
<p className={`${styles.aboutParagraph} mt-5`}>
I'm currently registered at Efrei Paris specializing in Data
Engineering & AI 📊. I'm in apprenticeship at IceBerg Data Lab such as
AI Engineer & Data Scientist .
Engineering & AI. I'm in apprenticeship at Iceberg Data Lab as AI
Engineer & Data Scientist.
</p>
{/* Paragraph 2 */}
<p className={styles.aboutParagraph}>
These aspirations merge my deep interest in IT 🖥 with the fascinating
fields of aerospace and aeronautics 🛰. My strong passion lies in
computer science and artificial intelligence, and my ultimate aim is
to become a highly skilled engineer in the big data and AI domains. 📈
My deep interest in IT merges with the fascinating field of aerospace.
My strong passion lies in computer science and artificial
intelligence, with a growing focus on robotics and its applications to
space.
</p>
<p className={styles.aboutParagraph}>
I am working toward a PhD in Robotics + AI, and I prepare for it
actively. With DeepSight-Nebula, I am turning an educational robot
into a real-time capable platform writing ESP32 firmware from
scratch and documenting the work as a mini-thesis. In parallel, I run
a daily spaced-repetition review on MP-level mathematics, work through
the Rust book for low-level fluency, and read one robotics paper per
week. Next up: a SLAM-focused project paired with a ROS2 course, to
bridge the gap from firmware to full autonomous systems.
</p>
</div>
</section>
+80
View File
@@ -0,0 +1,80 @@
"use client";
import React, { useState, useEffect } from "react";
import Image from "next/image";
const Certifications = () => {
const [certifications, setCertifications] = useState(null);
useEffect(() => {
const fetchCertifications = async () => {
try {
const response = await fetch("/assets/data/data.json");
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
setCertifications(data.certifications || []);
} catch (error) {
console.error("Failed to fetch certifications data:", error);
}
};
fetchCertifications();
}, []);
if (!certifications) {
return (
<div className="flex justify-center items-center h-64 bg-gray-50">
<p className="text-xl font-medium text-gray-700">
Loading Certifications...
</p>
</div>
);
}
return (
<section
id="certificationsScroll"
className="w-full flex flex-col items-center justify-center py-20 px-4 md:px-8 bg-gray-50 rounded-lg shadow-inner"
>
<h3 className="text-2xl font-poppins text-blue-500 mb-12 font-extrabold">
Certifications
</h3>
<div className="w-full max-w-6xl grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5 gap-6">
{certifications.map((cert) => (
<a
key={cert.name}
href={cert.link}
target="_blank"
rel="noopener noreferrer"
title={cert.name}
className="flex flex-col bg-white rounded-xl border border-gray-100 shadow-md overflow-hidden transition-transform duration-300 hover:scale-105 hover:shadow-xl"
>
<div className="relative w-full aspect-[4/3] bg-gray-50">
<Image
src={cert.img}
alt={`${cert.name} certificate`}
fill
className="object-contain p-2"
sizes="(max-width: 640px) 100vw, (max-width: 1280px) 50vw, 20vw"
unoptimized
/>
</div>
<div className="flex flex-col items-start p-4 gap-1">
<p className="text-sm font-semibold text-gray-800 font-poppins leading-snug">
{cert.name}
</p>
<p className="text-xs text-gray-500 font-poppins">
{cert.issuer}
</p>
</div>
</a>
))}
</div>
</section>
);
};
export default Certifications;
+49 -40
View File
@@ -1,62 +1,71 @@
"use client";
import React from "react";
import Image from "next/image";
import { MailIcon, LinkedinIcon, GithubIcon } from "lucide-react";
import { Mail, MailOpen, LinkedinIcon, GithubIcon } from "lucide-react";
const Contact = () => {
const itemClass =
"group relative flex items-center gap-3 text-gray-700 font-mulish text-lg rounded-lg px-3 py-2 -mx-3 transition-colors duration-300 hover:text-blue-600";
return (
<section
id="contactScroll"
className="mx-auto flex justify-center py-20 px-4 md:px-8 bg-gray-50 rounded-lg shadow-inner"
>
<div className="w-full max-w-6xl">
{/* Contact section title */}
<h3 className="text-2xl font-poppins text-blue-500 mb-4 font-extrabold text-center">
Contact
</h3>
<p className="text-gray-700 font-poppins text-xl mt-5 font-semibold text-center mb-12">
Feel free to contact me! 😊
Feel free to contact me!
</p>
<div className="flex flex-col md:flex-row justify-center md:justify-between items-center gap-12">
<div className="w-full md:w-1/2 lg:w-2/5 flex justify-center">
<div className="bg-white p-6 rounded-xl shadow-xl border border-gray-100 flex flex-col gap-4 max-w-sm w-full">
{/* Mail contact */}
<div className="flex items-center text-gray-700 font-mulish text-lg">
<MailIcon
className="mr-3 text-blue-500 flex-shrink-0"
<div className="flex justify-center">
<div className="bg-white p-8 rounded-xl shadow-xl border border-gray-100 flex flex-col gap-4 w-full max-w-md">
<a
href="mailto:contact@valentin-massonniere.ch"
className={itemClass}
>
<span className="relative flex-shrink-0 w-6 h-6 text-blue-500">
<Mail
className="absolute inset-0 transition-opacity duration-300 ease-out group-hover:opacity-0"
size={24}
/>{" "}
{/* Added flex-shrink-0 */}
<p className="min-w-0 break-words">
valentin78.massonniere@gmail.com
</p>{" "}
{/* Added min-w-0 and break-words */}
</div>
{/* Discord contact */}
<div className="flex items-center text-gray-700 font-mulish text-lg">
<GithubIcon className="mr-3 text-blue-500" size={24} />
<p>TheValll</p>
</div>
{/* LinkedIn contact */}
<div className="flex items-center text-gray-700 font-mulish text-lg">
<LinkedinIcon className="mr-3 text-blue-500" size={24} />
<p>Valentin MASSONNIERE</p>
</div>
</div>
</div>
<div className="relative w-full md:w-1/2 lg:w-3/5 hidden md:flex justify-center items-center">
<Image
src="/assets/img/contact.png"
alt="Contact illustration"
width={400}
height={400}
className="z-10 max-w-full h-auto rounded-lg"
/>
<MailOpen
className="absolute inset-0 opacity-0 transition-opacity duration-300 ease-out group-hover:opacity-100"
size={24}
/>
</span>
<span className="relative min-w-0 break-words">
contact@valentin-massonniere.ch
</span>
</a>
<a
href="https://github.com/TheValll"
target="_blank"
rel="noopener noreferrer"
className={itemClass}
>
<GithubIcon
className="relative flex-shrink-0 text-blue-500"
size={24}
/>
<span className="relative">TheValll</span>
</a>
<a
href="https://www.linkedin.com/in/valentin-massonniere/"
target="_blank"
rel="noopener noreferrer"
className={itemClass}
>
<LinkedinIcon
className="relative flex-shrink-0 text-blue-500"
size={24}
/>
<span className="relative">Valentin MASSONNIERE</span>
</a>
</div>
</div>
</div>
-9
View File
@@ -41,7 +41,6 @@ const Educations = () => {
Educations
</h3>
{/* Formations container */}
<div className="w-full max-w-6xl">
{formationsData.map((formation, index) => (
<div
@@ -52,10 +51,8 @@ const Educations = () => {
md:grid md:grid-cols-2 md:gap-8 p-6
`}
>
{/* Conditional rendering for alternating layout */}
{index % 2 === 0 ? (
<>
{/* Left/Image Column */}
<div className="flex justify-center items-center p-4">
<Image
src={formation.img}
@@ -65,17 +62,14 @@ const Educations = () => {
className="w-full h-auto rounded-lg transition-transform duration-300 hover:scale-95 shadow-md"
/>
</div>
{/* Right/Content Column */}
<div className="flex flex-col items-center text-center p-4 md:items-start md:text-left">
<h3 className="text-2xl font-semibold text-gray-800 mb-3 font-poppins">
{formation.name}
</h3>
{/* Use whitespace-pre-wrap to respect newline characters in description */}
<p className="text-gray-600 text-lg mb-5 font-poppins whitespace-pre-wrap">
{formation.desc}
</p>
{/* Link to formation (if available) */}
{formation.link && (
<div className="flex flex-wrap justify-center md:justify-start gap-6 w-full mt-auto">
<a
@@ -93,7 +87,6 @@ const Educations = () => {
</>
) : (
<>
{/* Right/Content Column (now on left visually) */}
<div className="flex flex-col items-center text-center p-4 md:items-start md:text-left">
<h3 className="text-2xl font-semibold text-gray-800 mb-3 font-poppins">
{formation.name}
@@ -102,7 +95,6 @@ const Educations = () => {
{formation.desc}
</p>
{/* Link to formation (if available) */}
{formation.link && (
<div className="flex flex-wrap justify-center md:justify-start gap-6 w-full mt-auto">
<a
@@ -117,7 +109,6 @@ const Educations = () => {
</div>
)}
</div>
{/* Left/Image Column (now on right visually) */}
<div className="flex justify-center items-center p-4">
<Image
src={formation.img}
+14 -12
View File
@@ -42,7 +42,6 @@ const Experiences = () => {
Experiences
</h3>
{/* Experiences container */}
<div className="w-full max-w-6xl">
{experiencesData.map((experience, index) => (
<div
@@ -53,20 +52,17 @@ const Experiences = () => {
md:grid md:grid-cols-2 md:gap-8 p-6
`}
>
{/* Conditional rendering for alternating layout */}
{index % 2 === 0 ? (
<>
{/* Left/Image Column */}
<div className="flex justify-center items-center p-4">
<Image
src={experience.img}
alt={`${experience.name} logo`}
width={200} // Changed to 200
height={200} // Changed to 200
width={200}
height={200}
className="w-[200px] h-[200px] object-contain rounded-lg transition-transform duration-300 hover:scale-95 shadow-md"
/>
</div>
{/* Right/Content Column */}
<div className="flex flex-col items-center text-center p-4 md:items-start md:text-left">
<h3 className="text-2xl font-semibold text-gray-800 mb-3 font-poppins">
{experience.name}
@@ -74,11 +70,15 @@ const Experiences = () => {
<p className="text-gray-600 text-lg mb-2 font-poppins">
{experience.date}
</p>
{experience.about && (
<p className="text-gray-500 text-base mb-3 font-poppins italic">
{experience.about}
</p>
)}
<p className="text-gray-600 text-lg mb-5 font-poppins whitespace-pre-wrap">
{experience.desc}
</p>
{/* Link to experience (if available) */}
{experience.link && (
<div className="flex flex-wrap justify-center md:justify-start gap-6 w-full mt-auto">
<a
@@ -96,7 +96,6 @@ const Experiences = () => {
</>
) : (
<>
{/* Right/Content Column (now on left visually) */}
<div className="flex flex-col items-center text-center p-4 md:items-start md:text-left">
<h3 className="text-2xl font-semibold text-gray-800 mb-3 font-poppins">
{experience.name}
@@ -104,11 +103,15 @@ const Experiences = () => {
<p className="text-gray-600 text-lg mb-2 font-poppins">
{experience.date}
</p>
{experience.about && (
<p className="text-gray-500 text-base mb-3 font-poppins italic">
{experience.about}
</p>
)}
<p className="text-gray-600 text-lg mb-5 font-poppins whitespace-pre-wrap">
{experience.desc}
</p>
{/* Link to experience (if available) */}
{experience.link && (
<div className="flex flex-wrap justify-center md:justify-start gap-6 w-full mt-auto">
<a
@@ -123,13 +126,12 @@ const Experiences = () => {
</div>
)}
</div>
{/* Left/Image Column (now on right visually) */}
<div className="flex justify-center items-center p-4">
<Image
src={experience.img}
alt={`${experience.name} logo`}
width={200} // Changed to 200
height={200} // Changed to 200
width={200}
height={200}
className="w-[200px] h-[200px] object-contain rounded-lg transition-transform duration-300 hover:scale-95 shadow-md"
/>
</div>
+1
View File
@@ -26,6 +26,7 @@ const Header = () => {
const navLinks = [
{ name: "Home", href: "#home" },
{ name: "About", href: "#aboutScroll" },
{ name: "Certifications", href: "#certificationsScroll" },
{ name: "Projects", href: "#projectScroll" },
{ name: "Experience", href: "#experiencesScroll" },
{ name: "Education", href: "#educationScroll" },
+40 -32
View File
@@ -11,7 +11,6 @@ const Presentation = () => {
id="home"
className="flex flex-col md:flex-row items-center justify-center min-h-screen py-16 px-4 md:px-8 bg-gray-50 overflow-hidden"
>
{/* Right Image Column (appears first on small screens due to flex-col order) */}
<div
className={`${styles.animatedImage} relative flex-shrink-0 overflow-hidden shadow-xl mt-16 md:mt-0 md:ml-12 order-1 md:order-2`}
style={{
@@ -19,35 +18,24 @@ const Presentation = () => {
}}
></div>
{/* Left Content Column (appears second on small screens, first on medium screens) */}
<div className="flex flex-col items-center md:items-start text-center md:text-left md:w-1/2 p-4 md:p-8 space-y-6 order-2 md:order-1">
{/* Title */}
<div className="max-w-xl">
<h1
className={`${styles.title} text-4xl sm:text-5xl lg:text-6xl font-extrabold text-gray-900 leading-tight`}
>
AI - Robotic Engineer & Data Scientist
<br /> Student{" "}
<span role="img" aria-label="mobile phone">
</span>
<br /> Student
</h1>
</div>
{/* Description */}
<div className={`${styles.description} max-w-md text-lg text-gray-700`}>
<p>
Hello, I'm Valentin Massonniere, an enthusiastic{" "}
<br className="hidden sm:inline" />
AI - Robotic Engineer & Data Scientist at IceBergData Lab from
France{" "}
<span role="img" aria-label="pin location">
🇫🇷
</span>
Hi, I'm Valentin Massonniere.
<br className="hidden sm:inline" /> Currently at Iceberg Data Lab,
based in France.
</p>
</div>
{/* Social Links */}
<div className="flex space-x-6 text-gray-600">
<a
href="https://www.linkedin.com/in/valentin-massonniere/"
@@ -69,59 +57,79 @@ const Presentation = () => {
</a>
</div>
{/* Tech Stack */}
<div className="flex flex-col md:flex-row items-center md:items-center space-y-2 md:space-y-0 md:space-x-4 pt-4 w-full">
<h3 className="text-xl font-semibold text-gray-800 mb-2 md:mb-0 whitespace-nowrap">
Tech Stack |
</h3>
<div className="grid grid-cols-2 gap-4 md:flex md:flex-row md:gap-4">
<Image
src="/assets/icon/CPP.svg"
src="https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Rust.svg"
alt="Logo Rust"
width={40}
height={40}
className={`object-contain ${styles.techIcon}`}
/>
<Image
src="https://github.com/tandpfun/skill-icons/raw/main/icons/CPP.svg"
alt="Logo C++"
width={40}
height={40}
className={`object-contain ${styles.techIcon}`}
/>
<Image
src="/assets/icon/Python.svg"
src="https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Python-Dark.svg"
alt="Logo Python"
width={40}
height={40}
className={`object-contain ${styles.techIcon}`}
/>
<Image
src="/assets/icon/ROS-Dark.svg"
alt="Logo GCP"
src="https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Matlab-Dark.svg"
alt="Logo Matlab"
width={40}
height={40}
className={`object-contain ${styles.techIcon}`}
/>
<Image
src="/assets/icon/Arduino.svg"
alt="Logo GCP"
src="https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/ROS-Dark.svg"
alt="Logo ROS2"
title="ROS2"
width={40}
height={40}
className={`object-contain ${styles.techIcon}`}
/>
<Image
src="/assets/icon/Docker.svg"
src="https://github.com/tandpfun/skill-icons/raw/main/icons/Arduino.svg"
alt="Logo Arduino"
width={40}
height={40}
className={`object-contain ${styles.techIcon}`}
/>
<Image
src="https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/NeoVim-Dark.svg"
alt="Logo NeoVim"
width={40}
height={40}
className={`object-contain ${styles.techIcon}`}
/>
<Image
src="https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Linux-Dark.svg"
alt="Logo Linux"
width={40}
height={40}
className={`object-contain ${styles.techIcon}`}
/>
<Image
src="https://github.com/tandpfun/skill-icons/raw/main/icons/Docker.svg"
alt="Logo Docker"
width={40}
height={40}
className={`object-contain ${styles.techIcon}`}
/>
<Image
src="/assets/icon/RaspberryPi.svg"
alt="Logo RaspberryPi"
width={40}
height={40}
className={`object-contain ${styles.techIcon}`}
/>
</div>
</div>
</div>
{/* Scroll Down Indicator */}
<a
href="#aboutScroll"
aria-label="Scroll down"
+1 -15
View File
@@ -49,7 +49,6 @@ const Projects = () => {
Projects
</h3>
{/* Main projects container (Top Projects) */}
<div className="w-full max-w-6xl">
{topProjects.map((project, index) => (
<div
@@ -60,10 +59,8 @@ const Projects = () => {
md:grid md:grid-cols-2 md:gap-8 p-6
`}
>
{/* Conditional rendering for alternating layout */}
{index % 2 === 0 ? (
<>
{/* Left/Image Column */}
<div className="flex justify-center items-center p-4">
<Image
src={project.img}
@@ -73,16 +70,13 @@ const Projects = () => {
className="w-full h-auto rounded-lg transition-transform duration-300 hover:scale-95 shadow-md"
/>
</div>
{/* Right/Content Column */}
<div className="flex flex-col items-center text-center p-4 md:items-start md:text-left">
<h3 className="text-2xl font-semibold text-gray-800 mb-3 font-poppins">
{project.name}
</h3>
{/* Applied font-poppins here */}
<p className="text-gray-600 text-lg mb-5 font-poppins">
{project.desc}
</p>
{/* Language Icons */}
<div className="flex flex-wrap justify-center md:justify-start gap-4 mb-6">
{project.language.map((langIcon, iconIndex) => (
<Image
@@ -95,7 +89,6 @@ const Projects = () => {
/>
))}
</div>
{/* Code/Demo Links */}
<div className="flex flex-wrap justify-center md:justify-start gap-6 w-full mt-auto">
{project.link && (
<a
@@ -124,16 +117,13 @@ const Projects = () => {
</>
) : (
<>
{/* Right/Content Column (now on left visually) */}
<div className="flex flex-col items-center text-center p-4 md:items-start md:text-left">
<h3 className="text-2xl font-semibold text-gray-800 mb-3 font-poppins">
{project.name}
</h3>
{/* Applied font-poppins here */}
<p className="text-gray-600 text-lg mb-5 font-poppins">
{project.desc}
</p>
{/* Language Icons */}
<div className="flex flex-wrap justify-center md:justify-start gap-4 mb-6">
{project.language.map((langIcon, iconIndex) => (
<Image
@@ -146,7 +136,6 @@ const Projects = () => {
/>
))}
</div>
{/* Code/Demo Links */}
<div className="flex flex-wrap justify-center md:justify-start gap-6 w-full mt-auto">
{project.link && (
<a
@@ -172,7 +161,6 @@ const Projects = () => {
)}
</div>
</div>
{/* Left/Image Column (now on right visually) */}
<div className="flex justify-center items-center p-4">
<Image
src={project.img}
@@ -188,7 +176,6 @@ const Projects = () => {
))}
</div>
{/* Toggle Button for All Projects */}
<button
id="btn-all"
onClick={displayAll}
@@ -212,7 +199,6 @@ const Projects = () => {
></i>
</button>
{/* All Projects Section (conditionally displayed) */}
<div
className={`
w-full max-w-6xl px-4 md:px-8
@@ -231,7 +217,7 @@ const Projects = () => {
{bottomProjects.map((project) => (
<a
key={project.name}
href={project.demo || link}
href={project.demo || project.link}
target="_blank"
rel="noopener noreferrer"
className="block w-full max-w-xs overflow-hidden rounded-lg shadow-md transition-transform duration-300 hover:scale-105 hover:shadow-lg"
+22
View File
@@ -46,6 +46,28 @@ kind: Ingress
metadata:
name: portfolio-ingress
namespace: portfolio-ns
spec:
rules:
- host: portfolio.valentin-massonniere.ch
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: portfolio-svc
port:
number: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: portfolio-redirect
namespace: portfolio-ns
annotations:
nginx.ingress.kubernetes.io/permanent-redirect: https://portfolio.valentin-massonniere.ch$request_uri
nginx.ingress.kubernetes.io/permanent-redirect-code: "301"
spec:
rules:
- host: portfolio.theval.ovh
+23 -2
View File
@@ -1,7 +1,28 @@
// next.config.mjs
/** @type {import('next').NextConfig} */
const nextConfig = {
output: "standalone",
images: {
remotePatterns: [
{
protocol: "https",
hostname: "raw.githubusercontent.com",
pathname: "/tandpfun/skill-icons/**",
},
{
protocol: "https",
hostname: "raw.githubusercontent.com",
pathname: "/devicons/devicon/**",
},
{
protocol: "https",
hostname: "github.com",
pathname: "/tandpfun/skill-icons/**",
},
{
protocol: "https",
hostname: "avatars.githubusercontent.com",
},
],
},
};
export default nextConfig;
+81 -58
View File
@@ -5,99 +5,88 @@
"name": "DeepSight-Nebula",
"link": "https://github.com/TheValll/DeepSight-Nebula",
"img": "/assets/projects-img/deep.gif",
"desc": "🤖🧠 DeepSight-Nebula is a project that combines Robotics and Artificial Intelligence to prepare myself for a PhD in Robotics and AI.",
"desc": "DeepSight-Nebula is a project that combines Robotics and Artificial Intelligence to prepare myself for a PhD in Robotics and AI. The goal is to take an educational robot, originally running on Arduino, and turn it into a real-time capable platform — rewriting its firmware from scratch on ESP32 and documenting the full engineering process as a mini-thesis, from hardware bring-up to control and perception.",
"demo": "",
"language": [
"/assets/icon/CPP.svg",
"/assets/icon/Python.svg",
"/assets/icon/ROS-Dark.svg"
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Rust.svg",
"https://github.com/tandpfun/skill-icons/raw/main/icons/CPP.svg",
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Python-Dark.svg",
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/ROS-Dark.svg",
"https://avatars.githubusercontent.com/u/9460735?v=4",
"https://raw.githubusercontent.com/devicons/devicon/master/icons/fedora/fedora-original.svg",
"https://github.com/tandpfun/skill-icons/raw/main/icons/Docker.svg"
]
},
{
"name": "Ollama-AI-Chat-Interface",
"link": "https://github.com/TheValll/Ollama-AI-Chat-Interface",
"img": "/assets/projects-img/ollama.png",
"desc": "💬🧠 A sleek web chat interface to interact with AI models using the Ollama API! This project supports models like llama3, mistral, mini orca, and more. A great introduction to LLMs and modern AI technologies.",
"desc": "A sleek web chat interface to interact with AI models using the Ollama API! This project supports models like llama3, mistral, mini orca, and more. A great introduction to LLMs and modern AI technologies.",
"demo": "",
"language": [
"/assets/icon/Ollama.svg",
"/assets/icon/Python.svg",
"/assets/icon/Git.svg"
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Python-Dark.svg",
"https://avatars.githubusercontent.com/u/151674099?v=4",
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Git.svg"
]
},
{
"name": "RocketLeague SoundBoard BakkesModPlugin",
"link": "https://github.com/TheValll/RocketLeague_SoundBoard_BakkesModPlugin",
"img": "/assets/projects-img/rl.png",
"desc": "🚗🎵 A custom soundboard plugin for Rocket League using BakkesMod! This plugin plays custom sounds during in-game events to spice up your matches with fun audio effects.",
"demo": "",
"desc": "First-ever BakkesMod plugin enabling fully custom soundboards with dynamic in-game events. The crossbar event concept is original.",
"demo": "https://bakkesplugins.com/plugin/490",
"language": [
"/assets/icon/CPP.svg",
"/assets/icon/Linux.svg",
"/assets/icon/VisualStudio.svg"
]
},
{
"name": "Spotify Overlay",
"link": "",
"img": "/assets/projects-img/spotify.png",
"desc": "🎧🖥️ A classic Spotify overlay for OBS or desktop use, displaying current song info. A clean and customizable UI project that enhances the musical experience while streaming or working.",
"demo": "",
"language": [
"/assets/icon/QT.svg",
"/assets/icon/Python.svg",
"/assets/icon/Git.svg"
]
},
{
"name": "Discord Bot",
"link": "https://github.com/TheValll/discord-bot",
"img": "/assets/projects-img/discord.png",
"desc": "🤖🎂 A fun and friendly birthday bot for Discord, featuring a daily mini-game at midnight! This project adds daily engagement and joy to any server community.",
"demo": "",
"language": [
"/assets/icon/Python.svg",
"/assets/icon/GCP.svg",
"/assets/icon/Discord.svg",
"/assets/icon/Bots.svg"
"https://github.com/tandpfun/skill-icons/raw/main/icons/CPP.svg",
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Linux-Dark.svg",
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/VisualStudio-Dark.svg"
]
}
],
"bottom": [
{
"name": "Spotify Overlay",
"link": "https://github.com/TheValll/spotifyoverlay",
"img": "/assets/projects-img/spotify.png"
},
{
"name": "Discord Bot",
"link": "https://github.com/TheValll/discord-bot",
"img": "/assets/projects-img/discord.png"
},
{
"name": "Airport Map Searching",
"link": "https://github.com/TheValll/airport-map",
"img": "/assets/projects-img/airport.png",
"desc": "The Airport Map Searching website allows you to visualize all the airports on a map of a searched country! I was able to learn how to use Leaflet with this project. ✈️🌎🗺️",
"desc": "The Airport Map Searching website allows you to visualize all the airports on a map of a searched country! I was able to learn how to use Leaflet with this project.",
"demo": "https://thevalll.github.io/airport-map/",
"language": [
"/assets/icon/JavaScript.svg",
"/assets/icon/Sass.svg",
"/assets/icon/Git.svg"
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/JavaScript.svg",
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Sass.svg",
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Git.svg"
]
},
{
"name": "Weather WebApp",
"link": "https://github.com/TheValll/react-weather-webapp",
"img": "/assets/projects-img/weather-app.png",
"desc": "This project is my very first React project, it's a weather web app that shows your current weather based on your location with some cool features. ☀️🌦🌨🌍",
"desc": "This project is my very first React project, it's a weather web app that shows your current weather based on your location with some cool features.",
"demo": "https://react-weather-webapp-delta.vercel.app/",
"language": [
"/assets/icon/React.svg",
"/assets/icon/Sass.svg",
"/assets/icon/Git.svg"
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/React-Dark.svg",
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Sass.svg",
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Git.svg"
]
},
{
"name": "Robot Type",
"link": "https://github.com/TheValll/type-game",
"img": "/assets/projects-img/robottype.png",
"desc": "The Robot Type game is a clone of the famous game MonkeyType, allowing you to improve and test your typing skills. This project allowed me to further enhance my competencies in JavaScript. 💻👾🎮",
"desc": "The Robot Type game is a clone of the famous game MonkeyType, allowing you to improve and test your typing skills. This project allowed me to further enhance my competencies in JavaScript.",
"demo": "https://thevalll.github.io/type-game/",
"language": [
"/assets/icon/JavaScript.svg",
"/assets/icon/Sass.svg",
"/assets/icon/Git.svg"
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/JavaScript.svg",
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Sass.svg",
"https://raw.githubusercontent.com/tandpfun/skill-icons/main/icons/Git.svg"
]
}
]
@@ -107,31 +96,31 @@
"name": "Aeronautical Initiation Certificate - With honors, Self-taught",
"link": "https://www.education.gouv.fr/bo/2010/02/mene0931098n.html",
"img": "/assets/schools-img/bia.jpg",
"desc": "🛫 Self-taught diploma in aeronautics covering regulations, meteorology, aerodynamics, and aviation history."
"desc": "Self-taught diploma in aeronautics covering regulations, meteorology, aerodynamics, and aviation history."
},
{
"name": "Scientific refresher course - University of Cergy-Pontoise",
"link": "https://www.cyu.fr/",
"img": "/assets/schools-img/cy.jpg",
"desc": "📚 Short academic program in math and physics to reinforce scientific foundations and critical thinking."
"desc": "Short academic program in math and physics to reinforce scientific foundations and critical thinking."
},
{
"name": "Konexio formation - Web Developer",
"link": "https://www.konexio.eu/",
"img": "/assets/schools-img/konexio.jpg",
"desc": "💻 Practical training in web development (HTML, CSS, JS), MySQL, and application maintenance. RNCP Level 5."
"desc": "Practical training in web development (HTML, CSS, JS), MySQL, and application maintenance. RNCP Level 5."
},
{
"name": "IMIE - Web Conception",
"link": "https://www.imie-paris.fr/",
"img": "/assets/schools-img/imie.png",
"desc": "🎓 Bachelor-level training (RNCP39608) in full-stack web development, Linux, CI/CD, and agile project management."
"desc": "Bachelor-level training (RNCP39608) in full-stack web development, Linux, CI/CD, and agile project management."
},
{
"name": "Efrei Paris - Mastère Data Engineering & AI",
"link": "https://www.efrei.fr/",
"img": "/assets/schools-img/efrei.png",
"desc": "🤖 Masters degree focused on big data, AI pipelines, cloud architecture, machine learning, and data strategy."
"desc": "Masters degree focused on big data, AI pipelines, cloud architecture, machine learning, and data strategy."
}
],
"experiences": [
@@ -140,14 +129,48 @@
"date": "02/2024 - 09/2025",
"link": "https://fr.adloox.com/",
"img": "/assets/society-img/adloox.jpg",
"desc": "👨‍💻 Dev apprentice: dashboards (Streamlit), API (Flask), Docker 🐳, BigQuery 📊, Linux VM via SSH 🖥️, API docs 📚"
"about": "Ad verification and media quality measurement, specialized in carbon impact tracking for digital advertising.",
"desc": "Dev apprentice: dashboards (Streamlit), API (Flask), Docker, BigQuery, Linux VM via SSH, API docs"
},
{
"name": "IceBergData Lab",
"name": "Iceberg Data Lab",
"date": "01/2026 --",
"link": "https://www.icebergdatalab.com/",
"img": "/assets/society-img/ibdl.svg",
"desc": "🧠 AI Engineer & Data Scientist"
"about": "Data consulting firm helping financial institutions measure and manage their impact on biodiversity and natural capital.",
"desc": "AI Engineer & Data Scientist"
}
],
"certifications": [
{
"name": "Mathematics for Machine Learning & Data Science",
"issuer": "DeepLearning.AI",
"link": "https://www.coursera.org/account/accomplishments/specialization/SYU61L1L3KZB",
"img": "https://s3.amazonaws.com/coursera_assets/meta_images/generated/CERTIFICATE_LANDING_PAGE/CERTIFICATE_LANDING_PAGE~SYU61L1L3KZB/CERTIFICATE_LANDING_PAGE~SYU61L1L3KZB.jpeg"
},
{
"name": "ROS 2 Moveit 2 - Control a Robotic Arm",
"issuer": "Udemy",
"link": "https://udemy-certificate.s3.amazonaws.com/image/UC-89bd21e3-af21-42f4-8a6b-c79ff9ea1e99.jpg?v=1775824061000",
"img": "https://udemy-certificate.s3.amazonaws.com/image/UC-89bd21e3-af21-42f4-8a6b-c79ff9ea1e99.jpg?v=1775824061000"
},
{
"name": "ROS 2 — Hardware and ros2_control, Step by Step",
"issuer": "Udemy",
"link": "https://udemy-certificate.s3.amazonaws.com/image/UC-7ba1abde-1719-4dbf-9dae-15543060cf87.jpg?v=1775150592000",
"img": "https://udemy-certificate.s3.amazonaws.com/image/UC-7ba1abde-1719-4dbf-9dae-15543060cf87.jpg?v=1775150592000"
},
{
"name": "ROS 2 for Beginners Level 2 — TF | URDF | RViz | Gazebo",
"issuer": "Udemy",
"link": "https://udemy-certificate.s3.amazonaws.com/image/UC-55631397-13ea-40ca-be50-6b57f4c43f47.jpg?v=1772281119000",
"img": "https://udemy-certificate.s3.amazonaws.com/image/UC-55631397-13ea-40ca-be50-6b57f4c43f47.jpg?v=1772281119000"
},
{
"name": "ROS 2 for Beginners (ROS Jazzy - 2026)",
"issuer": "Udemy",
"link": "https://udemy-certificate.s3.amazonaws.com/image/UC-758261d8-f0a2-4005-8e62-c9fae85d4f61.jpg?v=1771330617000",
"img": "https://udemy-certificate.s3.amazonaws.com/image/UC-758261d8-f0a2-4005-8e62-c9fae85d4f61.jpg?v=1771330617000"
}
]
}
-5
View File
@@ -1,5 +0,0 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="256" height="256" rx="60" fill="#00979C"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M19 136.512V120.095C19.3442 119.924 19.3442 119.582 19.3442 119.24C24.5074 96.8376 38.6201 83.3275 60.9939 78.0261C62.8871 77.5131 64.9524 77.6841 66.8455 77H77.8603C78.0324 77.3421 78.5487 77.1711 78.893 77.1711C89.9078 78.3682 99.8899 82.3015 108.667 89.142C116.24 94.7854 122.092 101.968 127.427 109.663C128.115 110.689 128.46 110.689 129.148 109.663C132.246 105.217 135.516 100.942 139.302 97.0086C148.424 87.2609 159.439 80.4203 172.863 78.0261C174.756 77.5131 176.993 77.6841 178.887 77H189.557C189.729 77.3421 190.074 77.1711 190.418 77.1711C193.688 77.5131 196.786 78.1971 199.884 79.0522C222.946 85.7217 239.296 106.756 237.919 130.527C236.886 150.536 226.732 164.901 209.005 173.964C200.228 178.753 190.59 179.95 180.608 179.779C167.528 179.608 156.169 175.161 146.359 166.611C139.474 160.625 134.139 153.443 129.148 145.918C128.46 144.892 128.115 145.063 127.427 146.089C124.329 150.707 121.059 155.324 117.273 159.77C110.561 167.295 102.816 173.451 93.1778 176.701C81.3025 180.805 69.255 180.976 57.2076 177.727C39.8249 172.767 27.9495 161.822 21.4095 145.063C20.3768 142.327 19.8605 139.249 19 136.512ZM73.7298 161.651C83.5398 161.993 91.973 158.744 99.2015 152.075C106.602 145.234 111.937 136.683 117.273 128.304C117.445 127.791 117.445 127.449 117.101 126.936C112.626 119.924 107.979 112.913 101.783 107.098C89.9078 95.8115 75.9672 92.0492 60.3055 97.0086C47.3975 101.284 39.1364 110.347 37.2433 124.028C35.3501 136.854 40.3412 147.115 50.6675 154.811C57.5518 159.77 65.2966 161.822 73.7298 161.651ZM182.845 161.651C186.631 161.651 190.418 161.48 194.032 160.454C207.628 156.35 216.578 147.97 219.16 133.947C221.741 120.095 216.406 108.979 204.703 101.113C191.795 92.2202 173.035 93.0753 159.955 102.823C151.178 109.321 145.326 118.043 139.474 127.107C139.13 127.62 139.302 127.962 139.474 128.475C144.121 135.828 148.768 143.182 154.792 149.509C162.364 157.547 171.486 162.164 182.845 161.651Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M73.5577 122.831C79.0651 122.831 84.7446 123.002 90.252 122.831C91.6289 122.831 91.801 123.173 91.801 124.541C91.6288 126.081 91.6288 127.62 91.801 129.159C91.9731 130.527 91.6288 130.869 90.0799 130.869H68.0503C64.264 130.869 60.4776 130.698 56.6913 130.869C55.4865 130.869 55.1423 130.527 55.1423 129.159C55.3144 127.62 55.3144 126.081 55.1423 124.37C55.1423 123.173 55.4865 122.831 56.6913 122.831C62.1987 123.002 67.8782 122.831 73.5577 122.831ZM181.985 111.886C183.361 111.886 184.738 112.057 185.943 111.886C186.804 111.886 187.148 112.228 187.148 113.083C186.976 115.478 187.148 117.872 186.976 120.266C186.976 121.463 187.32 121.805 188.525 121.805C190.762 121.634 193.172 121.805 195.581 121.634C196.614 121.634 196.958 121.805 196.958 123.002V130.869C196.958 131.724 196.614 132.066 195.753 132.066C193.344 131.895 190.934 132.066 188.353 131.895C187.32 131.895 186.976 132.237 186.976 133.263C187.148 135.657 186.976 138.051 187.148 140.446C187.148 141.472 186.804 141.985 185.771 141.985C183.189 141.814 180.608 141.814 178.026 141.985C176.994 141.985 176.649 141.643 176.649 140.617C176.821 138.051 176.649 135.657 176.821 133.092C176.821 132.237 176.477 131.895 175.617 131.895C173.207 132.066 170.798 131.895 168.388 132.066C167.011 132.066 166.839 131.553 166.839 130.527C166.839 128.133 167.011 125.738 166.839 123.344C166.667 121.976 167.356 121.634 168.56 121.634C170.97 121.805 173.207 121.634 175.617 121.805C176.477 121.805 176.821 121.463 176.821 120.608C176.649 118.214 176.821 115.649 176.649 113.255C176.649 112.228 176.994 111.886 178.026 111.886C179.403 112.057 180.608 111.886 181.985 111.886Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" fill="none" viewBox="0 0 256 256"><rect width="256" height="256" fill="#242938" rx="60"/><path fill="#242938" fill-rule="evenodd" d="M203.819 68.8354L140.679 31.3552C133.143 26.8816 123.854 26.8816 116.318 31.3552L53.1774 68.8354C45.6434 73.3091 41 81.575 41 90.5223V165.483C41 174.428 45.6434 182.698 53.1796 187.172L116.32 224.645C120.088 226.883 124.29 227.999 128.499 227.999C132.706 227.999 136.909 226.883 140.677 224.645L203.817 187.172C211.353 182.698 215.999 174.428 215.999 165.483V90.5223C215.999 81.575 211.353 73.3091 203.819 68.8354Z" clip-rule="evenodd"/><path fill="#fff" fill-rule="evenodd" d="M118.527 220.808L55.3866 183.334C49.2108 179.668 45.3744 172.828 45.3744 165.482V90.5234C45.3744 83.1768 49.2109 76.3374 55.3844 72.673L118.527 35.1928C121.554 33.3958 125.002 32.4455 128.499 32.4455C131.994 32.4455 135.442 33.3958 138.472 35.1928L201.612 72.673C206.816 75.7619 210.326 81.1109 211.313 87.1103C209.219 82.6411 204.496 81.4262 198.993 84.6409L139.259 121.537C131.811 125.891 126.319 130.777 126.314 139.758V213.362C126.31 218.74 128.482 222.223 131.818 223.233C130.722 223.423 129.617 223.555 128.499 223.555C125.002 223.555 121.554 222.605 118.527 220.808ZM203.819 68.8343L140.679 31.3563C136.911 29.1184 132.704 28.0005 128.499 28.0005C124.293 28.0005 120.086 29.1184 116.318 31.3563L53.1774 68.8343C45.6434 73.308 41 81.5761 41 90.5234V165.482C41 174.427 45.6434 182.697 53.1796 187.171L116.32 224.646C120.09 226.882 124.293 228 128.499 228C132.706 228 136.909 226.882 140.677 224.646L203.819 187.171C211.355 182.697 215.999 174.427 215.999 165.482V90.5234C215.999 81.5761 211.355 73.308 203.819 68.8343Z" clip-rule="evenodd"/><path fill="#47B353" fill-rule="evenodd" d="M187.267 172.729L171.545 182.139C171.128 182.382 170.822 182.655 170.819 183.156V187.27C170.819 187.773 171.157 187.982 171.573 187.737L187.539 178.034C187.955 177.791 188.019 177.326 188.022 176.825V173.196C188.022 172.696 187.684 172.486 187.267 172.729Z" clip-rule="evenodd"/><path fill="#242938" fill-rule="evenodd" d="M153.788 138.098C154.297 137.84 154.716 138.157 154.723 138.823L154.776 144.262C157.053 143.356 159.031 143.114 160.823 143.528C161.212 143.632 161.384 144.161 161.225 144.789L160.028 149.609C159.935 149.973 159.73 150.341 159.483 150.57C159.379 150.672 159.273 150.751 159.168 150.804C159.007 150.886 158.848 150.912 158.696 150.881C157.878 150.696 155.933 150.271 152.873 151.821C149.663 153.446 148.54 156.235 148.562 158.305C148.589 160.777 149.857 161.526 154.235 161.601C160.069 161.698 162.59 164.247 162.651 170.123C162.711 175.893 159.631 182.089 154.919 185.886L155.023 191.27C155.029 191.918 154.608 192.661 154.099 192.919L150.91 194.756C150.399 195.014 149.98 194.696 149.973 194.048L149.918 188.752C147.187 189.887 144.419 190.161 142.651 189.451C142.318 189.321 142.175 188.829 142.307 188.269L143.463 183.401C143.555 183.017 143.758 182.633 144.034 182.389C144.131 182.294 144.232 182.221 144.333 182.17C144.516 182.078 144.695 182.058 144.847 182.115C146.752 182.757 149.189 182.457 151.532 181.271C154.509 179.765 156.5 176.729 156.469 173.713C156.44 170.976 154.959 169.839 151.356 169.812C146.77 169.825 142.495 168.921 142.424 162.17C142.367 156.612 145.257 150.828 149.832 147.171L149.775 141.736C149.768 141.068 150.176 140.333 150.701 140.069L153.788 138.098Z" clip-rule="evenodd"/></svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" fill="none" viewBox="0 0 256 256"><rect width="256" height="256" fill="#5865F2" rx="60"/><path fill="#98A0F7" fill-rule="evenodd" d="M149.541 226.539C178.626 226.516 207.754 226.692 236.881 226.539L245.105 181.333H10L19.303 226.539C62.7124 226.255 106.151 226.572 149.541 226.539Z" clip-rule="evenodd"/><path fill="#98A0F7" fill-rule="evenodd" d="M215.716 183.071H39.3879V123.93C39.3879 72.0546 78.861 30 127.552 30C176.243 30 215.716 72.0546 215.716 123.93V183.071Z" clip-rule="evenodd"/><path fill="#fff" fill-rule="evenodd" d="M220.883 151.223V65.4102V151.223ZM34.7578 151.223V65.4102Z" clip-rule="evenodd"/><path stroke="#202225" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.37" d="M34.7578 151.223V65.4102M220.883 151.223V65.4102V151.223Z"/><path fill="#fff" fill-rule="evenodd" d="M225.781 118.172H29.8594C26.2539 118.172 23.3281 128.297 23.3281 140.785C23.3281 153.277 26.2539 163.398 29.8594 163.398H225.781C229.387 163.398 232.312 153.277 232.312 140.785C232.312 128.297 229.387 118.172 225.781 118.172Z" clip-rule="evenodd"/><path fill="#fff" fill-rule="evenodd" d="M145.727 111.754C136.949 124.848 118.691 124.848 109.914 111.754C105.781 105.594 99.1133 101.938 92.0039 101.938H72.2539C64.168 101.938 57.6172 108.922 57.6172 117.535V173.254H198.027V117.535C198.027 108.922 191.473 101.938 183.387 101.938H163.637C156.527 101.938 149.859 105.594 145.727 111.754Z" clip-rule="evenodd"/><path fill="#fff" fill-rule="evenodd" d="M137.617 97.4453C137.617 91.6836 133.23 87.0078 127.82 87.0078C122.41 87.0078 118.023 91.6836 118.023 97.4453C118.023 103.207 122.41 107.883 127.82 107.883C133.23 107.883 137.617 103.207 137.617 97.4453Z" clip-rule="evenodd"/><path fill="#000" fill-rule="evenodd" d="M96.8008 140.207C96.8008 133.48 91.6836 128.027 85.3711 128.027C79.0586 128.027 73.9414 133.48 73.9414 140.207C73.9414 146.93 79.0586 152.383 85.3711 152.383C91.6836 152.383 96.8008 146.93 96.8008 140.207ZM181.699 140.207C181.699 133.48 176.582 128.027 170.27 128.027C163.957 128.027 158.84 133.48 158.84 140.207C158.84 146.93 163.957 152.383 170.27 152.383C176.582 152.383 181.699 146.93 181.699 140.207Z" clip-rule="evenodd"/><path fill="#fff" fill-rule="evenodd" d="M202.922 209.551C202.922 206.672 200.73 204.332 198.027 204.332C195.32 204.332 193.129 206.672 193.129 209.551C193.129 212.434 195.32 214.77 198.027 214.77C200.73 214.77 202.922 212.434 202.922 209.551ZM186.598 209.551C186.598 206.672 184.406 204.332 181.699 204.332C178.992 204.332 176.801 206.672 176.801 209.551C176.801 212.434 178.992 214.77 181.699 214.77C184.406 214.77 186.598 212.434 186.598 209.551ZM170.27 209.551C170.27 206.672 168.078 204.332 165.371 204.332C162.668 204.332 160.473 206.672 160.473 209.551C160.473 212.434 162.668 214.77 165.371 214.77C168.078 214.77 170.27 212.434 170.27 209.551Z" clip-rule="evenodd"/></svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" fill="none" viewBox="0 0 256 256"><rect width="256" height="256" fill="#00599C" rx="60"/><path fill="#fff" d="M110.759 210.517C65.1254 210.517 28 173.392 28 127.759C28 82.1254 65.1254 45 110.759 45C140.204 45 167.667 60.8458 182.427 86.3533L146.611 107.079C139.224 94.3111 125.485 86.3793 110.759 86.3793C87.9416 86.3793 69.3793 104.942 69.3793 127.759C69.3793 150.575 87.9416 169.138 110.759 169.138C125.486 169.138 139.225 161.206 146.613 148.436L182.429 169.161C167.669 194.671 140.206 210.517 110.759 210.517Z"/><path fill="#fff" d="M193.517 123.161H184.321V113.965H175.127V123.161H165.931V132.356H175.127V141.552H184.321V132.356H193.517V123.161Z"/><path fill="#fff" d="M228 123.161H218.804V113.965H209.61V123.161H200.414V132.356H209.61V141.552H218.804V132.356H228V123.161Z"/></svg>

Before

Width:  |  Height:  |  Size: 851 B

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" fill="none" viewBox="0 0 256 256"><rect width="256" height="256" fill="#5865F2" rx="60"/><g clip-path="url(#clip0_158_82)"><path fill="#fff" d="M197.308 64.7966C184.561 58.9476 170.892 54.6383 156.599 52.1701C156.339 52.1225 156.079 52.2415 155.945 52.4796C154.187 55.6064 152.239 59.6856 150.876 62.8918C135.503 60.5904 120.21 60.5904 105.153 62.8918C103.789 59.6143 101.771 55.6064 100.005 52.4796C99.8707 52.2495 99.6107 52.1305 99.3504 52.1701C85.0659 54.6304 71.3963 58.9397 58.6411 64.7966C58.5307 64.8442 58.4361 64.9236 58.3732 65.0267C32.4449 103.763 25.3421 141.547 28.8265 178.863C28.8423 179.046 28.9447 179.22 29.0867 179.331C46.1934 191.894 62.7642 199.521 79.0273 204.576C79.2876 204.655 79.5634 204.56 79.729 204.346C83.5761 199.092 87.0054 193.553 89.9456 187.728C90.1192 187.386 89.9535 186.982 89.5989 186.847C84.1594 184.783 78.98 182.268 73.9977 179.411C73.6037 179.181 73.5721 178.617 73.9347 178.347C74.9831 177.561 76.0318 176.744 77.033 175.919C77.2141 175.768 77.4665 175.736 77.6794 175.831C110.411 190.775 145.846 190.775 178.191 175.831C178.404 175.728 178.657 175.76 178.846 175.911C179.847 176.736 180.895 177.561 181.952 178.347C182.314 178.617 182.291 179.181 181.897 179.411C176.914 182.323 171.735 184.783 166.288 186.839C165.933 186.974 165.775 187.386 165.949 187.728C168.952 193.545 172.381 199.084 176.157 204.338C176.315 204.56 176.599 204.655 176.859 204.576C193.201 199.521 209.772 191.894 226.879 179.331C227.028 179.22 227.123 179.053 227.139 178.871C231.309 135.73 220.154 98.2554 197.568 65.0346C197.513 64.9236 197.419 64.8442 197.308 64.7966ZM94.8335 156.142C84.9792 156.142 76.8594 147.095 76.8594 135.984C76.8594 124.873 84.8217 115.826 94.8335 115.826C104.924 115.826 112.965 124.953 112.807 135.984C112.807 147.095 104.845 156.142 94.8335 156.142ZM161.29 156.142C151.435 156.142 143.316 147.095 143.316 135.984C143.316 124.873 151.278 115.826 161.29 115.826C171.38 115.826 179.421 124.953 179.264 135.984C179.264 147.095 171.38 156.142 161.29 156.142Z"/></g><defs><clipPath id="clip0_158_82"><rect width="200" height="154.93" fill="#fff" transform="translate(28 51)"/></clipPath></defs></svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" fill="none" viewBox="0 0 256 256"><rect width="256" height="256" fill="#2396ED" rx="60"/><path fill="#fff" d="M141.187 122.123H161.904V103.379H141.187V122.123ZM116.525 122.123H137.241V103.379H116.525V122.123ZM92.3554 122.123H113.072V103.379H92.3554V122.123ZM68.1859 122.123H88.4093V103.379H68.1859V122.123ZM43.5233 122.123H64.2399V103.379H43.5233V122.123ZM68.1859 99.4333H88.4093V80.6896H68.1859V99.4333ZM92.3554 99.4333H113.072V80.6896H92.3554V99.4333ZM116.525 99.4333H137.241V80.6896H116.525V99.4333ZM116.525 76.7436H137.241V58H116.525V76.7436ZM228 113.738C228 113.738 219.121 105.352 200.871 108.312C198.898 94.0075 183.607 85.6222 183.607 85.6222C183.607 85.6222 169.303 102.886 179.661 122.123C176.702 123.603 171.769 125.576 164.37 125.576H28.7257C26.2594 134.948 26.2594 197.097 94.3284 197.097C143.16 197.097 179.661 174.408 196.925 132.974C222.574 134.948 228 113.738 228 113.738Z"/></svg>

Before

Width:  |  Height:  |  Size: 963 B

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" fill="none" viewBox="0 0 256 256"><rect width="256" height="256" fill="#242938" rx="60"/><path fill="#EA4335" d="M161.009 92.3895L178.394 75.0043L179.553 67.684C147.873 38.877 97.5124 42.1434 68.9538 74.4997C61.021 83.4864 55.1358 94.6903 51.9976 106.26L58.2241 105.382L92.9937 99.6489L95.678 96.9036C111.144 79.9176 137.295 77.6325 155.153 92.0848L161.009 92.3895Z"/><path fill="#4285F4" d="M203.16 105.749C199.164 91.033 190.96 77.8041 179.553 67.6846L155.153 92.0846C165.456 100.503 171.326 113.186 171.074 126.489V130.82C183.067 130.82 192.79 140.542 192.79 152.535C192.79 164.529 183.067 174.008 171.074 174.008H127.581L123.311 178.644V204.691L127.581 208.778H171.074C202.269 209.021 227.755 184.173 227.998 152.978C228.145 134.069 218.823 116.342 203.16 105.749Z"/><path fill="#34A853" d="M84.1488 208.778H127.581V174.008H84.1488C81.0543 174.007 78.0574 173.342 75.2433 172.056L69.0816 173.947L51.5746 191.332L50.0496 197.249C59.8675 204.662 71.8464 208.831 84.1488 208.778Z"/><path fill="#FBBC05" d="M84.1487 95.9886C52.9526 96.1746 27.8151 121.615 28.001 152.811C28.1049 170.231 36.2409 186.629 50.0495 197.249L75.2432 172.056C64.3128 167.118 59.4557 154.254 64.394 143.325C69.3315 132.395 82.1956 127.538 93.1245 132.475C97.9409 134.651 101.798 138.509 103.974 143.325L129.167 118.132C118.448 104.118 101.792 95.9254 84.1487 95.9886Z"/></svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" fill="none" viewBox="0 0 256 256"><rect width="256" height="256" fill="#F03C2E" rx="60"/><g clip-path="url(#clip0_7_283)"><path fill="#fff" d="M224.225 119.094L136.906 31.775C135.711 30.5787 134.291 29.6298 132.729 28.9824C131.166 28.3349 129.491 28.0017 127.8 28.0017C126.109 28.0017 124.434 28.3349 122.871 28.9824C121.309 29.6298 119.889 30.5787 118.694 31.775L100.569 49.9L123.569 72.9C128.919 71.025 135.044 72.3062 139.306 76.5687C141.335 78.6014 142.752 81.1638 143.394 83.9632C144.036 86.7626 143.878 89.6862 142.937 92.4L165.106 114.569C170.469 112.719 176.656 113.912 180.937 118.206C182.361 119.63 183.49 121.32 184.26 123.18C185.03 125.04 185.426 127.033 185.426 129.046C185.425 131.059 185.029 133.052 184.258 134.912C183.487 136.771 182.358 138.461 180.934 139.884C179.511 141.308 177.821 142.436 175.961 143.206C174.101 143.977 172.108 144.373 170.095 144.372C168.082 144.372 166.088 143.975 164.229 143.205C162.369 142.434 160.679 141.305 159.256 139.881C154.756 135.381 153.644 128.756 155.919 123.212L135.244 102.537V156.944C136.745 157.686 138.116 158.666 139.306 159.844C140.729 161.267 141.858 162.956 142.629 164.816C143.399 166.675 143.795 168.668 143.795 170.681C143.795 172.694 143.399 174.687 142.629 176.546C141.858 178.406 140.729 180.096 139.306 181.519C137.883 182.942 136.193 184.071 134.334 184.841C132.474 185.611 130.481 186.008 128.469 186.008C126.456 186.008 124.463 185.611 122.604 184.841C120.744 184.071 119.054 182.942 117.631 181.519C116.206 180.096 115.076 178.407 114.305 176.548C113.533 174.688 113.136 172.694 113.136 170.681C113.136 168.668 113.533 166.675 114.305 164.815C115.076 162.955 116.206 161.266 117.631 159.844C119.112 158.369 120.756 157.25 122.65 156.5V101.587C120.825 100.837 119.112 99.7312 117.631 98.2437C115.479 96.0943 114.016 93.3526 113.428 90.3684C112.841 87.3841 113.155 84.2924 114.331 81.4875L91.6437 58.8125L31.7687 118.625C30.5716 119.821 29.6219 121.241 28.9739 122.804C28.3259 124.367 27.9924 126.042 27.9924 127.734C27.9924 129.426 28.3259 131.102 28.9739 132.665C29.6219 134.228 30.5716 135.648 31.7687 136.844L119.094 224.156C120.289 225.352 121.709 226.301 123.271 226.949C124.834 227.596 126.509 227.929 128.2 227.929C129.891 227.929 131.566 227.596 133.129 226.949C134.691 226.301 136.111 225.352 137.306 224.156L224.225 137.375C225.422 136.179 226.372 134.759 227.02 133.196C227.668 131.633 228.001 129.958 228.001 128.266C228.001 126.574 227.668 124.898 227.02 123.335C226.372 121.772 225.422 120.352 224.225 119.156"/></g><defs><clipPath id="clip0_7_283"><rect width="200" height="200" fill="#fff" transform="translate(28 28)"/></clipPath></defs></svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

-4
View File
@@ -1,4 +0,0 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="256" height="256" rx="60" fill="#242938"/>
<path d="M128.001 30C72.7791 30 28 74.7708 28 130.001C28 174.184 56.6533 211.668 96.3867 224.891C101.384 225.817 103.219 222.722 103.219 220.081C103.219 217.696 103.126 209.819 103.083 201.463C75.2631 207.512 69.3927 189.664 69.3927 189.664C64.8437 178.105 58.2894 175.032 58.2894 175.032C49.2163 168.825 58.9733 168.953 58.9733 168.953C69.0151 169.658 74.3026 179.258 74.3026 179.258C83.2217 194.546 97.6965 190.126 103.403 187.571C104.301 181.107 106.892 176.696 109.752 174.199C87.5405 171.67 64.1913 163.095 64.1913 124.778C64.1913 113.86 68.0977 104.939 74.4947 97.9362C73.4564 95.4175 70.0335 85.2465 75.4635 71.4722C75.4635 71.4722 83.8609 68.7845 102.971 81.7226C110.948 79.5069 119.502 78.3958 128.001 78.3577C136.499 78.3958 145.061 79.5069 153.052 81.7226C172.139 68.7845 180.525 71.4722 180.525 71.4722C185.968 85.2465 182.544 95.4175 181.505 97.9362C187.917 104.939 191.797 113.86 191.797 124.778C191.797 163.187 168.403 171.644 146.135 174.119C149.722 177.223 152.918 183.308 152.918 192.638C152.918 206.018 152.802 216.787 152.802 220.081C152.802 222.742 154.602 225.86 159.671 224.878C199.383 211.64 228 174.169 228 130.001C228 74.7708 183.227 30 128.001 30ZM65.4536 172.453C65.2333 172.95 64.4517 173.099 63.7396 172.758C63.0143 172.432 62.6069 171.754 62.8421 171.256C63.0574 170.744 63.8406 170.602 64.5643 170.945C65.2913 171.271 65.7053 171.955 65.4536 172.453ZM70.3725 176.842C69.8956 177.285 68.9633 177.079 68.3307 176.38C67.6766 175.683 67.554 174.751 68.0376 174.302C68.5294 173.86 69.4336 174.067 70.0893 174.764C70.7434 175.47 70.8709 176.395 70.3725 176.842ZM73.7471 182.458C73.1344 182.884 72.1325 182.485 71.5132 181.595C70.9004 180.706 70.9004 179.64 71.5264 179.212C72.1474 178.785 73.1344 179.169 73.762 180.052C74.373 180.956 74.373 182.023 73.7471 182.458ZM79.4542 188.962C78.9061 189.566 77.7386 189.404 76.8841 188.579C76.0098 187.773 75.7663 186.629 76.3161 186.024C76.8709 185.418 78.045 185.589 78.9061 186.407C79.7738 187.211 80.0387 188.364 79.4542 188.962ZM86.8301 191.157C86.5883 191.941 85.4639 192.297 84.3312 191.964C83.2002 191.621 82.46 190.704 82.6885 189.912C82.9237 189.124 84.053 188.753 85.194 189.109C86.3234 189.45 87.0652 190.361 86.8301 191.157ZM95.2242 192.089C95.2523 192.913 94.2919 193.597 93.1029 193.612C91.9073 193.639 90.9402 192.971 90.9269 192.16C90.9269 191.327 91.8659 190.65 93.0615 190.63C94.2505 190.607 95.2242 191.269 95.2242 192.089ZM103.47 191.773C103.613 192.577 102.787 193.404 101.606 193.624C100.445 193.836 99.3702 193.339 99.2229 192.541C99.0788 191.716 99.92 190.89 101.079 190.676C102.262 190.471 103.32 190.955 103.47 191.773Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

-10
View File
@@ -1,10 +0,0 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="256" height="256" rx="60" fill="#242938"/>
<path d="M127.999 220.001L165.561 106.809H90.4414L127.999 219.997V220.001Z" fill="#E24329"/>
<path d="M127.999 220.001L90.4413 106.809H37.8003L127.999 219.997V220.001Z" fill="#FC6D26"/>
<path d="M37.8007 106.806L26.3827 141.206C25.3397 144.342 26.4767 147.78 29.2047 149.719L128 220.001L37.8007 106.809V106.806Z" fill="#FCA326"/>
<path d="M37.8003 106.805H90.4413L67.8173 38.6295C66.6533 35.1235 61.5823 35.1235 60.4203 38.6295L37.8003 106.808V106.805Z" fill="#E24329"/>
<path d="M128 220.001L165.562 106.809H218.205L128 219.997V220.001Z" fill="#FC6D26"/>
<path d="M218.203 106.806L229.619 141.206C230.66 144.342 229.519 147.78 226.795 149.719L128 220.001L218.203 106.809V106.806Z" fill="#FCA326"/>
<path d="M218.202 106.805H165.562L188.184 38.6305C189.349 35.1245 194.419 35.1245 195.581 38.6305L218.205 106.808L218.202 106.805Z" fill="#E24329"/>
</svg>

Before

Width:  |  Height:  |  Size: 1011 B

-5
View File
@@ -1,5 +0,0 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="256" height="256" rx="60" fill="#F0DB4F"/>
<path d="M67.3117 213.932L86.9027 202.076C90.6821 208.777 94.1202 214.447 102.367 214.447C110.272 214.447 115.256 211.355 115.256 199.327V117.529H139.314V199.667C139.314 224.584 124.708 235.926 103.398 235.926C84.1533 235.926 72.9819 225.959 67.3113 213.93" fill="#323330"/>
<path d="M152.381 211.354L171.969 200.013C177.126 208.434 183.828 214.62 195.684 214.62C205.653 214.62 212.009 209.636 212.009 202.762C212.009 194.514 205.479 191.592 194.481 186.782L188.468 184.203C171.111 176.815 159.597 167.535 159.597 147.945C159.597 129.901 173.345 116.153 194.826 116.153C210.12 116.153 221.118 121.481 229.022 135.4L210.291 147.429C206.166 140.04 201.7 137.119 194.826 137.119C187.78 137.119 183.312 141.587 183.312 147.429C183.312 154.646 187.78 157.568 198.09 162.037L204.104 164.614C224.553 173.379 236.067 182.313 236.067 202.418C236.067 224.072 219.055 235.928 196.2 235.928C173.861 235.928 159.426 225.274 152.381 211.354" fill="#323330"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.1 KiB

-1
View File
@@ -1 +0,0 @@
<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Ollama</title><path d="M7.905 1.09c.216.085.411.225.588.41.295.306.544.744.734 1.263.191.522.315 1.1.362 1.68a5.054 5.054 0 012.049-.636l.051-.004c.87-.07 1.73.087 2.48.474.101.053.2.11.297.17.05-.569.172-1.134.36-1.644.19-.52.439-.957.733-1.264a1.67 1.67 0 01.589-.41c.257-.1.53-.118.796-.042.401.114.745.368 1.016.737.248.337.434.769.561 1.287.23.934.27 2.163.115 3.645l.053.04.026.019c.757.576 1.284 1.397 1.563 2.35.435 1.487.216 3.155-.534 4.088l-.018.021.002.003c.417.762.67 1.567.724 2.4l.002.03c.064 1.065-.2 2.137-.814 3.19l-.007.01.01.024c.472 1.157.62 2.322.438 3.486l-.006.039a.651.651 0 01-.747.536.648.648 0 01-.54-.742c.167-1.033.01-2.069-.48-3.123a.643.643 0 01.04-.617l.004-.006c.604-.924.854-1.83.8-2.72-.046-.779-.325-1.544-.8-2.273a.644.644 0 01.18-.886l.009-.006c.243-.159.467-.565.58-1.12a4.229 4.229 0 00-.095-1.974c-.205-.7-.58-1.284-1.105-1.683-.595-.454-1.383-.673-2.38-.61a.653.653 0 01-.632-.371c-.314-.665-.772-1.141-1.343-1.436a3.288 3.288 0 00-1.772-.332c-1.245.099-2.343.801-2.67 1.686a.652.652 0 01-.61.425c-1.067.002-1.893.252-2.497.703-.522.39-.878.935-1.066 1.588a4.07 4.07 0 00-.068 1.886c.112.558.331 1.02.582 1.269l.008.007c.212.207.257.53.109.785-.36.622-.629 1.549-.673 2.44-.05 1.018.186 1.902.719 2.536l.016.019a.643.643 0 01.095.69c-.576 1.236-.753 2.252-.562 3.052a.652.652 0 01-1.269.298c-.243-1.018-.078-2.184.473-3.498l.014-.035-.008-.012a4.339 4.339 0 01-.598-1.309l-.005-.019a5.764 5.764 0 01-.177-1.785c.044-.91.278-1.842.622-2.59l.012-.026-.002-.002c-.293-.418-.51-.953-.63-1.545l-.005-.024a5.352 5.352 0 01.093-2.49c.262-.915.777-1.701 1.536-2.269.06-.045.123-.09.186-.132-.159-1.493-.119-2.73.112-3.67.127-.518.314-.95.562-1.287.27-.368.614-.622 1.015-.737.266-.076.54-.059.797.042zm4.116 9.09c.936 0 1.8.313 2.446.855.63.527 1.005 1.235 1.005 1.94 0 .888-.406 1.58-1.133 2.022-.62.375-1.451.557-2.403.557-1.009 0-1.871-.259-2.493-.734-.617-.47-.963-1.13-.963-1.845 0-.707.398-1.417 1.056-1.946.668-.537 1.55-.849 2.485-.849zm0 .896a3.07 3.07 0 00-1.916.65c-.461.37-.722.835-.722 1.25 0 .428.21.829.61 1.134.455.347 1.124.548 1.943.548.799 0 1.473-.147 1.932-.426.463-.28.7-.686.7-1.257 0-.423-.246-.89-.683-1.256-.484-.405-1.14-.643-1.864-.643zm.662 1.21l.004.004c.12.151.095.37-.056.49l-.292.23v.446a.375.375 0 01-.376.373.375.375 0 01-.376-.373v-.46l-.271-.218a.347.347 0 01-.052-.49.353.353 0 01.494-.051l.215.172.22-.174a.353.353 0 01.49.051zm-5.04-1.919c.478 0 .867.39.867.871a.87.87 0 01-.868.871.87.87 0 01-.867-.87.87.87 0 01.867-.872zm8.706 0c.48 0 .868.39.868.871a.87.87 0 01-.868.871.87.87 0 01-.867-.87.87.87 0 01.867-.872zM7.44 2.3l-.003.002a.659.659 0 00-.285.238l-.005.006c-.138.189-.258.467-.348.832-.17.692-.216 1.631-.124 2.782.43-.128.899-.208 1.404-.237l.01-.001.019-.034c.046-.082.095-.161.148-.239.123-.771.022-1.692-.253-2.444-.134-.364-.297-.65-.453-.813a.628.628 0 00-.107-.09L7.44 2.3zm9.174.04l-.002.001a.628.628 0 00-.107.09c-.156.163-.32.45-.453.814-.29.794-.387 1.776-.23 2.572l.058.097.008.014h.03a5.184 5.184 0 011.466.212c.086-1.124.038-2.043-.128-2.722-.09-.365-.21-.643-.349-.832l-.004-.006a.659.659 0 00-.285-.239h-.004z"></path></svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" fill="none" viewBox="0 0 256 256"><rect width="256" height="256" fill="#242938" rx="60"/><path fill="url(#paint0_linear_2_47)" d="M127.279 29C76.5066 29 79.6772 51.018 79.6772 51.018L79.7338 73.8284H128.185V80.6772H60.4893C60.4893 80.6772 28 76.9926 28 128.222C28 179.452 56.3573 177.636 56.3573 177.636H73.2812V153.863C73.2812 153.863 72.369 125.506 101.186 125.506H149.24C149.24 125.506 176.239 125.942 176.239 99.4123V55.5461C176.239 55.5461 180.338 29 127.279 29ZM100.563 44.339C105.384 44.339 109.28 48.2351 109.28 53.0556C109.28 57.8761 105.384 61.7723 100.563 61.7723C95.7426 61.7723 91.8465 57.8761 91.8465 53.0556C91.8465 48.2351 95.7426 44.339 100.563 44.339Z"/><path fill="url(#paint1_linear_2_47)" d="M128.721 227.958C179.493 227.958 176.323 205.941 176.323 205.941L176.266 183.13H127.815V176.281H195.511C195.511 176.281 228 179.966 228 128.736C228 77.5062 199.643 79.323 199.643 79.323H182.719V103.096C182.719 103.096 183.631 131.453 154.814 131.453H106.76C106.76 131.453 79.7607 131.016 79.7607 157.546V201.412C79.7607 201.412 75.6615 227.958 128.721 227.958ZM155.437 212.619C150.616 212.619 146.72 208.723 146.72 203.903C146.72 199.082 150.616 195.186 155.437 195.186C160.257 195.186 164.154 199.082 164.154 203.903C164.154 208.723 160.257 212.619 155.437 212.619Z"/><defs><linearGradient id="paint0_linear_2_47" x1="47.22" x2="146.333" y1="46.896" y2="145.02" gradientUnits="userSpaceOnUse"><stop stop-color="#387EB8"/><stop offset="1" stop-color="#366994"/></linearGradient><linearGradient id="paint1_linear_2_47" x1="108.056" x2="214.492" y1="109.905" y2="210.522" gradientUnits="userSpaceOnUse"><stop stop-color="#FFE052"/><stop offset="1" stop-color="#FFC331"/></linearGradient></defs></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" fill="none" viewBox="0 0 256 256"><rect width="256" height="256" fill="#242938" rx="60"/><path fill="#41CD52" fill-rule="evenodd" d="M99.5884 90.2637C90.8797 90.2637 84.8736 93.0035 81.5703 98.5552C78.3421 104.107 76.6904 112.903 76.6904 125.088C76.6904 137.201 78.267 145.925 81.4202 151.116C84.5733 156.307 90.6544 158.975 99.5884 158.975C108.522 158.975 114.528 156.38 117.682 151.26C120.76 146.141 122.336 137.417 122.336 125.232C122.336 112.975 120.76 104.107 117.531 98.5552C114.303 93.0035 108.297 90.2637 99.5884 90.2637" clip-rule="evenodd"/><path fill="#41CD52" fill-rule="evenodd" d="M178.837 169.771C170.903 169.771 165.464 168.063 162.516 164.647C159.57 161.232 158.059 154.755 158.059 145.22V114.477H147.331V102.237H158.059V83.0234H173.246V102.237H192.587V114.548H173.246V143.654C173.246 149.062 173.699 152.62 174.53 154.329C175.36 156.108 177.552 156.962 180.952 156.962L192.436 156.534L193.116 168.063C186.921 169.201 182.16 169.771 178.837 169.771V169.771ZM135.091 183.576L120.66 189.91L108.194 170.624C106.38 171.123 103.585 171.408 99.656 171.408C85.0741 171.408 74.8743 167.707 69.1322 160.306C63.3901 152.906 60.5191 141.164 60.5191 125.222C60.5191 109.211 63.4657 97.3272 69.2833 89.5704C75.101 81.8129 85.2252 77.8989 99.656 77.8989C114.087 77.8989 124.211 81.7425 129.953 89.4992C135.771 97.1849 138.642 109.069 138.642 125.152C138.642 135.755 137.433 144.294 135.091 150.771C132.672 157.318 128.82 162.299 123.38 165.715L135.091 183.576ZM217.369 51H209.663H47.7505L17 79.9634V176.816V184.715V204.783H38.3062H46.0127H207.925L238.675 175.82V78.9664V71.068V51H217.369Z" clip-rule="evenodd"/></svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

-12
View File
@@ -1,12 +0,0 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="256" height="256" rx="60" fill="#242938"/>
<path d="M81.3201 62.2842C81.3201 72.9309 72.963 81.5684 62.6634 81.5684C52.3571 81.5684 44 72.9309 44 62.2842C44 51.6308 52.3571 43 62.6634 43C72.963 43 81.3201 51.6308 81.3201 62.2842Z" fill="white"/>
<path d="M81.3201 127.999C81.3201 138.646 72.963 147.283 62.6634 147.283C52.3571 147.283 44 138.646 44 127.999C44 117.346 52.3571 108.715 62.6634 108.715C72.963 108.715 81.3201 117.346 81.3201 127.999Z" fill="white"/>
<path d="M81.3201 193.715C81.3201 204.362 72.963 213 62.6634 213C52.3571 213 44 204.362 44 193.715C44 183.069 52.3571 174.431 62.6634 174.431C72.963 174.431 81.3201 183.069 81.3201 193.715Z" fill="white"/>
<path d="M146.435 127.999C146.435 138.646 138.085 147.283 127.779 147.283C117.472 147.283 109.115 138.646 109.115 127.999C109.115 117.346 117.472 108.715 127.779 108.715C138.085 108.715 146.435 117.346 146.435 127.999Z" fill="white"/>
<path d="M146.435 62.2842C146.435 72.9309 138.085 81.5684 127.779 81.5684C117.472 81.5684 109.115 72.9309 109.115 62.2842C109.115 51.6308 117.472 43 127.779 43C138.085 43 146.435 51.6308 146.435 62.2842" fill="white"/>
<path d="M211.558 127.999C211.558 138.646 203.201 147.283 192.894 147.283C182.588 147.283 174.238 138.646 174.238 127.999C174.238 117.346 182.588 108.715 192.894 108.715C203.201 108.715 211.558 117.346 211.558 127.999Z" fill="white"/>
<path d="M211.558 62.2842C211.558 72.9309 203.201 81.5684 192.894 81.5684C182.588 81.5684 174.238 72.9309 174.238 62.2842C174.238 51.6308 182.588 43 192.894 43C203.201 43 211.558 51.6308 211.558 62.2842" fill="white"/>
<path d="M211.558 193.715C211.558 204.362 203.201 213 192.894 213C182.588 213 174.238 204.362 174.238 193.715C174.238 183.069 182.588 174.431 192.894 174.431C203.201 174.431 211.558 183.069 211.558 193.715Z" fill="white"/>
<path d="M146.436 193.715C146.436 204.362 138.085 213 127.779 213C117.473 213 109.115 204.362 109.115 193.715C109.115 183.069 117.473 174.431 127.779 174.431C138.085 174.431 146.436 183.069 146.436 193.715Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

-6
View File
@@ -1,6 +0,0 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="256" height="256" rx="60" fill="#242938"/>
<path d="M90.582 29.0032C89.543 29.0342 88.424 29.4022 87.154 30.3622C84.042 29.2132 81.026 28.8142 78.329 31.1532C74.163 30.6362 72.809 31.7042 71.784 32.9532C70.87 32.9342 64.942 32.0512 62.224 35.9372C55.393 35.1632 53.232 39.7882 55.678 44.0982C54.285 46.1702 52.837 48.2122 56.101 52.1592C54.947 54.3562 55.662 56.7392 58.382 59.6262C57.664 62.7132 59.074 64.8932 61.604 66.5922C61.13 70.8182 65.649 73.2782 66.999 74.1522C67.517 76.6142 68.597 78.9402 73.761 80.2232C74.608 83.8972 77.712 84.5302 80.716 85.2992C70.787 90.8312 62.274 98.1042 62.333 115.955L60.877 118.442C49.491 125.076 39.25 146.395 55.266 163.725C56.314 169.15 58.066 173.045 59.628 177.358C61.966 194.735 77.215 202.871 81.236 203.834C87.131 208.134 93.408 212.214 101.902 215.074C109.909 222.988 118.585 226.003 127.308 226H127.692C136.417 226.004 145.093 222.988 153.098 215.074C161.593 212.216 167.869 208.134 173.764 203.834C177.786 202.871 193.036 194.735 195.371 177.356C196.933 173.045 198.687 169.15 199.735 163.725C215.75 146.395 205.509 125.073 194.122 118.438L192.668 115.954C192.726 98.1042 184.212 90.8272 174.283 85.2982C177.287 84.5282 180.391 83.8922 181.241 80.2222C186.402 78.9372 187.481 76.6132 188 74.1502C189.349 73.2732 193.87 70.8172 193.396 66.5872C195.925 64.8912 197.335 62.7102 196.618 59.6212C199.338 56.7372 200.052 54.3532 198.897 52.1552C202.162 48.2122 200.713 46.1672 199.32 44.0972C201.765 39.7842 199.608 35.1612 192.774 35.9352C190.056 32.0512 184.129 32.9342 183.216 32.9512C182.189 31.7032 180.834 30.6352 176.669 31.1522C173.973 28.8142 170.955 29.2132 167.844 30.3622C164.151 27.5692 161.704 29.8082 158.913 30.6552C154.44 29.2532 153.417 31.1722 151.221 31.9542C146.343 30.9662 144.86 33.1162 142.521 35.3862L139.801 35.3352C132.444 39.4872 128.79 47.9482 127.496 52.2972C126.198 47.9462 122.553 39.4862 115.197 35.3352L112.477 35.3842C110.135 33.1142 108.653 30.9662 103.776 31.9542C101.579 31.1722 100.557 29.2542 96.082 30.6552C94.248 30.0992 92.563 28.9432 90.579 29.0022L90.582 29.0032Z" fill="#050606"/>
<path d="M76.0822 47.2811C95.6012 56.9201 106.946 64.7221 113.164 71.3661C109.981 83.5911 93.3732 84.1481 87.2992 83.8051C88.5442 83.2511 89.5812 82.5861 89.9492 81.5671C88.4252 80.5301 83.0232 81.4581 79.2502 79.4261C80.6992 79.1381 81.3772 78.8581 82.0552 77.8351C78.4902 76.7451 74.6522 75.8061 72.3942 74.0011C73.6132 74.0181 74.7502 74.2641 76.3422 73.2051C73.1492 71.5571 69.7432 70.2521 67.0982 67.7321C68.7442 67.6941 70.5262 67.7151 71.0442 67.1351C68.1222 65.4021 65.6572 63.4721 63.6182 61.3641C65.9282 61.6301 66.9022 61.4011 67.4622 61.0131C65.2522 58.8471 62.4572 57.0171 61.1242 54.3471C62.8392 54.9131 64.4082 55.1301 65.5392 54.2961C64.7872 52.6741 61.5742 51.7171 59.7212 47.9281C61.5272 48.0941 63.4422 48.3051 63.8232 47.9281C62.9872 44.6561 61.5502 42.8161 60.1392 40.9131C64.0022 40.8571 69.8562 40.9251 69.5912 40.6111L67.2012 38.2751C70.9762 37.3001 74.8382 38.4321 77.6422 39.2691C78.9002 38.3181 77.6202 37.1161 76.0852 35.8841C79.2922 36.2951 82.1892 37.0031 84.8072 37.9761C86.2082 36.7651 83.9002 35.5551 82.7832 34.3421C87.7382 35.2441 89.8382 36.5091 91.9232 37.7781C93.4382 36.3861 92.0102 35.2061 90.9902 33.9961C94.7252 35.3211 96.6492 37.0341 98.6772 38.7231C99.3642 37.8331 100.42 37.1821 99.1442 35.0401C101.795 36.5051 103.793 38.2321 105.271 40.1651C106.912 39.1631 106.249 37.7931 106.259 36.5321C109.016 38.6811 110.764 40.9661 112.908 43.2011C113.336 42.9011 113.714 41.8791 114.049 40.2651C120.625 46.3781 129.919 61.7781 116.437 67.8831C104.964 58.8181 91.2612 52.2261 76.0772 47.2811H76.0802H76.0822ZM179.464 47.2811C159.947 56.9221 148.599 64.7201 142.383 71.3661C145.568 83.5911 162.176 84.1481 168.247 83.8051C167.003 83.2511 165.967 82.5861 165.6 81.5671C167.123 80.5301 172.527 81.4581 176.298 79.4261C174.849 79.1381 174.17 78.8581 173.494 77.8351C177.057 76.7451 180.896 75.8061 183.154 74.0011C181.935 74.0181 180.796 74.2641 179.205 73.2051C182.398 71.5571 185.804 70.2521 188.452 67.7321C186.8 67.6941 185.022 67.7151 184.504 67.1351C187.427 65.4021 189.892 63.4721 191.932 61.3641C189.621 61.6301 188.647 61.4011 188.087 61.0131C190.296 58.8471 193.091 57.0171 194.424 54.3471C192.709 54.9131 191.141 55.1301 190.009 54.2961C190.76 52.6741 193.974 51.7171 195.827 47.9281C194.019 48.0941 192.106 48.3051 191.722 47.9281C192.563 44.6561 193.998 42.8151 195.41 40.9111C191.547 40.8561 185.692 40.9231 185.957 40.6111L188.349 38.2751C184.572 37.2991 180.71 38.4301 177.908 39.2671C176.648 38.3161 177.932 37.1141 179.464 35.8831C176.26 36.2941 173.36 37.0021 170.742 37.9751C169.341 36.7631 171.65 35.5541 172.766 34.3411C167.811 35.2431 165.713 36.5081 163.625 37.7741C162.112 36.3851 163.54 35.2041 164.559 33.9951C160.823 35.3201 158.899 37.0331 156.873 38.7191C156.187 37.8311 155.129 37.1801 156.406 35.0361C153.754 36.5031 151.755 38.2281 150.277 40.1631C148.636 39.1611 149.3 37.7911 149.289 36.5311C146.535 38.6791 144.784 40.9661 142.642 43.2001C142.212 42.9001 141.834 41.8781 141.5 40.2631C134.923 46.3761 125.63 61.7761 139.111 67.8821C150.58 58.8121 164.279 52.2231 179.467 47.2801H179.464" fill="#63C54D"/>
<path d="M151.379 171.774C151.447 183.182 141.034 192.48 128.122 192.541C115.209 192.601 104.687 183.402 104.618 171.992V171.774C104.549 160.365 114.962 151.067 127.874 151.007C140.788 150.947 151.31 160.146 151.379 171.555V171.772V171.774ZM114.925 112.763C124.611 118.844 126.357 132.629 118.825 143.552C111.29 154.475 97.3308 158.401 87.6418 152.319C77.9558 146.238 76.2088 132.451 83.7428 121.53C91.2758 110.605 105.236 106.681 114.925 112.763ZM141.072 111.661C131.384 117.744 129.638 131.527 137.172 142.452C144.706 153.373 158.666 157.301 168.352 151.217C178.042 145.136 179.786 131.351 172.253 120.428C164.718 109.507 150.76 105.58 141.072 111.663V111.661ZM67.1049 122.769C77.5629 120.081 70.6349 164.229 62.1268 160.608C52.7638 153.393 49.7478 132.265 67.1028 122.769H67.1049ZM187.978 122.219C177.517 119.534 184.445 163.682 192.957 160.06C202.318 152.844 205.332 131.715 187.978 122.219ZM152.897 89.2812C170.948 86.3602 185.966 96.6342 185.36 115.389C184.766 122.578 146.246 90.3502 152.897 89.2792V89.2812ZM103.025 88.7302C84.9719 85.8092 69.9528 96.0862 70.5598 114.839C71.1538 122.028 109.675 89.7992 103.025 88.7302ZM127.891 84.3562C117.12 84.0882 106.781 92.0192 106.754 96.6152C106.726 102.205 115.272 107.926 127.967 108.072C140.928 108.16 149.199 103.492 149.241 97.7252C149.288 91.1912 137.451 84.2562 127.891 84.3562ZM128.724 198.957C138.117 198.563 150.722 201.855 150.745 206.221C150.902 210.461 139.315 220.041 128.101 219.857C116.488 220.338 105.1 210.742 105.25 207.417C105.075 202.54 119.392 198.734 128.724 198.957ZM93.9638 173.078C100.65 180.798 103.697 194.36 98.1189 198.357C92.8399 201.41 80.0169 200.153 70.9019 187.608C64.7579 177.084 65.5508 166.372 69.8658 163.224C76.3188 159.458 86.2898 164.546 93.9618 173.078H93.9638ZM161.293 170.63C154.056 178.752 150.027 193.561 155.305 198.331C160.351 202.038 173.899 201.519 183.908 188.214C191.175 179.278 188.739 164.357 184.589 160.394C178.423 155.823 169.572 161.672 161.292 170.627V170.63" fill="#C51850"/>
</svg>

Before

Width:  |  Height:  |  Size: 7.1 KiB

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" fill="none" viewBox="0 0 256 256"><rect width="256" height="256" fill="#242938" rx="60"/><path fill="#00D8FF" d="M128.001 146.951C138.305 146.951 146.657 138.598 146.657 128.295C146.657 117.992 138.305 109.639 128.001 109.639C117.698 109.639 109.345 117.992 109.345 128.295C109.345 138.598 117.698 146.951 128.001 146.951Z"/><path fill-rule="evenodd" stroke="#00D8FF" stroke-width="8.911" d="M128.002 90.3633C153.05 90.3633 176.319 93.9575 193.864 99.9976C215.003 107.275 228 118.306 228 128.295C228 138.704 214.226 150.423 191.525 157.944C174.363 163.63 151.779 166.598 128.002 166.598C103.624 166.598 80.5389 163.812 63.1834 157.881C41.2255 150.376 28 138.506 28 128.295C28 118.387 40.4096 107.441 61.2515 100.175C78.8617 94.0353 102.705 90.3633 127.998 90.3633H128.002Z" clip-rule="evenodd"/><path fill-rule="evenodd" stroke="#00D8FF" stroke-width="8.911" d="M94.9811 109.438C107.495 87.7402 122.232 69.3783 136.23 57.1971C153.094 42.5206 169.144 36.7728 177.796 41.7623C186.813 46.9623 190.084 64.7496 185.259 88.1712C181.614 105.879 172.9 126.925 161.021 147.523C148.842 168.641 134.897 187.247 121.09 199.315C103.619 214.587 86.7284 220.114 77.8833 215.013C69.3003 210.067 66.0181 193.846 70.1356 172.161C73.6145 153.838 82.3451 131.349 94.977 109.438L94.9811 109.438Z" clip-rule="evenodd"/><path fill-rule="evenodd" stroke="#00D8FF" stroke-width="8.911" d="M95.0123 147.578C82.4633 125.904 73.9194 103.962 70.3531 85.7517C66.0602 63.8109 69.0954 47.0355 77.7401 42.0315C86.7485 36.8163 103.792 42.866 121.674 58.7437C135.194 70.7479 149.077 88.8052 160.99 109.383C173.204 130.481 182.358 151.856 185.919 169.844C190.425 192.608 186.778 210.001 177.941 215.116C169.367 220.08 153.676 214.825 136.945 200.427C122.809 188.263 107.685 169.468 95.0123 147.578Z" clip-rule="evenodd"/></svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.8 KiB

-77
View File
@@ -1,77 +0,0 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="256" height="256" rx="60" fill="#242938"/>
<mask id="mask0_217_156" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="28" y="28" width="200" height="200">
<path d="M64.6656 197.166L31.3344 172.166C30.2952 171.394 29.4519 170.389 28.8727 169.23C28.2935 168.072 27.9946 166.795 28.0001 165.5V90.5001C27.9946 89.2054 28.2935 87.9276 28.8727 86.7698C29.4519 85.6119 30.2952 84.6065 31.3344 83.8345L64.6656 58.8345C63.7702 59.6752 63.0936 60.7218 62.6944 61.8835C62.2952 63.0451 62.1856 64.2866 62.375 65.5001V190.5C62.1856 191.714 62.2952 192.955 62.6944 194.117C63.0936 195.278 63.7702 196.325 64.6656 197.166Z" fill="white"/>
<path d="M224.29 62.7093C222.917 61.8073 221.308 61.3291 219.665 61.3344C218.601 61.3258 217.544 61.5273 216.558 61.9274C215.571 62.3274 214.673 62.9181 213.915 63.6656L213.334 64.25L146.834 128L110.04 163.291L75.9999 195.915L75.4156 196.5C74.6583 197.248 73.7604 197.84 72.7736 198.241C71.7868 198.641 70.7305 198.843 69.6656 198.834C67.8628 198.83 66.1092 198.246 64.6656 197.165L31.3344 172.166C33.0279 173.437 35.1424 174.016 37.2476 173.784C39.3528 173.552 41.2902 172.526 42.6656 170.915L79.6656 127.959L110.04 92.7093L163.25 30.9156C164.022 30.0005 164.985 29.2654 166.072 28.7617C167.159 28.2581 168.343 27.9981 169.541 28C171.184 27.9947 172.792 28.4729 174.165 29.375L224.29 62.7093Z" fill="white"/>
<path d="M224.29 193.29L174.291 226.624C172.589 227.735 170.545 228.195 168.532 227.92C166.52 227.644 164.674 226.651 163.334 225.125L110.04 163.291L79.6656 127.959L42.6656 85.0405C41.278 83.4462 39.3387 82.4358 37.2369 82.2121C35.1352 81.9883 33.0266 82.5679 31.3344 83.8344L64.6656 58.8344C66.1092 57.7545 67.8628 57.1692 69.6656 57.1656C70.7305 57.1566 71.7868 57.3582 72.7736 57.7588C73.7604 58.1595 74.6583 58.7512 75.4156 59.5L75.9999 60.0843L110.04 92.7094L146.834 128L213.334 191.75L213.915 192.334C214.673 193.082 215.571 193.672 216.558 194.072C217.544 194.472 218.601 194.674 219.665 194.665C221.308 194.671 222.917 194.193 224.29 193.29Z" fill="white"/>
<path d="M228 69.6655V186.334C228.001 187.709 227.663 189.064 227.016 190.276C226.369 191.49 225.433 192.525 224.29 193.29L174.291 226.624C175.433 225.859 176.369 224.823 177.017 223.609C177.663 222.395 178 221.041 177.999 219.665V36.3343C177.981 34.9486 177.622 33.5889 176.953 32.3751C176.284 31.1613 175.327 30.1309 174.165 29.375L224.29 62.7093C225.429 63.4774 226.364 64.5131 227.011 65.7258C227.658 66.9385 227.997 68.2911 228 69.6655Z" fill="white"/>
</mask>
<g mask="url(#mask0_217_156)">
<path d="M64.6656 197.165L31.3344 172.166C30.2952 171.394 29.4519 170.387 28.8727 169.23C28.2935 168.072 27.9946 166.794 28.0001 165.5V90.4999C27.9946 89.2052 28.2935 87.9273 28.8727 86.7696C29.4519 85.6117 30.2952 84.6062 31.3344 83.8342L64.6656 58.8342C63.7702 59.675 63.0936 60.7216 62.6944 61.8832C62.2952 63.0449 62.1856 64.2863 62.375 65.4999V190.5C62.1856 191.714 62.2952 192.955 62.6944 194.117C63.0936 195.278 63.7702 196.324 64.6656 197.165Z" fill="#5E438F"/>
<g filter="url(#filter0_dd_217_156)">
<path d="M224.289 62.7093C222.917 61.8073 221.308 61.3291 219.665 61.3344C218.601 61.3258 217.544 61.5273 216.557 61.9274C215.571 62.3274 214.673 62.9181 213.915 63.6656L213.334 64.25L177.914 98.2093L146.834 128L110.04 163.291L75.9993 195.915L75.4151 196.5C74.6577 197.248 73.7598 197.84 72.7731 198.241C71.7862 198.641 70.73 198.843 69.665 198.834C67.8622 198.83 66.1087 198.246 64.665 197.165L31.3338 172.166C33.0272 173.437 35.1418 174.016 37.247 173.784C39.3522 173.552 41.2897 172.526 42.6651 170.915L61.3338 149.25L79.665 127.959L110.04 92.7093L163.249 30.9156C164.022 30.0005 164.985 29.2654 166.072 28.7617C167.158 28.2581 168.343 27.9981 169.539 28C171.183 27.9947 172.791 28.4729 174.165 29.375L224.289 62.7093Z" fill="url(#paint0_linear_217_156)"/>
</g>
<g filter="url(#filter1_dd_217_156)">
<path d="M224.289 193.29L174.29 226.625C172.589 227.736 170.545 228.195 168.532 227.92C166.519 227.644 164.674 226.652 163.334 225.125L110.04 163.291L79.665 127.959L61.3338 106.709L42.6651 85.0407C41.2774 83.4464 39.338 82.436 37.2363 82.2122C35.1347 81.9884 33.026 82.5681 31.3338 83.8344L64.665 58.8345C66.1087 57.7546 67.8622 57.1693 69.665 57.1658C70.73 57.1568 71.7862 57.3584 72.7731 57.759C73.7598 58.1596 74.6577 58.7514 75.4151 59.5002L75.9993 60.0845L110.04 92.7094L146.834 128L177.958 157.835L213.334 191.75L213.915 192.335C214.673 193.082 215.571 193.672 216.557 194.072C217.544 194.472 218.601 194.674 219.665 194.665C221.308 194.671 222.917 194.192 224.289 193.29Z" fill="url(#paint1_linear_217_156)"/>
</g>
<g filter="url(#filter2_dd_217_156)">
<path d="M228 69.6653V186.333C228.001 187.709 227.663 189.063 227.016 190.277C226.369 191.489 225.433 192.525 224.29 193.29L174.29 226.624C175.433 225.859 176.369 224.823 177.015 223.609C177.663 222.395 178 221.041 177.999 219.665V36.3341C177.981 34.9485 177.622 33.5886 176.953 32.3748C176.284 31.161 175.327 30.1307 174.165 29.3748L224.29 62.709C225.429 63.4771 226.363 64.5129 227.011 65.7256C227.657 66.9383 227.997 68.291 228 69.6653Z" fill="url(#paint2_linear_217_156)"/>
</g>
</g>
<defs>
<filter id="filter0_dd_217_156" x="26.1529" y="24.1143" width="203.317" height="181.196" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="0.246095"/>
<feGaussianBlur stdDeviation="0.246095"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_217_156"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="1.29524"/>
<feGaussianBlur stdDeviation="2.59048"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.22 0"/>
<feBlend mode="normal" in2="effect1_dropShadow_217_156" result="effect2_dropShadow_217_156"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_217_156" result="shape"/>
</filter>
<filter id="filter1_dd_217_156" x="26.1529" y="53.2798" width="203.317" height="181.194" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="0.246095"/>
<feGaussianBlur stdDeviation="0.246095"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_217_156"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="1.29524"/>
<feGaussianBlur stdDeviation="2.59048"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.22 0"/>
<feBlend mode="normal" in2="effect1_dropShadow_217_156" result="effect2_dropShadow_217_156"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_217_156" result="shape"/>
</filter>
<filter id="filter2_dd_217_156" x="158.622" y="13.8319" width="84.9208" height="228.335" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.129524"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_217_156"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="7.77143"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0"/>
<feBlend mode="normal" in2="effect1_dropShadow_217_156" result="effect2_dropShadow_217_156"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_217_156" result="shape"/>
</filter>
<linearGradient id="paint0_linear_217_156" x1="190.499" y1="28" x2="41.9893" y2="177.471" gradientUnits="userSpaceOnUse">
<stop stop-color="#7252AA"/>
<stop offset="1" stop-color="#7252AA"/>
</linearGradient>
<linearGradient id="paint1_linear_217_156" x1="46.7501" y1="64.4571" x2="186.332" y2="220.705" gradientUnits="userSpaceOnUse">
<stop stop-color="#AE7FE2"/>
<stop offset="1" stop-color="#9A70D4"/>
</linearGradient>
<linearGradient id="paint2_linear_217_156" x1="200.49" y1="25.3528" x2="200.49" y2="226.456" gradientUnits="userSpaceOnUse">
<stop stop-color="#D59DFF"/>
<stop offset="1" stop-color="#C18EF1"/>
</linearGradient>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 KiB