Merge branch 'master' into fix/docs-header-icons

This commit is contained in:
Terry Sutton committed 2022-12-19 16:24:14 -03:30
commit 199968b39d
109 files changed
+5516 -1199

No files matched your search

@@ -469,6 +469,7 @@ export const platform = {
items: [
{ name: 'Compute Add-ons', url: '/guides/platform/compute-add-ons', items: [] },
{ name: 'Custom Domains', url: '/guides/platform/custom-domains', items: [] },
{ name: 'Database Backups', url: '/guides/platform/backups', items: [] },
],
},
{
+5
View File
@@ -27,6 +27,9 @@ import RefHeaderSection from './reference/RefHeaderSection'
// Ref version specific
import CliGlobalFlagsHandler from '~/components/reference/enrichments/cli/CliGlobalFlagsHandler'
import Options from '~/components/Options'
import Param from '~/components/Params'
const components = {
Admonition,
Button,
@@ -68,6 +71,8 @@ const components = {
code: (props: any) => <CodeBlock {...props} />,
RefHeaderSection: (props: any) => <RefHeaderSection {...props} />,
CliGlobalFlagsHandler: () => <CliGlobalFlagsHandler />,
Options,
Param,
}
export default components
+19 -37
View File
@@ -1,26 +1,8 @@
const authProviders = [
// {
// name: 'Email',
// // logo: '/img/libraries/dart-icon.svg',
// href: '/docs/guides/auth/auth-apple',
// official: true,
// supporter: 'Supabase',
// platform: true,
// selfHosted: true,
// },
// {
// name: 'Magic Links',
// // logo: '/img/libraries/dart-icon.svg',
// href: '/docs/guides/auth/auth-apple',
// official: true,
// supporter: 'Supabase',
// platform: true,
// selfHosted: true,
// },
{
name: 'Apple',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-apple',
href: '/guides/auth/social-login/auth-apple',
official: true,
supporter: 'Supabase',
platform: true,
@@ -29,7 +11,7 @@ const authProviders = [
{
name: 'Azure',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-azure',
href: '/guides/auth/social-login/auth-azure',
official: false,
supporter: 'TBD',
platform: true,
@@ -38,7 +20,7 @@ const authProviders = [
{
name: 'Bitbucket',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-bitbucket',
href: '/guides/auth/social-login/auth-bitbucket',
official: true,
supporter: 'Supabase',
platform: true,
@@ -47,7 +29,7 @@ const authProviders = [
{
name: 'Discord',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-discord',
href: '/guides/auth/social-login/auth-discord',
official: true,
supporter: 'Supabase',
platform: true,
@@ -56,7 +38,7 @@ const authProviders = [
{
name: 'Facebook',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-facebook',
href: '/guides/auth/social-login/auth-facebook',
official: true,
supporter: 'Supabase',
platform: true,
@@ -65,7 +47,7 @@ const authProviders = [
{
name: 'GitHub',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-github',
href: '/guides/auth/social-login/auth-github',
official: true,
supporter: 'Supabase',
platform: true,
@@ -74,7 +56,7 @@ const authProviders = [
{
name: 'GitLab',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-gitlab',
href: '/guides/auth/social-login/auth-gitlab',
official: true,
supporter: 'Supabase',
platform: true,
@@ -83,7 +65,7 @@ const authProviders = [
{
name: 'Google',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-google',
href: '/guides/auth/social-login/auth-google',
official: true,
supporter: 'Supabase',
platform: true,
@@ -91,7 +73,7 @@ const authProviders = [
},
{
name: 'Keycloak',
href: '/guides/auth/auth-keycloak',
href: '/guides/auth/social-login/auth-keycloak',
official: true,
supporter: 'Supabase',
platform: true,
@@ -100,7 +82,7 @@ const authProviders = [
{
name: 'LinkedIn',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-linkedin',
href: '/guides/auth/social-login/auth-linkedin',
official: true,
supporter: 'Supabase',
platform: true,
@@ -109,7 +91,7 @@ const authProviders = [
{
name: 'MessageBird',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-messagebird',
href: '/guides/auth/phone-login/messagebird',
official: false,
supporter: 'MessageBird',
platform: true,
@@ -118,7 +100,7 @@ const authProviders = [
{
name: 'Notion',
// logo: '/img/libraries/notion-icon.svg',
href: '/guides/auth/auth-notion',
href: '/guides/auth/social-login/auth-notion',
official: true,
supporter: 'Supabase',
platform: true,
@@ -127,7 +109,7 @@ const authProviders = [
{
name: 'Slack',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-slack',
href: '/guides/auth/social-login/auth-slack',
official: true,
supporter: 'Supabase',
platform: true,
@@ -136,7 +118,7 @@ const authProviders = [
{
name: 'Spotify',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-spotify',
href: '/guides/auth/social-login/auth-spotify',
official: true,
supporter: 'Supabase',
platform: true,
@@ -145,7 +127,7 @@ const authProviders = [
{
name: 'Twitter',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-twitter',
href: '/guides/auth/social-login/auth-twitter',
official: true,
supporter: 'Supabase',
platform: true,
@@ -154,7 +136,7 @@ const authProviders = [
{
name: 'Twitch',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-twitch',
href: '/guides/auth/social-login/auth-twitch',
official: true,
supporter: 'Supabase',
platform: true,
@@ -163,7 +145,7 @@ const authProviders = [
{
name: 'Zoom',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-zoom',
href: '/guides/auth/social-login/auth-zoom',
official: true,
supporter: 'Supabase',
platform: true,
@@ -172,7 +154,7 @@ const authProviders = [
{
name: 'Twilio',
// logo: '/img/libraries/dart-icon.svg',
href: '/guides/auth/auth-twilio',
href: '/guides/auth/phone-login/twilio',
official: true,
supporter: 'Supabase',
platform: true,
@@ -180,7 +162,7 @@ const authProviders = [
},
{
name: 'Vonage',
href: '/guides/auth/auth-vonage',
href: '/guides/auth/phone-login/vonage',
official: false,
supporter: 'Supabase',
platform: true,
+2
View File
@@ -60,6 +60,8 @@ function recurseThroughParams(paramDefinition: any) {
children = dereferenced.children
} else if (dereferenced.type?.declaration?.children) {
children = dereferenced.type.declaration.children
} else if (dereferenced.type?.type === 'query') {
// skip: ignore types created from `typeof` for now, like `type Fetch = typeof fetch`
} else if (dereferenced.type?.type === 'union') {
// skip: we don't want to show unions as nested parameters
} else if (Object.keys(dereferenced).length === 0) {
@@ -95,7 +95,7 @@ Create a new file at `/utils/supabase-browser.ts` and populate with the followin
```ts
import { createBrowserSupabaseClient } from '@supabase/auth-helpers-nextjs'
import { Database } from '../db_types'
import { Database } from '../lib/database.types'
export default createBrowserSupabaseClient<Database>()
```
@@ -109,7 +109,7 @@ Create a new file at `/utils/supabase-server.ts` and populate with the following
```ts title="/utils/supabase-server.ts"
import { headers, cookies } from 'next/headers'
import { createServerComponentSupabaseClient } from '@supabase/auth-helpers-nextjs'
import { Database } from '../db_types'
import { Database } from '../lib/database.types'
export default () =>
createServerComponentSupabaseClient<Database>({
@@ -139,6 +139,8 @@ Middleware runs before every route declared in the `matcher` array. Since we don
>
<TabPanel id="js" label="JavaScript">
Create a new file at `/pages/middleware.js` and populate with the following:
```jsx title="middleware.js"
import { createMiddlewareSupabaseClient } from '@supabase/auth-helpers-nextjs'
import { NextResponse } from 'next/server'
@@ -164,6 +166,8 @@ export const config = {
<TabPanel id="ts" label="TypeScript">
Create a new file at `/middleware.ts` (a sibling of /pages) and populate with the following:
```tsx title="middleware.ts"
import { createMiddlewareSupabaseClient } from '@supabase/auth-helpers-nextjs'
import { NextResponse } from 'next/server'
@@ -254,7 +258,7 @@ export default async function RootLayout({ children }) {
}
```
We don't want Next.js to cache this `session` value, so we need to export a `revalidate` value of `0`.
We don't want Next.js to cache this `session` value, so we need to export a `revalidate` value of `0` in the layout file.
```jsx
export const revalidate = 0
@@ -641,7 +645,7 @@ Create a new file at `/app/realtime/posts.tsx` and populate with the following:
'use client'
import { useEffect, useState } from 'react'
import { Database } from '../../db_types'
import { Database } from '../lib/database.types'
import supabase from '../../utils/supabase-browser'
type Post = Database['public']['Tables']['posts']['Row']
@@ -10,8 +10,8 @@ The `uuid-ossp` extension can be used to generate a `UUID`.
## Overview
A `UUID` is a "Universally Unique Identifer" and it is, for practical purposes, unique.
This makes them particularly well suited as Primary Keys. It is occasionally referred to as a `GUID`, which stands for "Globally Unique Identifer".
A `UUID` is a "Universally Unique Identifier" and it is, for practical purposes, unique.
This makes them particularly well suited as Primary Keys. It is occasionally referred to as a `GUID`, which stands for "Globally Unique Identifier".
## Usage
+1 -1
View File
@@ -265,7 +265,7 @@ For example if you had the following situations:
- You have a list of `movies`.
- A movie can have several `actors`.
- An `actor` can perfom in several movies.
- An `actor` can perform in several movies.
<Tabs
scrollable
+3 -3
View File
@@ -38,7 +38,7 @@ export const meta = {
### Tutorials
<div className="grid grid-cols-12 gap-6 not-prose">
<div className="grid lg:grid-cols-12 gap-6 not-prose">
{webapps.map((item) => {
return (
<Link href={`/${item.href}`} key={item.title} passHref>
@@ -150,13 +150,13 @@ export const resources = [
{
title: 'Features',
hasLightIcon: true,
href: '/features',
href: '/guides/getting-started/features',
description: 'A non-exhaustive list of features that Supabase provides for every project.',
},
{
title: 'Architecture',
hasLightIcon: true,
href: '/architecture',
href: '/guides/getting-started/architecture',
description: "An overview of Supabase's architecture and product principles.",
},
]
@@ -60,11 +60,11 @@ Build passwordless logins for your application or website.[Docs](/docs/guides/au
### Social Logins
Provide social logins - everything from Apple, to GitHub, to Slack. [Docs](/docs/guides/auth/auth-apple).
Provide social logins - everything from Apple, to GitHub, to Slack. [Docs](/docs/guides/auth/social-login).
### Phone Logins
Provide phone logins using a 3rd-party SMS provider. [Docs](/docs/guides/auth/auth-twilio).
Provide phone logins using a third-party SMS provider. [Docs](/docs/guides/auth/phone-login).
### Row Level Security
@@ -205,7 +205,7 @@ export class AuthComponent implements OnInit {
</div>
</form>
</div>
</div
</div>
```
### Account page
@@ -50,7 +50,9 @@ Add `io.supabase.flutterquickstart://login-callback/` as a new [redirect URL](ht
That is it on Supabase's end and the rest are platform specific settings:
For Android, add an intent-filter to enable deep linking:
For Android, edit the `android/app/src/main/AndroidManifest.xml` file.
Add an intent-filter to enable deep linking:
```xml title=android/app/src/main/AndroidManifest.xml
<manifest ...>
@@ -75,7 +77,9 @@ For Android, add an intent-filter to enable deep linking:
</manifest>
```
For iOS add CFBundleURLTypes to enable deep linking:
For iOS, edit the ios/Runner/Info.plist file.
Add CFBundleURLTypes to enable deep linking:
```xml title=ios/Runner/Info.plist"
<!-- ... other tags -->
@@ -37,7 +37,7 @@ Then let's install the only additional dependency: [supabase-js](https://github.
npm install @supabase/supabase-js
```
And finally we want to save the environment variables in a `.env`.
And finally we want to save the environment variables in a `.env.local` file.
All we need are the API URL and the `anon` key that you copied [earlier](#get-the-api-keys).
```bash title=.env
@@ -48,6 +48,8 @@ REACT_APP_SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEY
Now that we have the API credentials in place, let's create a helper file to initialize the Supabase client. These variables will be exposed
on the browser, and that's completely fine since we have [Row Level Security](/docs/guides/auth#row-level-security) enabled on our Database.
Create and edit `src/supabaseClient.js`:
```js title=src/supabaseClient.js
import { createClient } from '@supabase/supabase-js'
@@ -64,6 +66,8 @@ You can find the full contents of this file [here](https://raw.githubusercontent
Let's set up a React component to manage logins and sign ups. We'll use Magic Links, so users can sign in with their email without using passwords.
Create and edit `src/Auth.js`:
```jsx title=src/Auth.js
import { useState } from 'react'
import { supabase } from './supabaseClient'
@@ -120,7 +124,7 @@ export default function Auth() {
After a user is signed in we can allow them to edit their profile details and manage their account.
Let's create a new component for that called `Account.js`.
Let's create a new component for that called `src/Account.js`.
```jsx title=src/Account.js
import { useState, useEffect } from 'react'
@@ -234,7 +238,7 @@ export default Account
### Launch!
Now that we have all the components in place, let's update `App.js`:
Now that we have all the components in place, let's update `src/App.js`:
```jsx title=src/App.js
import './index.css'
@@ -282,6 +286,8 @@ Every Supabase project is configured with [Storage](/docs/guides/storage) for ma
Let's create an avatar for the user so that they can upload a profile photo. We can start by creating a new component:
Create and edit `src/Avatar.js`:
```jsx title=src/Avatar.js
import { useEffect, useState } from 'react'
import { supabase } from './supabaseClient'
@@ -367,7 +373,7 @@ export default function Avatar({ url, size, onUpload }) {
### Add the new widget
And then we can add the widget to the Account page:
And then we can add the widget to the Account page at `src/Account.js`:
```jsx title=src/Account.js
// Import the new component
@@ -376,7 +382,7 @@ import Avatar from './Avatar'
// ...
return (
<div className="form-widget">
<form onSubmit={updateProfile} className="form-widget">
{/* Add to the body */}
<Avatar
url={avatar_url}
@@ -1,84 +1,81 @@
import Layout from '~/layouts/DefaultGuideLayout'
import { IconCheck } from 'ui'
export const meta = {
title: 'Access Control',
description: 'Roles and permissions at the organization level',
}
Supabase provides granular access control features that let you manage permissions across your organizations.
Within a Supabase organization, a member can have one of the following roles:
Supabase provides granular access controls to manage permissions across your organizations.
For each organization, a member can have one of the following roles:
- Owner
- Administrator
- Developer
A default organization is created for a user when they first sign-in and
assigned the **Owner** role. If the user wants to invite others
to collaborate within the organization, they can visit the organization team
settings (`https://app.supabase.com/org/<org-slug>/settings#team`) to send an
invite link to another user's email. The invite expires after 24 hours.
Invites sent from a SSO account can only be accepted by another SSO account
coming from the same identity provider. This is a security measure that
prevents accidental invites to accounts not managed by your company's
enterprise systems.
Project level invites are not available at this time. A member of the
organization will be able to access all projects under the organization. If you
wish to restrict access to certain projects, please create another organization
to manage this.
A default organization is created when you first sign in and
you'll be assigned the **Owner** role.
Each member can access all projects under the organization.
Project level invites are not available at this time.
Create a separate organization if you need to restrict access to certain projects.
## Manage team members
You can invite your team members into your organizations to collaborate on projects.
To invite others to collaborate, visit your organization's team settings in the
[Dashboard](https://app.supabase.com/projects) to send an invite link to
another user's email. The invite expires after 24 hours.
<video width="99%" muted playsInline controls="true">
<source src="/docs/videos/invite-team.mp4" type="video/mp4" muted playsInline />
</video>
### Transferring ownership of an organization
Each Supabase organization can have one or more owners. If you no longer want be an owner of an organization, click **Leave team** in the members view (`https://app.supabase.com/org/<org-slug>/settings#team`) of your organization.
However, you can only leave an organization when there is _at least one other owner_.
If you are transferring ownership of your organization to someone else, you will need to invite the new member with the **Owner** role. You can leave the organization after they've accepted the invitation.
### Permissions across roles [#permission-across-roles]
The table below shows the corresponding permissions for each available role you can assign a team member in the Dashboard.
| Permissions | Owner | Administrator | Developer |
| ------------------------ | ----- | ------------- | --------- |
| Permissions | Owner | Administrator | Developer |
| ------------------------ | ----------------------- | ----------------------- | ----------------------- |
| **Organization** |
| Change organization name | ✅ | | |
| Delete organization | ✅ | | |
| Change organization name | <IconCheck size={14} /> | | |
| Delete organization | <IconCheck size={14} /> | | |
| **Members** |
| Add an Owner | ✅ | | |
| Remove an Owner | ✅ | | |
| Add an Administrator | ✅ | ✅ | |
| Remove an Administrator | ✅ | ✅ | |
| Add a Developer | ✅ | ✅ | |
| Remove a Developer | ✅ | ✅ | |
| Revoke an invite | ✅ | ✅ | |
| Resend an invite | ✅ | ✅ | |
| Accept an invite[^1] | ✅ | ✅ | ✅ |
| Add an Owner | <IconCheck size={14} /> | | |
| Remove an Owner | <IconCheck size={14} /> | | |
| Add an Administrator | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Remove an Administrator | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Add a Developer | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Remove a Developer | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Revoke an invite | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Resend an invite | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Accept an invite[^1] | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| **Billing** |
| Read invoices | ✅ | ✅ | ✅ |
| Read billing email | ✅ | ✅ | ✅ |
| Change billing email | ✅ | | |
| View subscription | ✅ | ✅ | ✅ |
| Update subscription | ✅ | ✅ | |
| Read billing address | ✅ | ✅ | ✅ |
| Update billing address | ✅ | ✅ | |
| Read tax codes | ✅ | ✅ | ✅ |
| Update tax codes | ✅ | ✅ | |
| Read payment methods | ✅ | ✅ | ✅ |
| Update payment methods | ✅ | ✅ | |
| Read invoices | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| Read billing email | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| Change billing email | <IconCheck size={14} /> | | |
| View subscription | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| Update subscription | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Read billing address | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| Update billing address | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Read tax codes | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| Update tax codes | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Read payment methods | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
| Update payment methods | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| **Projects** |
| Create a project | ✅ | ✅ | |
| Delete a project | ✅ | ✅ | |
| Update a project | ✅ | ✅ | |
| Pause a project | ✅ | ✅ | |
| Resume a project | ✅ | ✅ | |
| Restart a project | ✅ | ✅ | ✅ |
| Create a project | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Delete a project | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Update a project | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Pause a project | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Resume a project | <IconCheck size={14} /> | <IconCheck size={14} /> | |
| Restart a project | <IconCheck size={14} /> | <IconCheck size={14} /> | <IconCheck size={14} /> |
[^1]:
If the invite was sent from a SSO account, it can only be accepted from
a user signed in via the same identity provider.
Invites sent from a SSO account can only be accepted by another SSO account
coming from the same identity provider. This is a security measure that
prevents accidental invites to accounts not managed by your company's
enterprise systems.
export const Page = ({ children }) => <Layout meta={meta} children={children} />
@@ -0,0 +1,77 @@
import Layout from '~/layouts/DefaultGuideLayout'
export const meta = {
title: 'Database Backups',
description: 'Learn about the available backup methods for your Supabase project.',
}
Database backups are an integral part of any disaster recovery plan. Disasters come in many shapes and sizes. It could be as simple as accidentally deleting a table column, the database crashing, or even a natural calamity wiping out the underlying hardware a database is running on. The risks and impact brought by these scenarios can never be fully eliminated, but only minimized or even mitigated. Having database backups is a form of insurance policy. They are essentially snapshots of the database at various points in time. When disaster strikes, database backups allow the project to be brought back to any of these points in time, therefore averting the crisis.
## Frequency of Backups
When deciding how often a database should be backed up, the key business metric Recovery Point Objective (RPO) should be considered. RPO is the threshold for how much data, measured in time, a business could lose when disaster strikes. This amount is fully dependent on a business and its underlying requirements. A low RPO would mean that database backups would have to be taken at an increased cadence throughout the day. Each Supabase project has access to two forms of backups, Daily Backups and Point-in-Time Recovery. The agreed upon RPO would be a deciding factor in choosing which solution best fits a project.
<Admonition type="note">
Database backups do not include objects stored via the Storage API, as the database only includes
metadata about these objects. Restoring an old backup does not restore objects that have been
deleted since then.
</Admonition>
## Daily Backups
All Pro and Enterprise tier Supabase projects are backed up automatically on a daily basis. In terms of Recovery Point Objective (RPO), Daily Backups would be suitable for projects willing to lose up to 24 hours worth of data if disaster hits at the most inopportune time. If a lower RPO is required, enabling Point-in-Time Recovery should be considered.
### Backup Process [#daily-backups-process]
The PostgreSQL utility [pg_dumpall](https://www.postgresql.org/docs/current/app-pg-dumpall.html) is used to perform daily backups. An SQL file is generated, zipped up, and sent to our storage servers for safe keeping.
![Scheduled backups dashboard](/docs/img/backups-daily-dashboard.png)
You can access daily backups in the [Scheduled backups](https://app.supabase.com/project/_/database/backups/scheduled) settings in the Dashboard. Pro tier projects can access the last 7 days’ worth of daily backups while Enterprise tier projects can access up to 30 days’ worth of daily backups. Users can restore their project to any one of the backups or download them as a zipped SQL file.
### Restoration Process [#daily-backups-restoration-process]
When selecting a backup to restore to, select the closest available one made before the desired point in time to restore to. Earlier backups can always be chosen too but do consider the number of days’ worth of data that could be lost.
![Scheduled backups: Confirmation modal](/docs/img/backups-daily-confirmation-modal.png)
The Dashboard will then prompt for a confirmation before proceeding with the restoration. The project will be inaccessible following this. As such, do ensure to allot downtime beforehand. This is dependent on the size of the database. The larger it is, the longer the downtime will be. Once the confirmation has been given, the underlying SQL of the chosen backup is then run against the project. The PostgreSQL utility [psql](https://www.postgresql.org/docs/current/app-psql.html) is used to facilitate the restoration. The Dashboard will display a notification once the restoration completes.
{/* screenshot of the Dashboard of the project completing restoration */}
## Point-in-Time Recovery
Point-in-Time Recovery (PITR) allows a project to be backed up at much shorter intervals. This provides users an option to restore to any chosen point of up to seconds in granularity. Even with daily backups, a day’s worth of data could still be lost. With PITR, backups could be performed up to the point of disaster.
<Admonition type="note">
This feature is available to all Enterprise tier projects. Pro tier projects can enable PITR as an
add-on.
</Admonition>
### Backup Process [#pitr-backup-process]
As discussed [here](https://supabase.com/blog/postgresql-physical-logical-backups), PITR is made possible by a combination of taking physical backups of a project, as well as archiving [Write Ahead Log (WAL)](https://www.postgresql.org/docs/current/wal-intro.html) files. Physical backups provide a snapshot of the underlying directory of the database, while WAL files contain records of every change made in the database.
Supabase uses [WAL-G](https://github.com/wal-g/wal-g), an open source archival and restoration tool, to handle both aspects of PITR. On a daily basis, a snapshot of the database is taken and sent to our storage servers. Throughout the day, as database transactions occur, WAL files are generated and uploaded.
By default, WAL files are backed up at two minute intervals. If these files cross a certain file size threshold, they are backed up immediately. As such, during periods of high amount of transactions, WAL file backups become more frequent. Conversely, when there is no activity in the database, WAL file backups are not made. Overall, this would mean that at the worst case scenario or disaster, the PITR achieves a Recovery Point Objective (RPO) of two minutes.
![PITR dashboard](/docs/img/backups-pitr-dashboard.png)
You can access PITR in the [Point in Time](https://app.supabase.com/project/_/database/backups/pitr) settings in the Dashboard. The recovery period of a project is indicated by the earliest and latest points of recoveries displayed in one’s preferred timezone. If need be, the maximum amount of this recovery period can be modified accordingly.
Note that the latest restore point of the project could be significantly far from the current time. This occurs when there has not been any recent activity in the database, and therefore no WAL file backups have been made recently. This is perfectly fine as the state of the database at the latest point of recovery would still be indicative of the state of the database at the current time given that no transactions have been made in between.
### Restoration Process [#pitr-restoration-process]
![PITR: Calendar view](/docs/img/backups-pitr-calendar-view.png)
A date and time picker will be provided upon pressing the `Start a restore` button. The process will only proceed if the selected date and time fall within the earliest and latest points of recoveries.
![PITR: Confirmation modal](/docs/img/backups-pitr-confirmation-modal.png)
After locking in the desired point in time to recover to, The Dashboard will then prompt for a review and confirmation before proceeding with the restoration. The project will be inaccessible following this. As such, do ensure to allot for downtime beforehand. This is dependent on the size of the database. The larger it is, the longer the downtime will be. Once the confirmation has been given, the latest physical backup available is downloaded to the project and the database is partially restored. WAL files generated after this physical backup up to the specified point-in-time are then downloaded. The underlying records of transactions in these files are replayed against the database to complete the restoration. The Dashboard will display a notification once the restoration completes.
export const Page = ({ children }) => <Layout meta={meta} children={children} />
export default Page
@@ -12,18 +12,20 @@ Custom Domains are currently in beta, and are being slowly made available to pro
</Admonition>
Custom domains allow you to present a branded experience to your users. Currently, you must use a subdomain (e.g., `api.example.com`, rather than `example.com`) for the purposes of this guide.
Custom domains allow you to present a branded experience to your users. Custom domains are available as a [add-on for projects on a paid tier](https://app.supabase.com/project/_/settings/billing/update). Setting up a custom domain requires [Owner or Admin permissions](/docs/guides/platform/access-control#manage-team-members) for the project. Currently, you must use a subdomain (e.g., `api.example.com`, rather than `example.com`) for the purposes of this guide.
## Configure a Custom Domain using the Supabase Dashboard
Follow the **Custom Domains** steps in the [General Settings](https://app.supabase.com/project/_/settings/general) page in the Dashboard to set up a custom domain for your project.
## Configure a Custom Domain using the Supabase CLI
This example assumes your Supabase project is `foobarbaz` with a corresponding API URL `foobarbaz.supabase.co` and configures a custom domain at `api.example.com`.
To get started:
1. [Install](/docs/guides/cli) the Supabase CLI 1.11.3+.
1. [Log in](/docs/guides/cli/local-development#log-in-to-the-supabase-cli) to your Supabase account using the CLI.
1. Ensure that you have [Owner or Admin permissions](/docs/guides/platform#manage-team-members) for the project you'd like to set up a custom domain for.
1. Enable the Custom Domains add-on in the Billing page of the Dashboard.
## Configure a Custom Domain
This example assumes your Supabase project is `foobarbaz` with a corresponding API URL `foobarbaz.supabase.co` and configures a custom domain at `api.example.com`.
1. [Install](/docs/guides/resources/supabase-cli) the Supabase CLI 1.11.3+.
1. [Log in](/docs/guides/resources/supabase-cli/local-development#log-in-to-the-supabase-cli) to your Supabase account using the CLI.
### Configure a CNAME
@@ -47,7 +49,7 @@ Required outstanding validation records:
api.example.com TXT -> ca3-F1HvR9i938OgVwpCFwi1jTsbhe1hvT0Ic3efPY3Q
```
[^1] One of the records requires you to _replace_ the CNAME record set up in [the first step](#cname-configure) with a TXT record. You'll be able to restore it back to the CNAME after the verification process has been completed.
[^1] One of the records requires you to _replace_ the CNAME record set up in [the first step](#configure-a-cname) with a TXT record. You'll be able to restore it back to the CNAME after the verification process has been completed.
### Verify your domain
@@ -97,9 +99,9 @@ Vanity Subdomains allow you to present a basic branded experience, compared to c
To get started:
1. [Install](/docs/guides/cli) the Supabase CLI 1.22.0+.
1. [Log in](/docs/guides/cli/local-development#log-in-to-the-supabase-cli) to your Supabase account using the CLI.
1. Ensure that you have [Owner or Admin permissions](/docs/guides/hosting/platform#manage-team-members) for the project you'd like to set up a vanity subdomain for.
1. [Install](/docs/guides/resources/supabase-cli) the Supabase CLI 1.22.0+.
1. [Log in](/docs/guides/resources/supabase-cli/local-development#log-in-to-the-supabase-cli) to your Supabase account using the CLI.
1. Ensure that you have [Owner or Admin permissions](/docs/guides/platform/access-control#manage-team-members) for the project you'd like to set up a vanity subdomain for.
1. Ensure that your project has a paid subscription (Pro/Pay as you go/Enterprise tier) in the [Billing page of the Dashboard](https://app.supabase.com/project/_/settings/billing/subscription).
## Configure a Vanity Subdomain
@@ -20,7 +20,7 @@ To get started:
1. [Install](/docs/guides/cli) the Supabase CLI 1.22.0+.
1. [Log in](/docs/guides/cli/local-development#log-in-to-the-supabase-cli) to your Supabase account using the CLI.
1. Ensure that you have [Owner or Admin permissions](/docs/guides/hosting/platform#manage-team-members) for the project that you are enabling network restrictions.
1. Ensure that you have [Owner or Admin permissions](/docs/guides/hosting/platform/access-control#manage-team-members) for the project that you are enabling network restrictions.
## Check restrictions
@@ -63,7 +63,14 @@ const supabase = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_KEY
*/
const channel = supabase
.channel('schema-db-changes')
.on('postgres_changes', { event: '*', schema: 'public' }, (payload) => console.log(payload))
.on(
'postgres_changes',
{
event: '*',
schema: 'public',
},
(payload) => console.log(payload)
)
.subscribe()
```
@@ -74,8 +81,14 @@ To listen to changes on a table in the `public` schema:
const channel = supabase
.channel('table-db-changes')
.on('postgres_changes', { event: 'INSERT', schema: 'public', table: 'messages' }, (payload) =>
console.log(payload)
.on(
'postgres_changes',
{
event: 'INSERT',
schema: 'public',
table: 'messages',
},
(payload) => console.log(payload)
)
.subscribe()
```
@@ -109,11 +122,21 @@ const channel = supabase
.channel('db-changes')
.on(
'postgres_changes',
{ event: '*', schema: 'public', table: 'messages', filter: 'body=eq.bye' },
{
event: '*',
schema: 'public',
table: 'messages',
filter: 'body=eq.bye',
},
(payload) => console.log(payload)
)
.on('postgres_changes', { event: 'INSERT', schema: 'public', table: 'users' }, (payload) =>
console.log(payload)
.on('postgres_changes',
{
event: 'INSERT',
schema: 'public',
table: 'users',
},
(payload) => console.log(payload)
)
.subscribe()
```
@@ -102,6 +102,10 @@ Once you have done this, you can safely comment out the `db` section of the `doc
By default, `docker-compose` sets the database's `log_min_messages` configuration to `fatal` to prevent redundant logs generated by Realtime.
However, you might miss important log messages such as database errors. Configure `log_min_messages` based on your needs.
### File storage backend on macOS
By default, Storage backend is set to `file`, which is to use local files as the storage backend. To make it work on macOS, you need to choose `VirtioFS` as the Docker container file sharing implementation (in Docker Desktop -> Preferences -> General).
## Deploying
See the following guides to deploy Docker Compose setup using your preferred tool and platform:
@@ -173,7 +173,7 @@ Use the seed script in `supabase/seed.sql` (created with [`supabase init`](/docs
-- in supabase/seed.sql
insert into public.employees (name)
values
('Erlich Backman'),
('Erlich Bachman'),
('Richard Hendricks'),
('Monica Hall');
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

+165 -153
View File
@@ -103,13 +103,13 @@
</url>
<url>
<loc>https://supabase.com/docs/reference/index</loc>
<loc>https://supabase.com/docs/new/auth</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/new/auth</loc>
<loc>https://supabase.com/docs/reference/index</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
@@ -126,78 +126,6 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-captcha</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-email-templates</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-email</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-helpers</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-magic-link</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-mfa</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/managing-user-data</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/overview</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/phone-login</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/row-level-security</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/server-side-rendering</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/social-login</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/arrays</loc>
<changefreq>weekly</changefreq>
@@ -288,6 +216,78 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-captcha</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-email-templates</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-email</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-helpers</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-magic-link</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-mfa</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/managing-user-data</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/overview</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/phone-login</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/row-level-security</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/server-side-rendering</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/social-login</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/functions/auth</loc>
<changefreq>weekly</changefreq>
@@ -474,6 +474,12 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/platform/backups</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/platform/compute-add-ons</loc>
<changefreq>weekly</changefreq>
@@ -636,6 +642,42 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/http</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/pgcron</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/pgnet</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/pgtap</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/plv8</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/uuid-ossp</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-helpers/auth-ui</loc>
<changefreq>weekly</changefreq>
@@ -787,37 +829,7 @@
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/http</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/pgcron</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/pgnet</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/pgtap</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/plv8</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/uuid-ossp</loc>
<loc>https://supabase.com/docs/guides/functions/examples/og-image</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
@@ -840,54 +852,6 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/functions/examples/og-image</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/platform/sso/azure</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/platform/sso/gsuite</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/platform/sso/okta</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/resources/migrating-to-supabase/firebase-auth</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/resources/migrating-to-supabase/firebase-storage</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/resources/migrating-to-supabase/firestore-data</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/resources/migrating-to-supabase/heroku</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/getting-started/tutorials/with-angular</loc>
<changefreq>weekly</changefreq>
@@ -972,6 +936,48 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/platform/sso/azure</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/platform/sso/gsuite</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/platform/sso/okta</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/resources/migrating-to-supabase/firebase-auth</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/resources/migrating-to-supabase/firebase-storage</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/resources/migrating-to-supabase/firestore-data</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/resources/migrating-to-supabase/heroku</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/resources/self-hosting/docker</loc>
<changefreq>weekly</changefreq>
@@ -1538,6 +1544,12 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/reference/javascript/v1/initializing</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/reference/javascript/v1/auth-signup</loc>
<changefreq>weekly</changefreq>
@@ -57,13 +57,13 @@ Ever wanted to build a Search Engine? We just released a guide which shows you h
### OAuth Guides
We released step-by-step guides to help you set up OAuth with
[Apple](/docs/guides/auth/auth-apple),
[Bitbucket](/docs/guides/auth/auth-bitbucket),
[Facebook](/docs/guides/auth/auth-facebook),
[GitHub](/docs/guides/auth/auth-github),
[GitLab](/docs/guides/auth/auth-gitlab),
[Google](/docs/guides/auth/auth-google), and
[Twitter](/docs/guides/auth/auth-twitter).
[Apple](/docs/guides/auth/social-login/auth-apple),
[Bitbucket](/docs/guides/auth/social-login/auth-bitbucket),
[Facebook](/docs/guides/auth/social-login/auth-facebook),
[GitHub](/docs/guides/auth/social-login/auth-github),
[GitLab](/docs/guides/auth/social-login/auth-gitlab),
[Google](/docs/guides/auth/social-login/auth-google), and
[Twitter](/docs/guides/auth/social-login/auth-twitter).
![Image of Apple's developer Portal](/images/blog/2021-june/apple-developer-portal.png)
@@ -63,7 +63,7 @@ Wednesday 28 July 2021.[^1]
### What?
What's cooler than Arnie in the 90's? Passwordless logins. We've [already](/docs/guides/auth/auth-apple) [built](/docs/guides/auth/auth-bitbucket) [support](/docs/guides/auth/auth-discord) [for](/docs/guides/auth/auth-facebook) [eight](/docs/guides/auth/auth-github) [different](/docs/guides/auth/auth-gitlab) [Oauth](/docs/guides/auth/auth-google) [providers](/docs/guides/auth/auth-twitter), so it's anyone's guess what can happen in Supabase Auth Episode II.
What's cooler than Arnie in the 90's? Passwordless logins. We've [already](/docs/guides/auth/social-login/auth-apple) [built](/docs/guides/auth/social-login/auth-bitbucket) [support](/docs/guides/auth/social-login/auth-discord) [for](/docs/guides/auth/social-login/auth-facebook) [eight](/docs/guides/auth/social-login/auth-github) [different](/docs/guides/auth/social-login/auth-gitlab) [Oauth](/docs/guides/auth/social-login/auth-google) [providers](/docs/guides/auth/social-login/auth-twitter), so it's anyone's guess what can happen in Supabase Auth Episode II.
### Where?
@@ -51,7 +51,7 @@ with either an OTP or a phone + password combo.
Supabase Auth supports [Twilio](https://www.twilio.com/) as an SMS provider, with more options coming soon.
Simply plug your Twilio credentials into your Auth Settings in the Supabase Dashboard to get started.
Check out the [documentation](/docs/guides/auth/auth-twilio) to get started with Mobile OTPs,
Check out the [documentation](/docs/guides/auth/phone-login/twilio) to get started with Mobile OTPs,
or watch the [Youtube guide](https://youtu.be/akScoPO01bc).
<iframe
@@ -74,7 +74,7 @@ Auth and will be offering that as an option soon.
The community has contributed tons of OAuth providers, and today we're announcing two more.
Shoutout to [@ph1p](https://github.com/ph1p) who contributed [Twitch](/docs/guides/auth/auth-twitch) as our latest OAuth provider!
The Supabase team added [Discord](/docs/guides/auth/auth-discord) last month, bringing the total OAuth Providers to ten.
The Supabase team added [Discord](/docs/guides/auth/social-login/auth-discord) last month, bringing the total OAuth Providers to ten.
![All Supabase OAuth providers](/images/blog/auth-v2/supabase-oauth-providers.png)
@@ -38,7 +38,7 @@ The community has been sieving through a slew of bad puns and retro memes to dis
## Auth v2 with Phone Auth
Your users can now log in with SMS based mobile auth! We have a Twilio integration ([Guide Here](/docs/guides/auth/auth-twilio)) and will be adding more providers soon.
Your users can now log in with SMS based mobile auth! We have a Twilio integration ([Guide Here](/docs/guides/auth/phone-login/twilio)) and will be adding more providers soon.
Other Auth updating include, Twitch logins, and the ability to generate invite, recovery, confirmation, and magic links via the API,
for people who want more control over the email templating flow. Read the [blog post here](/blog/supabase-auth-passwordless-sms-login).
@@ -50,7 +50,7 @@ It's not in production yet, but we're making the repo public for comments using
## Custom SMS templates
If you're using SMS login in [Auth v2](/blog/2021/07/28/supabase-auth-passwordless-sms-login), you can now customize the SMS which is sent to your users. Read more in the [docs](/docs/guides/auth/auth-twilio#sms-custom-template).
If you're using SMS login in [Auth v2](/blog/2021/07/28/supabase-auth-passwordless-sms-login), you can now customize the SMS which is sent to your users. Read more in the [docs](/docs/guides/auth/phone-login/twilio#sms-custom-template).
![Custom SMS templates](/images/blog/2021-august/custom-sms.png)
@@ -58,7 +58,7 @@ We updated our [grid](https://github.com/supabase/grid) to support relationships
## Improved Auth Docs
We've revamped the Auth docs - The docs are now broken down into [Authentication](/docs/guides/auth/auth-apple) and [Authorization](/docs/guides/auth/row-level-security), and organized alongside our [Deep Dive](/docs/learn/auth-deep-dive/auth-deep-dive-jwts) series.
We've revamped the Auth docs - The docs are now broken down into [Authentication](/docs/guides/auth/social-login/auth-apple) and [Authorization](/docs/guides/auth/row-level-security), and organized alongside our [Deep Dive](/docs/learn/auth-deep-dive/auth-deep-dive-jwts) series.
![Auth Docs](/images/blog/2021-sept/auth-docs.png)
@@ -33,9 +33,9 @@ Watch a recap of this month's release.
Thanks to [`@HarryET`](https://github.com/supabase/gotrue/pull/245) and our friends at [MessageBird](https://github.com/supabase/gotrue/pull/210)
we have 3 new Auth providers this month:
[Slack](https://supabase.com/docs/guides/auth/auth-slack),
[Spotify](https://supabase.com/docs/guides/auth/auth-spotify), and
[MessageBird](https://supabase.com/docs/guides/auth/auth-messagebird) phone logins.
[Slack](https://supabase.com/docs/guides/auth/social-login/auth-slack),
[Spotify](https://supabase.com/docs/guides/auth/social-login/auth-spotify), and
[MessageBird](https://supabase.com/docs/guides/auth/phone-login/messagebird) phone logins.
![Supabase Auth: Login with Slack](/images/blog/2021-oct/supabase-auth-slack.png)
@@ -77,7 +77,7 @@ GitGuardian helps developers keep 250+ types of secrets out of source code. Thei
![new-oauth-providers.jpg](/images/blog/launch-week-three/community-day/new-oauth-providers.jpg)
The beauty of building in the open is that the community can get involved in adding new OAuth providers, which is exactly what [@TheHarryET](https://twitter.com/TheHarryET) and [MonsterDeveloper](https://github.com/MonsterDeveloper) have been doing. Thanks to them you can now provide sign-in with [Slack](/docs/guides/auth/auth-slack) as well as [Spotify](/docs/guides/auth/auth-spotify) to your users, as well as use [MessageBird](/docs/guides/auth/auth-messagebird) for phone auth as an alternative to the existing [Twilio](/docs/guides/auth/auth-twilio) integration.
The beauty of building in the open is that the community can get involved in adding new OAuth providers, which is exactly what [@TheHarryET](https://twitter.com/TheHarryET) and [MonsterDeveloper](https://github.com/MonsterDeveloper) have been doing. Thanks to them you can now provide sign-in with [Slack](/docs/guides/auth/social-login/auth-slack) as well as [Spotify](/docs/guides/auth/social-login/auth-spotify) to your users, as well as use [MessageBird](/docs/guides/auth/phone-login/messagebird) for phone auth as an alternative to the existing [Twilio](/docs/guides/auth/phone-login/twilio) integration.
## SupaSquad updates
@@ -49,7 +49,7 @@ Also added by [devkiran](https://github.com/devkiran).
### Other SMS providers
Just a reminder, we also support [Twilio](https://supabase.com/docs/guides/auth/auth-twilio) and [MessageBird](https://supabase.com/docs/guides/auth/auth-messagebird).
Just a reminder, we also support [Twilio](https://supabase.com/docs/guides/auth/phone-login/twilio) and [MessageBird](https://supabase.com/docs/guides/auth/phone-login/messagebird).
On a final note, we are hiring for an [Auth Engineer](https://about.supabase.com/careers/auth-engineers).
@@ -112,9 +112,9 @@ When finished, PostgREST v10 will also include the ability to `limit` updates an
The beauty of open source is that anyone can contribute to make the project even better. This is especially true for supabase-auth as we get contributions and ideas for new oauth providers every month! This launch week, we’ve had 4 new OAuth provider contributions:
- [Keycloak](https://supabase.com/docs/guides/auth/auth-keycloak) ([@fspijkerman](https://github.com/fspijkerman))
- [Notion](https://supabase.com/docs/guides/auth/auth-notion) ([@zernonia](https://github.com/zernonia))
- [Zoom](https://supabase.com/docs/guides/auth/auth-zoom) ([@devkiran](https://github.com/devkiran))
- [Keycloak](https://supabase.com/docs/guides/auth/social-login/auth-keycloak) ([@fspijkerman](https://github.com/fspijkerman))
- [Notion](https://supabase.com/docs/guides/auth/social-login/auth-notion) ([@zernonia](https://github.com/zernonia))
- [Zoom](https://supabase.com/docs/guides/auth/social-login/auth-zoom) ([@devkiran](https://github.com/devkiran))
- [WorkOS](https://supabase.com/docs/guides/auth/auth-workos) ([@bnjmnt4n](https://github.com/bnjmnt4n))
### New Phone providers
@@ -123,7 +123,7 @@ The beauty of open source is that anyone can contribute to make the project even
We’ve also added 2 new phone providers from the same contributor:
- [Vonage](https://supabase.com/docs/guides/auth/auth-vonage) ([@devkiran](https://github.com/devkiran))
- [Vonage](https://supabase.com/docs/guides/auth/phone-login/vonage) ([@devkiran](https://github.com/devkiran))
- [TextLocal](https://github.com/supabase/gotrue/pull/342) ([@devkiran](https://github.com/devkiran))
If you haven’t tried out phone auth yet, check out [this blog post](https://supabase.com/blog/supabase-auth-passwordless-sms-login) to get started!
@@ -70,7 +70,7 @@ We've released granular permissions for the Supabase Dashboard. Dashboard permis
We're starting with 3 roles—Owner, Administrator, and Developer—which you can edit in the Org settings of the Dashboard.
There's a tooltip in the header of the members table, which elaborates on the individual permissions available for each role.
[Read more](/docs/guides/platform#manage-team-members).
[Read more](/docs/guides/platform/access-control#manage-team-members).
---
File diff suppressed because it is too large. Load diff
@@ -46,7 +46,7 @@ Plus, we published three new functions examples: [Generate OG Images](https://gi
- Conda support (`conda install -c conda-forge supabase` and everything else in py)
## Content storm ⛈
## Content storm
![The Supabase Content Storm](/images/blog/2022-12-07-november-beta-update/content-storm.jpg)
+37 -35
View File
@@ -1,47 +1,49 @@
---
title: 'pg_crdt - an experimental CRDT extension for Postgres'
description: "Embedding Yjs and Automerge into Postgres for collaborative applications."
description: 'Embedding Yjs and Automerge into Postgres for collaborative applications.'
author: paul_copplestone
image: crdt/crdt-blog.png
thumb: crdt/crdt-blog.png
image: launch-week-6/crdt/og-pg-crdt.png
thumb: launch-week-6/crdt/og-pg-crdt.png
tags:
- launch-week
date: '2022-12-10'
toc_depth: 2
---
Today we’re open-sourcing an EXPERIMENTAL extension for CRDTs, `pg_crdt`. The GitHub repo is [here](https://github.com/supabase/pg_crdt). There are [instructions](https://github.com/supabase/pg_crdt#installation) for running it locally in the README.
Today we're open-sourcing an EXPERIMENTAL extension for CRDTs, `pg_crdt`. The GitHub repo is [here](https://github.com/supabase/pg_crdt). There are [instructions](https://github.com/supabase/pg_crdt#installation) for running it locally in the README.
When we released the new [multiplayer features](/blog/supabase-realtime-multiplayer-general-availability) for our Realtime engine,
it took 30 minutes for someone to ask if we’d add CRDT support.
When we released the new [multiplayer features](/blog/supabase-realtime-multiplayer-general-availability) for our Realtime engine,
it took 30 minutes for someone to ask if we'd add CRDT support.
> *Anyone from Supabase here, do you have any plans to build in support for CRDT toolkits such as Yjs or AutoMerge for these features? It would make working with them so much easier if there was a plug and play backend.*
> _Anyone from Supabase here, do you have any plans to build in support for CRDT toolkits such as Yjs or AutoMerge for these features? It would make working with them so much easier if there was a plug and play backend._
<small><i>@samwillis on [HackerNews](https://news.ycombinator.com/item?id=32510820)</i></small>
<small>
<i>@samwillis on [HackerNews](https://news.ycombinator.com/item?id=32510820)</i>
</small>
pg_crdt has not been released onto the Supabase platform (and it may never be). We’re considering many options for offline-sync/support and, while CRDTs will undoubtedly factor in, we’re not sure if this is the *right* approach. Hopefully this release generates a healthy discussion about the various ways we can do it at Supabase.
pg_crdt has not been released onto the Supabase platform (and it may never be). We're considering many options for offline-sync/support and, while CRDTs will undoubtedly factor in, we're not sure if this is the right approach. Hopefully this release generates a healthy discussion about the various ways we can do it at Supabase.
## What’s a CRDT?
## What's a CRDT?
A CRDT (Conflict-free Replicated Data Type) is a data structure. More accurately, a family of data structures. They enable collaborative apps like [Figma](https://www.figma.com/blog/how-figmas-multiplayer-technology-works/).
You already know what a “data structure” is: an Array is a good example. CRDTs are a *special* type of data structure designed to solve a specific problem: they can merge changes in a way that the final state of the data will be the same, no matter the order in which the updates were applied.
You already know what a “data structure” is: an Array is a good example. CRDTs are a _special_ type of data structure designed to solve a specific problem: they can merge changes in a way that the final state of the data will be the same, no matter the order in which the updates were applied.
In simple terms, a CRDT allows multiple users to make changes to the same data without the need for a central authority to coordinate their actions.
Let’s use our Array example to demonstrate the problem they solve. Imagine you have an array (which is not a CRDT):
Let's use our Array example to demonstrate the problem they solve. Imagine you have an array (which is not a CRDT):
```jsx
let fruit = ['Apple', 'Banana', 'Orange']
```
Now imagine you have 2 developers updating this array on their local computers. They both want to replace the fruit at the start of the array. The first user, let’s call her “Jenny”, does this:
Now imagine you have 2 developers updating this array on their local computers. They both want to replace the fruit at the start of the array. The first user, let's call her “Jenny”, does this:
```js
fruit[0] = 'Grape' // the array is ['Grape', 'Banana', 'Orange']
```
The developer sitting next to her, let’s call him “Jonny”, does the same:
The developer sitting next to her, let's call him “Jonny”, does the same:
```js
fruit[0] = 'Mango' // the array is ['Mango', 'Banana', 'Orange']
@@ -51,36 +53,36 @@ And now, since they are both developing on different machines, they push their c
![Array - which will be saved?](/images/blog/crdt/array.png)
Since this is one of those *basic* arrays, the answer is "the fruit array that arrives last”.
Since this is one of those _basic_ arrays, the answer is "the fruit array that arrives last”.
1. If Jonny’s fruit array arrives first, it will be saved.
2. After that, Jenny’s fruit arrived and overwrites Jonny’s changes.
1. If Jonny's fruit array arrives first, it will be saved.
2. After that, Jenny's fruit arrived and overwrites Jonny's changes.
But therein lies the problem: Jonny was the last developer to change his array of fruit, shouldn’t his changes be the ones that are saved?
But therein lies the problem: Jonny was the last developer to change his array of fruit, shouldn't his changes be the ones that are saved?
That’s one of the things that CRDTs solve. There is an “array CRDT” which, when merged, will always have the same result. It doesn’t matter if Jonny’s array arrives first, or if Jenny’s arrives first - every time you merge them they would be able to determine that the Jonny’s was the last change the fruit array.
That's one of the things that CRDTs solve. There is an “array CRDT” which, when merged, will always have the same result. It doesn't matter if Jonny's array arrives first, or if Jenny's arrives first - every time you merge them they would be able to determine that the Jonny's was the last change the fruit array.
How does it do that? Some sort of algorithm, but you can ask ChatGPT to explain that one.
## Offline philosophy
Collaborative apps are becoming more prolific as legacy software is rebuilt within a browser environment.
Collaborative apps are becoming more prolific as legacy software is rebuilt within a browser environment.
Collaboration is largely a data problem - how do we get one user’s changes (data) to merge with another user’s changes (data)? As a database provider it’s natural fit for Supabase to provide the tooling for developers to build collaborative apps.
Collaboration is largely a data problem - how do we get one user's changes (data) to merge with another user's changes (data)? As a database provider it's natural fit for Supabase to provide the tooling for developers to build collaborative apps.
Before going too far down the “solution” rabbit hole at Supabase, we try to think about the long-term implications of adopting any technology. We’re pretty boring - we don’t make bets on technologies unless we think they will exist in 20 years.
Before going too far down the “solution” rabbit hole at Supabase, we try to think about the long-term implications of adopting any technology. We're pretty boring - we don't make bets on technologies unless we think they will exist in 20 years.
I personally believe CRDTs are the future. For *some things*. If databases were invented today, I’m certain most of the effort would be spent developing CRDT databases or something with “offline algorithms” built-in. But tech is a real-world demonstration of the Lindy effect: the longer something has existed, the longer it’s likely to exist in the future. That’s why we bet on Postgres - with more than 30 years history, it’s here to stay.
I personally believe CRDTs are the future. For _some things_. If databases were invented today, I'm certain most of the effort would be spent developing CRDT databases or something with “offline algorithms” built-in. But tech is a real-world demonstration of the Lindy effect: the longer something has existed, the longer it's likely to exist in the future. That's why we bet on Postgres - with more than 30 years history, it's here to stay.
Faced with this reality, we should consider how to solve *offline with Postgres* and where CRDTs might fit into that picture.
Faced with this reality, we should consider how to solve _offline with Postgres_ and where CRDTs might fit into that picture.
For a long time I thought there could be a way to shoehorn Postgres row-level data into a CRDT, to give *truly* offline support. This may even still be [possible](https://electric-sql.com/), and it’s one of the ideas we’ll continue to pursue. But Postgres is a rich and evolving ecosystem, and I don’t know whether it will be possible to -
For a long time I thought there could be a way to shoehorn Postgres row-level data into a CRDT, to give _truly_ offline support. This may even still be [possible](https://electric-sql.com/), and it's one of the ideas we'll continue to pursue. But Postgres is a rich and evolving ecosystem, and I don't know whether it will be possible to -
a) find a merge strategy for an entire row, while simultaneously:
b) finding a merge strategy for every data type *within* that row (especially with the number of data types available through extensions)
b) finding a merge strategy for every data type _within_ that row (especially with the number of data types available through extensions)
It’s possible that developers will need to be selective about their “level” of offline support, at least if they plan to use an “incumbent” databases. For the cases, a simple “last write wins” strategy is probably acceptable (see the excellent [Replicache](https://doc.replicache.dev/examples/repliear) and [Watermelon](https://nozbe.github.io/WatermelonDB/) libraries), but there will be important pieces of their application where it is not.
It's possible that developers will need to be selective about their “level” of offline support, at least if they plan to use an “incumbent” databases. For the cases, a simple “last write wins” strategy is probably acceptable (see the excellent [Replicache](https://doc.replicache.dev/examples/repliear) and [Watermelon](https://nozbe.github.io/WatermelonDB/) libraries), but there will be important pieces of their application where it is not.
Take this table of blog posts as an example:
@@ -92,9 +94,9 @@ create table posts (
);
```
Perhaps it’s not that important if the `title` has a “last write wins” strategy, because it’s rarely updated and less likely to have a merge conflict. But it is critical to use a smarter algorithm for the `content` of the blog post, especially in a team where multiple users are editing a blog post at the same time.
Perhaps it's not that important if the `title` has a “last write wins” strategy, because it's rarely updated and less likely to have a merge conflict. But it is critical to use a smarter algorithm for the `content` of the blog post, especially in a team where multiple users are editing a blog post at the same time.
That’s a lot of background to get to what you probably want to know about:
That's a lot of background to get to what you probably want to know about:
## Postgres CRDT extension
@@ -108,7 +110,7 @@ create table posts (
);
```
The `content` column is now a [Yjs Doc](https://docs.yjs.dev/api/y.doc). Updates to this column are *commutative* and *idempotent*. This means that they can be applied in any order and multiple times, and the result will always be the same. Two people can edit the blog content at the same time, and they won’t have any issues when their changes are saved in the database.
The `content` column is now a [Yjs Doc](https://docs.yjs.dev/api/y.doc). Updates to this column are _commutative_ and _idempotent_. This means that they can be applied in any order and multiple times, and the result will always be the same. Two people can edit the blog content at the same time, and they won't have any issues when their changes are saved in the database.
### Support for Yjs, Automerge, and beyond
@@ -116,7 +118,7 @@ The Yjs and Automerge teams have done some excellent work to create Rust librari
At this stage it makes sense to give developers as many choices as possible in one extension. The CRDT space is nascent the algorithms are rapidly changing.
Importantly, both Yjs and Automerge have *JavaScript* and Rust implementations, which means they work natively in both a browser and a Postgres environment. Since collaborative applications are largely a client-side problem, CRDTs are more useful for developers if they have robust JavaScript libraries. In the future, if this extension becomes the approach we take, then Supabase will focus some resources on building Yjs/Automerge libraries for mobile devices too (Swift for iOS, Kotlin for Android).
Importantly, both Yjs and Automerge have _JavaScript_ and Rust implementations, which means they work natively in both a browser and a Postgres environment. Since collaborative applications are largely a client-side problem, CRDTs are more useful for developers if they have robust JavaScript libraries. In the future, if this extension becomes the approach we take, then Supabase will focus some resources on building Yjs/Automerge libraries for mobile devices too (Swift for iOS, Kotlin for Android).
## Why not build this into Realtime?
@@ -128,18 +130,18 @@ This might still be our best option, but it should not be our first attempt. If
![External providers](/images/blog/crdt/semi-realtime.png)
The Realtime engine seems like a great *compliment* for `pg_crdt`, but before we put it into production we need to solve a few (major) limitations.
The Realtime engine seems like a great _compliment_ for `pg_crdt`, but before we put it into production we need to solve a few (major) limitations.
## Limitations
These are a few of the *known* limitations:
These are a few of the _known_ limitations:
- Realtime broadcasts database changes from the Postgres write ahead log (WAL). The WAL includes a complete copy of the the underlying data so small updates cause the entire document to broadcast to all collaborators
- Frequently updated CRDTs produce a lot of WAL and dead tuples
- Large CRDT types in Postgres generate significant serialization/deserialization overhead on-update.
We’re likely to discover more (no doubt from a few friendly HN comments).
We're likely to discover more (no doubt from a few friendly HN comments).
## Next steps
If you want to help with `pg_crdt` the best way is to get involved in the GitHub repo. We have enabled [Discussions](https://github.com/supabase/pg_crdt/discussions) for any and all ideas. If you have experience with CRDTs and you like this approach, don’t hesitate to contact one of the team.
If you want to help with `pg_crdt` the best way is to get involved in the GitHub repo. We have enabled [Discussions](https://github.com/supabase/pg_crdt/discussions) for any and all ideas. If you have experience with CRDTs and you like this approach, don't hesitate to contact one of the team.
@@ -1,6 +1,6 @@
---
title: 'New Supabase Docs, built with Next.js'
description: We've redesignd our Docs and migrated to Next.js
description: We've redesigned our Docs and migrated to Next.js
author: jonny
image: lw6-day-1/lw6-day1-docs.jpg
thumb: lw6-day-1/lw6-day1-docs.jpg
@@ -41,7 +41,7 @@ In the event that the user faces difficulties entering a QR code the user can al
An MFA flow can be broken into two key steps: Enrollment and Verification. During the *Enrollment* process Supabase Auth exchanges a randomly generated secret with the user’s authenticator application. During the *Verification* process, the device makes use of the timestamp together with the secret to produce a six digit code that the server can verify.
![Flowchart of an MFA flow](/images/blog/lw6-auth/mfa-flow.png)
**Enrollment**
*Enrollment*
To generate a QR code, call the `/enroll` endpoint which returns an SVG encoded QR and the secret. Thereafter, create a challenge by calling the `/challenge` endpoint. Once the user has entered the six digit TOTP code generated by their authenticator app, call the`/verify` endpoint with the corresponding factor and challenge details.
@@ -0,0 +1,67 @@
---
title: Custom Domain Names
description: Change your Supabase project's domain name to your own domain.
author: div_arora
image: launch-week-6/custom-domains/og-custom-domains.png
thumb: launch-week-6/custom-domains/og-custom-domains.png
tags:
- launch-week
date: '2022-12-16'
toc_depth: 3
---
After your side-project becomes wildly viral, and you've graduated into a “serious business”, delivering a more branded experience is probably one of the items at the bottom of your checklist.
To that end, we're releasing custom domains, and vanity subdomains, to help you present a more polished product to your users.
# Custom Domains
Custom domains allow you to use your own domain for your Supabase project.
Instead of seeing:
`sqvfdnkeiuztnsinmtau.supabase.co`
your users instead interact with
`api.example.com`:
![FDW](/images/blog/launch-week-6/custom-domains/custom-subdomain.png)
Today, we're making Custom Domains generally available, and they're now accessible as a paid add-on through the Supabase dashboard.
Get your custom domain in the [Dashboard](https://app.supabase.com/project/_/settings/general)
# Vanity Subdomains
Vanity Subdomains allow you to choose a subdomain on Supabase's own domain.
Instead of hosting your services on a randomly assigned subdomain:
`abcdefghijklmno.supabase.co`
you can choose one that's relevant to your project, for example:
`my-example-brand.supabase.co`
Vanity Subdomains are offered at no additional cost for all projects on a paid plan, and are being launched in a closed beta.
Instructions for setting up Vanity Subdomains are now available in our [docs](https://supabase.com/docs/guides/platform/custom-domains#vanity-subdomains).
## Limitations
In this release, we still have some limitations that we're working through:
1. Edge Functions don't support custom domains or vanity subdomains yet, so you have to use the current endpoint to access them.
2. Right now, you can only set up one custom domain or vanity subdomain per project.
We're working hard to fix these limitations, so stay tuned for future updates.
## More Launch Week 6
- [Day 1: New Supabase Docs, built with Next.js](https://supabase.com/blog/new-supabase-docs-built-with-nextjs)
- [Day 2: Supabase Storage v2: Image resizing and Smart CDN](https://supabase.com/blog/storage-image-resizing-smart-cdn)
- [Day 3: Multi-factor Authentication via Row Level Security Enforcement](https://supabase.com/blog/mfa-auth-via-rls)
- [Launch Week 6 Hackathon](https://supabase.com/blog/launch-week-6-hackathon)
- [Who We Hire at Supabase](https://supabase.com/blog/who-we-hire)
- [pg_crdt - an experimental CRDT extension for Postgres](https://supabase.com/blog/postgres-crdt)
@@ -57,7 +57,7 @@ Combining OneSignal with Supabase, you can send cloud messages to your users wit
We have guides on how to get started with [Next.js and OneSignal](https://supabase.com/docs/guides/integrations/onesignal), and [Flutter and OneSignal](https://github.com/OneSignalDevelopers/onesignal-supabase-sample-integration-supabase).
In the video above, William from OneSignal will show you how you can easily integrate OneAignal with your Supabase app.
In the video above, William from OneSignal will show you how you can easily integrate OneSignal with your Supabase app.
### NextAuth
@@ -148,13 +148,13 @@ One of the most exciting developments this year is the number of content creator
### Content Storm
More than 30+ creatores featured in our [Content Storm](https://supabase.com/blog/the-supabase-content-storm). These folks all produced brand new content in the build up to Launch Week and dropped it simultaniously!
More than 30+ creators featured in our [Content Storm](https://supabase.com/blog/the-supabase-content-storm). These folks all produced brand new content in the build up to Launch Week and dropped it simultaneously!
### Supaship
![Content Creators](/images/blog/lw6-community/supaship.jpg)
Supaship built a whole [Supabase course](https://supaship.io/). It's absolutley jam-packed with advice on how to get the most out of Supabase (and his meme game is absolute fire!).
Supaship built a whole [Supabase course](https://supaship.io/). It's absolutely jam-packed with advice on how to get the most out of Supabase (and his meme game is absolute fire!).
### Jon Meyers for Egghead
@@ -0,0 +1,207 @@
---
title: 'Launch Week 6: Wrap Up'
description: "That's a wrap on Supabase Launch Week Day 6. Here's everything we shipped in one long blog post."
author: paul_copplestone
image: launch-week-6/wrap-up/og-wrap-up.png
thumb: launch-week-6/wrap-up/og-wrap-up.png
tags:
- launch-week
date: '2022-12-16'
toc_depth: 3
---
That's a wrap on Supabase Launch Week Day 6. Here's everything we shipped in one long blog post.
## New Docs, built with Next.js
![New Docs, built with Next.js](/images/blog/lw6-day-1/lw6-day1-docs.jpg)
<Badge>Monday</Badge>
For a developer tool, documentation is more than a resource - it's part of the product. For the past two years at Supabase, this part of our product hasn't been great. Our new docs, built with Next.js, feature a completely new design, better navigation, and the promise of a fully-integrated experience.
- Read the [announcememt](/blog/new-supabase-docs-built-with-nextjs)
- Watch the [recap on YouTube](https://www.youtube.com/watch?v=Q1Amk6iDlF8)
- Check out [the new docs](https://supabase.com/docs)
## Storage v2: Image resizing and Smart CDN
![Storage v2: Image resizing and Smart CDN](/images/blog/lw6-storage/Image-resizing.jpg)
<Badge>Tuesday</Badge>
We're introducing three new features for Supabase Storage: Image resizing, webhooks, and a Smart CDN. These features are designed to work together to deliver a next-gen image resizing system.
- Read the [announcement](https://supabase.com/blog/storage-image-resizing-smart-cdn)
- Watch the [recap on YouTube](https://www.youtube.com/watch?v=NpEl20iuOtg)
- Browse the docs for [Image Transformations](https://supabase.com/docs/guides/storage/image-transformations)
- Browse the docs for our [Smart CDN](https://supabase.com/docs/guides/storage/cdn#smart-cdn-caching)
- Discuss it on [HackerNews](https://news.ycombinator.com/item?id=33969076)
## Auth: Multi-factor Authentication with RLS
![Auth: Multi-factor Authentication with RLS](/images/blog/lw6-auth/mfa-banner.jpg)
<Badge>Wednesday</Badge>
We released Multi Factor Authentication for you to build more secure applications. We built a unique twist so that you can use MFA within your Row Level Security Policies.
- Read the [announcement](/blog/mfa-auth-via-rls)
- Watch the [recap on YouTube](https://www.youtube.com/watch?v=He7LI2mv9v0)
- Browse the [docs](/docs/guides/auth/auth-mfa)
- Discuss it on [HackerNews](https://news.ycombinator.com/item?id=33984104)
## Wrappers, a FDW framework for Postgres
![Wrappers, a FDW framework for Postgres](/images/blog/launch-week-6/wrappers/wrappers-og.png)
<Badge>Thursday</Badge>
We announced [Supabase Wrappers](https://github.com/supabase/wrappers), a framework for building Postgres Foreign Data Wrappers (FDW) which connects Postgres to external systems. We're releasing Wrappers today in Alpha, with support for Firebase and Stripe. Wrappers for Clickhouse, BigQuery, and Airtable are under development.
- Read the [announcement](/blog/postgres-foreign-data-wrappers-rust)
- Watch the [recap on YouTube](https://www.youtube.com/watch?v=He7LI2mv9v0)
- Browse the [docs](https://supabase.github.io)
- Discuss it on [HackerNews](https://news.ycombinator.com/item?id=34001493)
## Vault: secrets and encryption in Postgres
![Vault: secrets and encryption in Postgres](/images/blog/launch-week-6/vault/og-vault.png)
<Badge>Friday</Badge>
Vault is a new Postgres extension and accompanying Supabase UI that makes it safe and easy to store encrypted secrets and encrypt other stored data in your database. We're releasing it progressively across the platform and you can expect to see it appear in the Supabase Dashboard in the coming weeks.
- Read the [announcement](/blog/vault-now-in-beta)
- Learn about [Transparent Column Encryption](/blog/transparent-column-encryption-with-postgres)
## pg_graphql v1: GraphQL in Postgres
![pg_graphql v1: GraphQL in Postgres](/images/blog/launch-week-6/pggraphql/og-pg-graphql.png)
<Badge>One more thing</Badge>
Today released pg_graphql 1.0 release and its general availability on our platform. pg_graphql is a PostgreSQL extension that allows you to query your database using GraphQL. It is the foundation of GraphQL support in the Supabase stack.
- Read the [announcement](/blog/pg-graphql-v1)
- Browse the [GitHub repo](https://github.com/supabase/pg_graphql/)
- View the [docs](/docs/guides/api#graphql-api)
## Postgres Point-in-Time Recovery
![FDW](/images/blog/launch-week-6/pitr/og-pitr.png)
<Badge>One more thing</Badge>
Point In Time Recovery (PITR) is now enabled from the dashboard for Pro Projects. With PITR, you can restore your database at any specified time in the past.
- Read the [announcement](/blog/postgres-point-in-time-recovery)
- Review the [Production Readiness docs](/docs/guides/platform/going-into-prod)
## Custom domains
![FDW](/images/blog/launch-week-6/custom-domains/og-custom-domains.png)
<Badge>One more thing</Badge>
Custom domains allow you to use your own domain for your Supabase project. We've released custom domains as an upgrade option for all projects, and vanity domains for Pro projects.
- Read the [announcement](/blog/custom-domain-names)
- Visit the [Custom Domains docs](/docs/guides/platform/custom-domains)
## pg_crdt: a Postgres extension for CRDTs
![pg_crdt: a Postgres extension for CRDTs](/images/blog/launch-week-6/crdt/og-pg-crdt.png)
<Badge>One more thing</Badge>
We open-sourced an experimental extension for CRDTs, pg_crdt. If you're familiar with Yjs or Automerge, then check out the work we're doing here. It's a PostgreSQL extension that allows you to use CRDTs in your database.
- Read the [announcement](/blog/postgres-crdt)
- Browse the [GitHub repo](https://github.com/supabase/pg_crdt)
- Discuss it on [HackerNews](https://news.ycombinator.com/item?id=33931971)
## PostgreSQL 15: we support it
![PostgreSQL 15: we support it](/images/blog/lw6-community/pg15.png)
<Badge>One more thing</Badge>
All new projects created on the Supabase platform are now on version 15. The PostgreSQL community released version 15 (stable) in October 2022.
- Learn what's [new in PostgreSQL 15](/blog/new-in-postgres-15)
- View the full PostgreSQL 15 [release notes](https://www.postgresql.org/docs/15/release-15.html)
## PostgREST 11: pre-release
![PostgREST 11: pre-release](/images/blog/lw6-community/postgrest.png)
<Badge>One more thing</Badge>
You can now test the PostgREST 11 pre-release locally with the Supabase CLI. Some of the new features include: spreading related tables, related orders and anti-joins.
- Learn more about [PostgREST 11](/blog/postgrest-11-prerelease)
- Visit the [CLI docs](/docs/guides/resources/supabase-cli)
## Multilingual search in Postgres
![Multilingual search in Postgres](/images/blog/lw6-community/pgroonga.jpg)
<Badge>One more thing</Badge>
We've released a new multilingual Full Text Search extension, PGroonga. It's fast, it's open source, and it's available on our platform today. If you've ever wanted to build a search engine for your app, then check out PGroonga.
- Visit the [PGroonga website](https://pgroonga.github.io)
- Read the [Extensions Docs](/docs/guides/database/extensions)
## Flutterflow for Flutter App Development
<iframe
className="video-with-border w-full"
width="640"
height="385"
src="https://www.youtube-nocookie.com/embed/hw9Q-NjASbU"
frameBorder="1"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
<br />
<Badge>Community Spotlight</Badge>
We partnered with the team at [Flutterflow](https://flutterflow.io/) to bring you a new way to build Flutter apps. Flutterflow is a low-code platform that allows you to build Flutter apps without writing any code. It's a great way to get started with Flutter and Supabase.
- Watch the [tutorial](https://www.youtube.com/watch?v=hw9Q-NjASbU)
- Get Started with [Flutterflow](https://flutterflow.io/)
## OneSignal for Push Notifications
<iframe
className="video-with-border w-full"
width="640"
height="385"
src="https://www.youtube-nocookie.com/embed/mw0DLwItue4"
frameBorder="1"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
<br />
<Badge>Community Spotlight</Badge>
We partnered with the team at [OneSignal](https://onesignal.com/) to offer push notifications in Supabase. OneSignal is a messaging platform allowing you to deliver push notifications, in-app messages, SMS, and emails to your users.
- Watch the [tutorial](https://www.youtube.com/watch?v=mw0DLwItue4)
- Get Started with [OneSignal](https://onesignal.com/)
## Getting Started
Get started today with Supabase. It's free and open source.
- [Like some memes on Twitter](https://twitter.com/supabase)
- [Star us on GitHub](https://github.com/supabase/supabase)
- [Join the Discord](https://discord.supabase.com)
- [Read the docs](https://supabase.com/docs)
- [Sign up](https://app.supabase.io/)
@@ -17,7 +17,7 @@ The PostgreSQL community [released](https://www.postgresql.org/docs/current/rele
`CREATE` permission is revoked from all users except the database owner. It makes permission assigning more tunable ([details](https://www.postgresql.org/docs/15/ddl-schemas.html#DDL-SCHEMAS-PATTERNS)). And for the migrated database don't forget to revoke `CREATE` permission on the public schema manually to fit the new policy.
There is a useful option `CREATE VIEW .. WITH security_invoker=on` to create a view that uses permissions of a view caller rather than a view creator to access underlying tables. With this, you should not worry that a user that doesn't have access to a table could see its data through a view.
There is a useful option `CREATE VIEW .. WITH (security_invoker=on)` to create a view that uses permissions of a view caller rather than a view creator to access underlying tables. With this, you should not worry that a user that doesn't have access to a table could see its data through a view.
## **Performance speed-up**
+103
View File
@@ -0,0 +1,103 @@
---
title: pg_graphql v1.0
description: Announcing the v1.0 release of pg_graphql
author: oli_rice
image: launch-week-6/pggraphql/og-pg-graphql.png
thumb: launch-week-6/pggraphql/og-pg-graphql.png
tags:
- graphql
- postgres
- launch-week
date: '2022-12-16'
toc_depth: 3
---
Today we're announcing the 1.0 release of pg_graphql and its general availability on our platform. pg_graphql is a PostgreSQL extension that allows you to query your database using GraphQL. It is the foundation of GraphQL support in the Supabase stack.
Since our first platform release, v0.2.1, the feature set of pg_graphql has steadily grown and stabilized. Despite being a pre-1.0, we've been extremely cautious with each new feature and have yet to introduce a backwards-incompatible change. With the 1.0 release we're formalizing that guarantee, subject to the SemVer spec.
## Background
pg_graphql was created to satisfy an extreme set of constraints. Mainly, [Supabase free tier](https://supabase.com/pricing) projects run on servers with 1 GB of memory. On those servers, we squeeze tuned versions of [PostgreSQL](https://github.com/supabase/postgres), [PostgREST](https://postgrest.org/en/stable/), and [GoTrue](https://github.com/supabase/gotrue). Every megabyte consumed by something that isn't PostgreSQL is another chance for an index to fall out of memory, or a large query to fail.
Our philosophy when adding to the stack is to use existing open source tools wherever possible. We surveyed the available GraphQL → SQL options and found some excellent candidates in [Hasura](https://hasura.io/) and [Graphile](https://www.graphile.org/). Both support the set of features we're interested in, but consume significantly more memory than we could sacrifice on the free tier. Realizing that, we searched for an architecture that could meet our runtime constraints and performance requirements.
## Architecture
Our first prototype of pg_graphql PostgreSQL extension had a parser written in C (libgraphqlparser) with all business logic of transpiling GraphQL to SQL **written** in SQL. We exposed the extensions sole SQL function `graphql.resolve(...)` over HTTP using PostgREST's [RPC functionality](https://postgrest.org/en/stable/api.html#s-procs). With this approach, the memory footprint was too small to measure when accessed over HTTP. While memory-use sent us down this path, we discovered that leaning into Postgres primitives lead to some incredible synergies. To name a few:
### Security
Since data are accessed through a standard, unprivileged, SQL function, Postgres role permissions and Row Level Security (RLS) policies work exactly like they do in Postgres. Define your security model once, and it applies everywhere: SQL, REST, Realtime, and GraphQL
### Always up-to-date
No separate process means no roundtrip time. Inspecting the database's schema does not require any caching and is always in-sync. Knowing that the GraphQL and SQL schemas are aligned give us the confidence to compile GraphQL requests of any complexity into exactly one SQL query, [solving the N+1 query problem](https://medium.com/the-marcy-lab-school/what-is-the-n-1-problem-in-graphql-dd4921cb3c1a) and producing high throughput.
### Scaling
As an extension, pg_graphql's performance scales directly with the size of the database. When a user's performance needs grow, upgrading the database instance also scales up GraphQL throughput with no external processes to manage.
### ACID - Atomicity, Consistency, Isolation, and Durability
Databases have strong ACID guarantees. Being embedded in the database lets us claim those guarantees through the GraphQL API. For example, if any part of a multi-mutation GraphQL request fails, the entire request can roll back to leave the database in a consistent state.
## From SQL to Rust
Our pure [SQL implementation of the pg_graphql transpiler](https://github.com/supabase/pg_graphql/blob/bd0283718abaf329d98c69808f862594e9df5edc/pg_graphql--0.4.0.sql) carried us from v0.0.1 to v0.4.0. Ultimately, we started to feel some pain, although probably not in the way you'd expect.
Opinions about business logic in SQL are notoriously split. In my view, there are some foot guns, but:
- SQL has types
- SQL has functions
- Functions are composable
Ergo, keep your functions pure and you've got a strongly typed functional programming paradigm. Taking that approach, the developer experience for pg_graphql was surprisingly excellent. The feedback cycle with [pg_regress](https://www.postgresql.org/docs/9.1/regress.html) is fast, and occasionally the type system even caught a bug or two. What more could you ask for?
Somewhere around the 4,000 line count, things started to bog down. The rough shape of the codebase was coming into view, which made it clear where we could further extract common patterns into functions. At this point I learned two things:
- SQL functions are “pass by value” (copy) so passing state around can get expensive
- The query planner tends to stop inlining functions when calls are deeply nested
Combine those two facts with our GraphQL AST being a big ball of JSONB, and the GitHub issues about slow schema introspection on free tier started to trickle in.
Enter [pgx](https://github.com/tcdi/pgx)…
pgx is a rust framework for building Postgres extensions. It has a very polished onboarding experience and (as you would expect) full SQL interop. That made it straightforward to initially sprinkle some rust on pg_graphql's hotspots. When that went well, we ultimately rewrote pg_graphql from the ground up as a pure Rust project for the v0.5.0 release.
One of rust's main selling points is zero cost abstractions. That means high-level concepts like generics incur no runtime penalty. Transitioning from SQL's expensive abstractions to rust's zero cost abstractions has been hugely satisfying as it enabled refactoring the codebase into a more maintainable state. Development velocity is up. Code quality is up. Performance is WAY up.
As of 1.0, overhead introduced by pg_graphql is sub 300 *micro*seconds per request on free-tier hardware. When executed from SQL we see ~1060 queries per second per connection (no parallelism). If we include the entire Auth + HTTP stack, free tier can handle ~645 requests per second. On larger instance the stack handles upwards of 10k requests / second.
```text
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Server Software: postgrest/10.1.1
Document Path: /graphql/v1
Concurrency Level: 10
Time taken for tests: 3.099 seconds
Complete requests: 2000
Requests per second: 645.40 [#/sec] (mean)
Time per request: 15.494 [ms] (mean)
Time per request: 1.549 [ms] (mean, across all concurrent requests)
```
## Roadmap
While v1.0 is an important milestone for stability, there's plenty of room to expand the feature set. For example, some commonly requested features on the immediate roadmap are:
- Extended filtering options
- `startsWith` for the `String` type
- nestable `and`/ `or` blocks
- Support for user-defined functions
- Support for views
Longer term we look forward to experimenting with more ambitions features like an API for migrations, integrations with 3rd-party services through [supabase/wrappers](https://github.com/supabase/wrappers), and a scalable solution for subscriptions.
## More Launch Week 6
- [Day 1: New Supabase Docs, built with Next.js](https://supabase.com/blog/new-supabase-docs-built-with-nextjs)
- [Day 2: Supabase Storage v2: Image resizing and Smart CDN](https://supabase.com/blog/storage-image-resizing-smart-cdn)
- [Day 3: Multi-factor Authentication via Row Level Security Enforcement](https://supabase.com/blog/mfa-auth-via-rls)
- [Launch Week 6 Hackathon](https://supabase.com/blog/launch-week-6-hackathon)
- [Who We Hire at Supabase](https://supabase.com/blog/who-we-hire)
- [pg_crdt - an experimental CRDT extension for Postgres](https://supabase.com/blog/postgres-crdt)
@@ -0,0 +1,50 @@
---
title: 'Point in Time Recovery is now available for Pro projects'
description: "We're making PITR available for more projects, with a new Dashboard UI that makes it simple to use."
author: angelico_de_los_reyes
image: launch-week-6/pitr/og-pitr.png
thumb: launch-week-6/pitr/og-pitr.png
tags:
- launch-week
- postgres
- backups
date: '2022-12-16'
toc_depth: 3
---
When we announced Point-in-Time a few months ago, it was only available for Enterprise customers. Today, we're making PITR available for more projects, with a new Dashboard UI that makes it simple to use.
Pro-tier projects created from August 2022 onwards (excluding Northeast Asia / Seoul region), can now enable Point In Time Recovery (PITR) from the dashboard. Projects must have the "Small" compute add-on to ensure that PITR operates smoothly behind the scenes.
For older projects, don't worry - we're working on making it available for everybody. In the meantime, if you would like to have PITR enabled for your ineligible project, reach out directly [here](https://app.supabase.com/support/new), or stay tuned for further updates.
## What is Point in Time Recovery?
![point in time recovery overview](/images/blog/launch-week-6/pitr/pitr-overview.png)
Point in Time Recovery provides the ability for a database to be restored at any specified point in time. This is useful when averting disasters, for all those times that a, _cough_, natural calamity strikes (like accidentally dropping a table). With PITR, the database can be restored to a state it was in mere seconds before trouble.
All of this is made possible by a combination of physical backups and archives from the [Write Ahead Log (WAL)](https://www.postgresql.org/docs/current/wal-intro.html). Physical backups provide a snapshot of the underlying directory of the database, while WAL files contain records of every change made in the database.
Under the hood, we use [WAL-G](https://github.com/wal-g/wal-g), an open source archival and restoration tool, to handle all aspects of PITR. On a daily basis, WAL-G takes a snapshot of the database and sends it to our storage servers. Throughout the day, as database transactions occur, WAL files are generated and uploaded to archived.
## Should I enable PITR?
![point in time recovery date selection](/images/blog/launch-week-6/pitr/pitr-date-selection.png)
Consider your Recovery Point Objective (RPO) when deciding whether to enable Point in Time Recovery. RPO is the threshold for how much data, measured in time, a business could lose when disaster strikes. This is dependent on a business and its underlying requirements. The agreed upon RPO would be a deciding factor in choosing which solution best fits a project.
While all Pro-tier projects and above are backed up on a daily basis, this means that at the worst case, a project could lose up to 24 hours worth of data if disaster hits at the most inopportune time. With Point in Time Recovery however, backups are made at much shorter intervals, shortening the RPO. WAL files are backed up at two minute intervals. This could be faster if it hits a certain file threshold before the the two minute mark.
## Getting started
Enabling Point in Time Recovery could be done [in the Dashboard](https://app.supabase.com/project/_/settings/billing/update/pro). Retention for backups used by PITR is set to up to 7 days by default but could be increased to up to 28 days via self-serve.
## More Launch Week 6
- [Day 1: New Supabase Docs, built with Next.js](https://supabase.com/blog/new-supabase-docs-built-with-nextjs)
- [Day 2: Supabase Storage v2: Image resizing and Smart CDN](https://supabase.com/blog/storage-image-resizing-smart-cdn)
- [Day 3: Multi-factor Authentication via Row Level Security Enforcement](https://supabase.com/blog/mfa-auth-via-rls)
- [Launch Week 6 Hackathon](https://supabase.com/blog/launch-week-6-hackathon)
- [Who We Hire at Supabase](https://supabase.com/blog/who-we-hire)
- [pg_crdt - an experimental CRDT extension for Postgres](https://supabase.com/blog/postgres-crdt)
@@ -0,0 +1,96 @@
---
title: 'Supabase Vault is now in Beta'
description: 'A Postgres extension to store encrypted secrets and encrypt data.'
author: michel
image: launch-week-6/vault/og-vault.png
thumb: launch-week-6/vault/og-vault.png
tags:
- launch-week
- postgres
- encryption
date: '2022-12-16'
toc_depth: 3
---
During our last Launch Week we [announced](/blog/supabase-vault) Supabase Vault as our “one more thing”. Today we're releasing it progressively across the platform.
Vault is a new Postgres extension and accompanying Supabase UI that makes it safe and easy to store encrypted secrets and encrypt other stored data in your database. This foundation opens up a lot of possibilities for Postgres that go beyond what is available in a stock distribution. From a product perspective we're grouping various features under the “Vault banner”. Let's explore a few of these features.
## Secrets Management
Practically speaking, the Vault is a table of Secrets and Encryption Keys that are stored using [Authenticated Encryption](https://en.wikipedia.org/wiki/Authenticated_encryption) on disk, but available in decrypted form through a Postgres view so that the secrets can be used by applications from SQL. Because the secrets are stored encrypted and authenticated, any backups or replication streams also preserve this encryption in a way that can't be forged.
We've created a dashboard UI for the Vault that makes storing secrets easy. Click a button and type in your secret, optionally create a new key that is referenced by id (or use the existing default), and submit. Your secret is now stored on disk encrypted using the specified key id.
<video width="99%" muted playsInline controls="true">
<source
src="/images/blog/launch-week-6/vault/vault-hello-compressed.mp4"
type="video/mp4"
muted
playsInline
/>
</video>
There are two main parts to the Vault UI, Secrets and Encryption Keys:
- **Secrets:** Use the Vault to store Secrets - everything from Environment Variables to API Keys. You can use these Secrets anywhere in your database: Postgres [Functions](/docs/guides/database/functions), Triggers, and [Webhooks](/docs/guides/database/webhooks). From a SQL perspective, accessing secrets is as easy as querying a table (or in this case, a view). The underlying secrets tables will be stored in encrypted form.
- **Encryption Keys:** encryption keys are used to encrypt data inside your database. Fun fact: the Secrets you store in the Vault are encrypted with an Encryption Key which we set up by default and is not accessible to SQL or stored in your database alongside the same data it is used to encrypt. You can create different Encryption Keys for different purposes, for example: one for encrypting user-data, and another for application-data.
## Transparent Column Encryption (TCE)
Our recent [blog post](/blog/transparent-column-encryption-with-postgres) describes TCE in-depth. TCE is one of the safest ways to encrypt your data so that it doesn't leak into logs and backups, as well as providing your users with row-level authenticated encryption. TCE is the foundational feature of the Vault, but you can use it on your own tables if you choose to if the Vault isn't sufficient for your needs, for example if you have multiple tables that you wish to have encrypted columns. Any Postgres value that can be cast to `text` or `bytea` can use TCE to encrypt the data that is stored to disk.
### Encrypting columns
In the “New Column” flow on the Dashboard, you can select that a `text` or `bytea` column is encrypted, and select an existing key id or create a new one. This is functionally identical to the Vault above, but you can apply it to any of your existing tables. In a sense the Vault is a pre-created table and UI for you to get started quickly storing secrets, and to be a centralized point for “global” secrets management, but your not stuck with just that, you can encrypt multiple columns in multiple tables, how you want to store your secret data can be entirely up to you.
![Encrypting columns](/images/blog/launch-week-6/vault/vault-encrypting-columns.png)
Once you've setup an encrypted column, just insert data into the table like you would any other table. If you put in an email address for example, you will see that what is stored is not an email at all, but an encrypted value.
![Encrypted data](/images/blog/launch-week-6/vault/vault-encrypted-data.png)
Decrypted data can be accessed by a special view that is automatically created whenever you create an encrypted column on a table. This view decrypts the data row-by-row as you access it. By default this view is called `decrypted_<your-table-name>`, so in the example provided, the decryption view for the `profiles` table is `decrypted_profiles`. In addition to the existing `emails` column, there is a new column in the view called `decrypted_emails` that contains the decrypted email value. It's that simple!
![Decrypted data](/images/blog/launch-week-6/vault/vault-decrypted-data.png)
## Deep Dive on How The Vault works
<iframe
width="560"
height="315"
src="https://www.youtube-nocookie.com/embed/QHLPNDrdN2w"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
></iframe>
As we mentioned, the Vault uses pgsodium's Transparent Column Encryption (TCE) to store secrets in an authenticated encrypted form. There are some details around that you may be curious about, what does authenticated mean, and where are encryption keys store? This section explains those details.
The first important feature of TCE is that it uses an [Authenticated Encryption with Associated Data](<https://en.wikipedia.org/wiki/Authenticated_encryption#Authenticated_encryption_with_associated_data_(AEAD)>) encryption algorithm based on libsodium. “Authenticated Encryption” means that in addition to the data being encrypted, it is also “signed” so that it cannot be forged, the decryption function verifies that the signature is valid **before decrypting the value**. “Associated Data” means that in addition to signing the secret, you can include any other columns in your row in the signature computation, “associating” those columns with the secret. This doesn't encrypt those other columns, but it does ensure that **they are authentic** and cannot be forged because they are included in the secret's signature. So you know when you restore your database dumps, not only are the secrets safe, but also the “associated” columns are also authentic and unforged.
Another important feature of pgsodium is that the encryption keys are never stored in the database alongside the encrypted data, instead, only a **Key ID** is stored, which refers to a key that is only accessible outside of SQL. Even if an attacker can capture a dump of your entire database, they will see only encrypted data and key ids, **never the raw key itself**. This is an important safety precaution, there would be no point in storing the encryption key in the database alongside the encrypted data, this would be like locking your front door but leaving the key in the lock! Storing the key outside the database fixes this issue.
You might be wondering, ok then where are the keys stored? Supabase creates and manages the root keys from which all key ids are derived in our internal customer backend systems. We keep this key safe and separate from your data, and provide an alternate dashboard endpoint for accessing the key if you want to decrypt your data outside of Supabase.
## Future possibilities
Privacy is becoming one of the most important features in a modern product. Supabase's embrace of the pgsodium extension aims to make this simple. Some of the possibilities we are looking into are:
- **End-to-end encryption**: give your users the ability to encrypt their personal data so even you, the developer cannot access it, using the libsodium [encrypted streams](https://doc.libsodium.org/secret-key_cryptography/secretstream) API that is exposed by pgsodium. After exchanging keys, parties can stream unlimited amounts of data from peer to peer without being intercepted by any party in between, including Supabase.
- **Group encryption**: have you ever joined a group on Whatsapp and been frustrated that you can't read the previous messages? That's because group encryption is hard. We hope to make that easier using new algorithms like [signcryption](https://github.com/jedisct1/libsodium-signcryption) to support multi-party encrypted messages that can be easily encoded into a token format and use to support streaming encryption keys.
- **Public Key Management:** Public Key Encryption can be hard, but pgsodium makes it easier by exposing all of the public key encryption functions that are supported by libsodium. Making and distributing key pairs is now easy, no need to run arcane GPG scripts or mess with SSL libraries. libsodium contains state of the art public key encryption, and by extension so does pgsodium. These features are available now on the Supabase platform and offer a lot of possibilities to unshackle developers from other confusing and inadequate solutions available today.
### Using the Vault
You'll see the Vault appear in the Dashboard over the next month. If you want to use Vault today, email growth@supabase.com and we'll enable it on your account. Vault is available for all customers (including the Free-tier).
## More Launch Week 6
- [Day 1: New Supabase Docs, built with Next.js](https://supabase.com/blog/new-supabase-docs-built-with-nextjs)
- [Day 2: Supabase Storage v2: Image resizing and Smart CDN](https://supabase.com/blog/storage-image-resizing-smart-cdn)
- [Day 3: Multi-factor Authentication via Row Level Security Enforcement](https://supabase.com/blog/mfa-auth-via-rls)
- [Launch Week 6 Hackathon](https://supabase.com/blog/launch-week-6-hackathon)
- [Who We Hire at Supabase](https://supabase.com/blog/who-we-hire)
- [pg_crdt - an experimental CRDT extension for Postgres](https://supabase.com/blog/postgres-crdt)
+16 -3
View File
@@ -87,8 +87,8 @@
]
},
{
"title": "Day 5",
"shipped": false,
"title": "Supabase Vault Release",
"shipped": true,
"date": "16 Dec 2022",
"description": "Vault Release",
"d": 5,
@@ -96,6 +96,19 @@
"youtube_id": "6bGQotxisoY",
"blogpost": "https://supabase.com/blog",
"docs": "https://supabase.com/docs",
"steps": []
"steps": [
{
"title": "Vault Release",
"blog": "/blog/vault-now-in-beta",
"isNew": true,
"description": ""
},
{
"title": "Transparent Column Encryption",
"description": "Faster asset delivery, now even faster.",
"blog": "/blog/transparent-column-encryption-with-postgres",
"isNew": true
}
]
}
]
+1 -1
View File
@@ -2,7 +2,7 @@
{
"author_id": "angelico_de_los_reyes",
"author": "Angelico de los Reyes",
"position": "",
"position": "Engineering",
"author_url": "https://github.com/dragarcia",
"author_image_url": "https://github.com/dragarcia.png"
},
+2
View File
@@ -5,6 +5,7 @@ import ImageGrid from '~/components/ImageGrid'
import Quote from '~/components/Quote'
import Chart from '~/components/Charts/PGCharts'
import InlineCodeTag from '~/components/InlineCode'
import { Badge } from 'ui'
// import all components used in blog articles here
// to do: move this into a helper/utils, it is used elsewhere
@@ -14,6 +15,7 @@ const ignoreClass = 'ignore-on-export'
export default function mdxComponents(type?: 'blog' | 'lp' | undefined) {
const components = {
CodeBlock,
Badge,
Quote,
Avatar,
PGChart: (props: any) => {
+38 -33
View File
@@ -1619,88 +1619,93 @@ module.exports = [
},
{
permanent: true,
source: '/docs/guides/auth-twilio',
source: '/docs/guides/auth/auth-twilio',
destination: '/docs/guides/auth/phone-login/twilio',
},
{
permanent: true,
source: '/docs/guides/auth/with-google',
destination: '/docs/guides/auth/social-login/with-google',
source: '/docs/guides/auth/auth-vonage',
destination: '/docs/guides/auth/phone-login/vonage',
},
{
permanent: true,
source: '/docs/guides/auth/with-facebook',
destination: '/docs/guides/auth/social-login/with-facebook',
source: '/docs/guides/auth/auth-google',
destination: '/docs/guides/auth/social-login/auth-google',
},
{
permanent: true,
source: '/docs/guides/auth/with-apple',
destination: '/docs/guides/auth/social-login/with-apple',
source: '/docs/guides/auth/auth-facebook',
destination: '/docs/guides/auth/social-login/auth-facebook',
},
{
permanent: true,
source: '/docs/guides/auth/with-azure',
destination: '/docs/guides/auth/social-login/with-azure',
source: '/docs/guides/auth/auth-apple',
destination: '/docs/guides/auth/social-login/auth-apple',
},
{
permanent: true,
source: '/docs/guides/auth/with-twitter',
destination: '/docs/guides/auth/social-login/with-twitter',
source: '/docs/guides/auth/auth-azure',
destination: '/docs/guides/auth/social-login/auth-azure',
},
{
permanent: true,
source: '/docs/guides/auth/with-github',
destination: '/docs/guides/auth/social-login/with-github',
source: '/docs/guides/auth/auth-twitter',
destination: '/docs/guides/auth/social-login/auth-twitter',
},
{
permanent: true,
source: '/docs/guides/auth/with-gitlab',
destination: '/docs/guides/auth/social-login/with-gitlab',
source: '/docs/guides/auth/auth-github',
destination: '/docs/guides/auth/social-login/auth-github',
},
{
permanent: true,
source: '/docs/guides/auth/with-bitbucket',
destination: '/docs/guides/auth/social-login/with-bitbucket',
source: '/docs/guides/auth/auth-gitlab',
destination: '/docs/guides/auth/social-login/auth-gitlab',
},
{
permanent: true,
source: '/docs/guides/auth/with-discord',
destination: '/docs/guides/auth/social-login/with-discord',
source: '/docs/guides/auth/auth-bitbucket',
destination: '/docs/guides/auth/social-login/auth-bitbucket',
},
{
permanent: true,
source: '/docs/guides/auth/with-keycloak',
destination: '/docs/guides/auth/social-login/with-keycloak',
source: '/docs/guides/auth/auth-discord',
destination: '/docs/guides/auth/social-login/auth-discord',
},
{
permanent: true,
source: '/docs/guides/auth/with-linkedin',
destination: '/docs/guides/auth/social-login/with-linkedin',
source: '/docs/guides/auth/auth-keycloak',
destination: '/docs/guides/auth/social-login/auth-keycloak',
},
{
permanent: true,
source: '/docs/guides/auth/with-notion',
destination: '/docs/guides/auth/social-login/with-notion',
source: '/docs/guides/auth/auth-linkedin',
destination: '/docs/guides/auth/social-login/auth-linkedin',
},
{
permanent: true,
source: '/docs/guides/auth/with-slack',
destination: '/docs/guides/auth/social-login/with-slack',
source: '/docs/guides/auth/auth-notion',
destination: '/docs/guides/auth/social-login/auth-notion',
},
{
permanent: true,
source: '/docs/guides/auth/with-spotify',
destination: '/docs/guides/auth/social-login/with-spotify',
source: '/docs/guides/auth/auth-slack',
destination: '/docs/guides/auth/social-login/auth-slack',
},
{
permanent: true,
source: '/docs/guides/auth/with-twitch',
destination: '/docs/guides/auth/social-login/with-twitch',
source: '/docs/guides/auth/auth-spotify',
destination: '/docs/guides/auth/social-login/auth-spotify',
},
{
permanent: true,
source: '/docs/guides/auth/with-workos',
destination: '/docs/guides/auth/social-login/with-workos',
source: '/docs/guides/auth/auth-twitch',
destination: '/docs/guides/auth/social-login/auth-twitch',
},
{
permanent: true,
source: '/docs/guides/auth/auth-workos',
destination: '/docs/guides/auth/social-login/auth-workos',
},
{
permanent: true,
@@ -223,20 +223,17 @@ import { Customer } from 'types'
serve(async (req) => {
try {
// create a supabase client
// create a supabase client with Auth context of the user that called the function
const supabaseClient = createClient(
Deno.env.get('SUPABASE_URL') ?? '',
Deno.env.get('SUPABASE_ANON_KEY') ?? ''
Deno.env.get('SUPABASE_ANON_KEY') ?? '',
{ global: { headers: { Authorization: req.headers.get('Authorization')! } } }
)
// create a stripe client
const stripe = Stripe(Deno.env.get('STRIPE_SECRET_KEY'))
// Get the authorization header from the request.
const authHeader = req.headers.get('Authorization').replace("Bearer ","")
// Client now respects auth policies for this user
supabaseClient.auth.setAuth(authHeader)
// set the user profile
const user = supabase.auth.user()
// get the current logged in user
const {data: { user },} = supabase.auth.getUser()
// Retrieve user metadata that only the user is allowed to select
const { data, error } = await supabaseClient
+505 -176
View File
@@ -38,7 +38,7 @@ export default function launchweek() {
const { isDarkMode } = useTheme()
const title = 'Launch Week 6'
const description = 'Supabase Launch Week 6 | 12-18 Dec 2022'
const liveDay = 'Thursday'
const liveDay = 'Friday'
const [supabase] = useState(() =>
createClient(process.env.NEXT_PUBLIC_SUPABASE_URL!, process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!)
@@ -130,14 +130,16 @@ export default function launchweek() {
</div>
</div>
</a>
<a href={docs} target="_blank" rel="noopener">
<div className="flex items-center border border-slate-400 bg-gradient-to-r from-[#fcfcfc] to-[#f2f2f2] hover:to-[#d5d5d5] text-black dark:text-white dark:from-[#191919] dark:to-[#464444] dark:hover:to-[#4e4e4e] rounded-full text-sm py-2 pl-3 pr-2">
Docs
<div className="bg-[#eeeeee] dark:bg-[#313131] rounded-full inline-block p-1 ml-2">
<img src="/images/launchweek/icons-docs.svg" className="w-4 h-4"></img>
{docs && (
<a href={docs} target="_blank" rel="noopener">
<div className="flex items-center border border-slate-400 bg-gradient-to-r from-[#fcfcfc] to-[#f2f2f2] hover:to-[#d5d5d5] text-black dark:text-white dark:from-[#191919] dark:to-[#464444] dark:hover:to-[#4e4e4e] rounded-full text-sm py-2 pl-3 pr-2">
Docs
<div className="bg-[#eeeeee] dark:bg-[#313131] rounded-full inline-block p-1 ml-2">
<img src="/images/launchweek/icons-docs.svg" className="w-4 h-4"></img>
</div>
</div>
</div>
</a>
</a>
)}
{video && (
<a href={video} target="_blank" rel="noopener">
<div className="flex items-center border border-slate-400 bg-gradient-to-r from-[#fcfcfc] to-[#f2f2f2] hover:to-[#d5d5d5] text-black dark:text-white dark:from-[#191919] dark:to-[#464444] dark:hover:to-[#4e4e4e] rounded-full text-sm py-2 pl-3 pr-2">
@@ -217,9 +219,14 @@ export default function launchweek() {
)}
></div>
</div>
<a className="flex items-center justify-center mb-20" href="#currentDay">
<div className="border border-slate-600 text-black dark:text-white text-sm rounded-full bg-slate-400 px-2 py-1 hover:bg-slate-600">
Jump to current day
</div>
</a>
{process.env.NEXT_PUBLIC_LW_STARTED && (
<>
<SectionContainer className="!pt-0 !pb-20 ">
<SectionContainer className="!py-0 ">
<div className="border rounded-2xl border-slate-400 text-sm px-5 py-4 flex flex-col sm:flex-row justify-between items-center">
<div className="relative flex items-center mb-4 sm:mb-0">
<div className="flex min-w-[150px]">
@@ -248,7 +255,34 @@ export default function launchweek() {
<div className="flex items-center border border-slate-400 bg-gradient-to-r from-[#fcfcfc] to-[#f2f2f2] hover:to-[#d5d5d5] text-black dark:text-white dark:from-[#191919] dark:to-[#464444] dark:hover:to-[#4e4e4e] rounded-full text-sm py-2 pl-3 pr-2 min-w-[142px]">
Read blogpost
<div className="bg-[#eeeeee] dark:bg-[#313131] rounded-full inline-block p-1 ml-2">
<img src="/images/launchweek/blog-icon.svg" className="w-3 h-3"></img>
<img src="/images/launchweek/icons-blogpost.svg" className="w-3 h-3"></img>
</div>
</div>
</a>
</div>
</div>
</SectionContainer>
<SectionContainer className="!pt-4 ">
<div className="border rounded-2xl border-slate-400 text-sm px-5 py-4 flex flex-col sm:flex-row justify-between items-center">
<div className="relative flex items-center mb-4 sm:mb-0">
<div className="flex min-w-[150px]">
<img
src={`/images/launchweek/${isDarkMode ? 'outro.svg' : 'outro-light.svg'}`}
width={110}
height={80}
></img>
</div>
<div className="flex flex-col lg:flex-row ml-8 sm:ml-10">
<span className="text-black dark:text-white mr-2">Wrap Up</span>
<span className="text-slate-900">Everything we shipped</span>
</div>
</div>
<div className="flex gap-2 z-10">
<a href={'/blog/launch-week-6-wrap-up'} target="_blank" rel="noopener">
<div className="flex items-center border border-slate-400 bg-gradient-to-r from-[#fcfcfc] to-[#f2f2f2] hover:to-[#d5d5d5] text-black dark:text-white dark:from-[#191919] dark:to-[#464444] dark:hover:to-[#4e4e4e] rounded-full text-sm py-2 pl-3 pr-2 min-w-[142px]">
Read blogpost
<div className="bg-[#eeeeee] dark:bg-[#313131] rounded-full inline-block p-1 ml-2">
<img src="/images/launchweek/icons-blogpost.svg" className="w-3 h-3"></img>
</div>
</div>
</a>
@@ -269,6 +303,7 @@ export default function launchweek() {
day2.d.toString(),
day3.d.toString(),
day4.d?.toString(),
day5.d?.toString(),
]}
>
<div className="border-b pb-3">
@@ -500,7 +535,7 @@ export default function launchweek() {
)}
</Accordion.Item>
</div>
<div className="border-b pb-3">
<div className="border-b pb-3" id="currentDay">
<Accordion.Item
header={
<AccordionHeader
@@ -515,94 +550,478 @@ export default function launchweek() {
id={day5.d.toString()}
>
{day5.steps.length > 0 && (
<div className="h-[800px] lg:h-[400px] flex flex-col gap-5 lg:flex-row">
<div
className={`relative group/day5step1 flex flex-col items-center justify-between lg:items-start flex-1 basis-1/2 lg:basis-2/3 border rounded-xl h-full bg-no-repeat p-14 text-2xl overflow-hidden`}
>
<>
<div className="h-[800px] lg:h-[400px] flex flex-col gap-5 lg:flex-row">
<div
className={`absolute top-0 right-0 w-full h-full -z-20 ${styles.wrappers}`}
className={`relative group/day5step1 flex flex-col items-center justify-between lg:items-start flex-1 basis-1/2 lg:basis-2/3 border rounded-xl h-full bg-no-repeat p-14 text-2xl overflow-hidden`}
>
<Image
src={
isDarkMode
? '/images/launchweek/vault-visual.svg'
: '/images/launchweek/vault-visual-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
priority
className="left-16"
/>
<div
className={`absolute top-0 right-0 w-full h-full -z-20 ${styles.wrappers}`}
>
<Image
src={
isDarkMode
? '/images/launchweek/vault-visual.svg'
: '/images/launchweek/vault-visual-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
priority
className="left-16"
/>
</div>
<div
className={`absolute top-0 right-0 w-full h-full -z-10 opacity-0 group-hover/day5step1:opacity-100 duration-500 transition-all ${styles.wrappers}`}
>
<Image
src={
isDarkMode
? '/images/launchweek/vault-visual-hover.svg'
: '/images/launchweek/vault-visual-hover-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
className="test"
/>
</div>
<div className="flex items-center flex-col-reverse lg:flex-row">
<span className="text-black dark:text-white">
{day5.steps[0].title}
</span>
<Badge className="!bg-transparent h-fit ml-4 text-sm !py-1 !px-4 text-transparent bg-clip-text bg-gradient-to-r from-[#99bbab] to-[#396f55] border-[#4d898c] dark:from-white dark:to-[#1a7a4ca1] dark:border-[#DFFFF1]">
New
</Badge>
</div>
<SectionButtons docs={day5.steps[0].docs} blog={day5.steps[0].blog} />
</div>
<div
className={`absolute top-0 right-0 w-full h-full -z-10 opacity-0 group-hover/day5step1:opacity-100 duration-500 transition-all ${styles.wrappers}`}
className={`relative group/day5step2 flex-1 flex flex-col items-center justify-between basis-1/2 lg:basis-1/3 border rounded-xl h-full bg-no-repeat p-14 text-2xl overflow-hidden`}
>
<Image
src={
isDarkMode
? '/images/launchweek/vault-visual-hover.svg'
: '/images/launchweek/vault-visual-hover-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
className="test"
/>
<div className={`absolute top-0 right-0 w-full h-full -z-20`}>
<Image
src={
isDarkMode
? '/images/launchweek/TCE-visual.svg'
: '/images/launchweek/TCE-visual-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
priority
className="left-16"
/>
</div>
<div
className={`absolute top-0 right-0 w-full h-full -z-10 opacity-0 group-hover/day5step2:opacity-100 duration-500 transition-all`}
>
<Image
src={
isDarkMode
? '/images/launchweek/TCE-visual-hover.svg'
: '/images/launchweek/TCE-visual-hover-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
className="test"
/>
</div>
<div className="flex flex-col items-center gap-2 min-w-[300px]">
<Badge className="!bg-transparent h-fit ml-4 text-sm !py-1 !px-4 text-transparent bg-clip-text bg-gradient-to-r from-[#99bbab] to-[#396f55] border-[#4d898c] dark:from-white dark:to-[#1a7a4ca1] dark:border-[#DFFFF1]">
New
</Badge>
<span className="text-black dark:text-white text-center">
{day5.steps[1].title}
</span>
</div>
<SectionButtons docs={day5.steps[1].docs} blog={day5.steps[1].blog} />
</div>
<div className="flex items-center flex-col-reverse lg:flex-row">
<span className="text-black dark:text-white">
{day5.steps[0].title}
</span>
<Badge className="!bg-transparent h-fit ml-4 text-sm !py-1 !px-4 text-transparent bg-clip-text bg-gradient-to-r from-[#99bbab] to-[#396f55] border-[#4d898c] dark:from-white dark:to-[#1a7a4ca1] dark:border-[#DFFFF1]">
New
</Badge>
</div>
<SectionButtons docs={day5.steps[0].docs} blog={day5.steps[0].blog} />
</div>
<div
className={`relative group/day5step2 flex-1 flex flex-col items-center justify-between basis-1/2 lg:basis-1/3 border rounded-xl h-full bg-no-repeat p-14 text-2xl overflow-hidden`}
>
<div className={`absolute top-0 right-0 w-full h-full -z-20`}>
<Image
src={
isDarkMode
? '/images/launchweek/TCE-visual.svg'
: '/images/launchweek/TCE-visual-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
priority
className="left-16"
<h3 className="text-black dark:text-white text-lg mb-4 mt-4">Community</h3>
<div className="h-[400px] flex flex-col gap-5 lg:flex-row group/community relative overflow-hidden">
<div
className={`relative flex flex-col items-center justify-between lg:items-start flex-1 basis-1/2 lg:basis-2/3 border rounded-xl h-full p-14 text-2xl bg-no-repeat bg-cover !px-3 sm:!px-14`}
>
<div
className={`absolute top-0 right-0 w-full h-full -z-20 ${styles.community_wrappers}`}
>
<Image
src={
isDarkMode
? '/images/launchweek/community-visual.svg'
: '/images/launchweek/community-visual-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
priority
className="left-16"
/>
</div>
<div
className={`absolute top-0 right-0 w-full h-full -z-10 opacity-0 group-hover/community:opacity-100 duration-500 transition-all ${styles.community_wrappers}`}
>
<Image
src={
isDarkMode
? '/images/launchweek/community-visual-hover.svg'
: '/images/launchweek/community-visual-light-hover.svg'
}
layout="fill"
objectFit="cover"
quality={100}
className="test"
/>
</div>
<div className="flex items-center flex-col-reverse lg:flex-row">
<span className="text-black dark:text-white">Community Day</span>
</div>
<div className="flex flex-col md:flex-row gap-4 md:gap-2 z-10 ">
<div className="flex gap-4 md:gap-2">
<a
href={'/blog/launch-week-6-community-day'}
target="_blank"
rel="noopener"
>
<div className="flex items-center border border-slate-400 bg-gradient-to-r from-[#fcfcfc] to-[#f2f2f2] hover:to-[#d5d5d5] text-black dark:text-white dark:from-[#191919] dark:to-[#464444] dark:hover:to-[#4e4e4e] rounded-full text-sm py-2 pl-3 pr-2">
Blog post
<div className="bg-[#eeeeee] dark:bg-[#313131] rounded-full inline-block p-1 ml-2">
<img
src="/images/launchweek/icons-blogpost.svg"
className="w-4 h-4"
></img>
</div>
</div>
</a>
<a
href={'https://www.youtube.com/watch?v=hw9Q-NjASbU'}
target="_blank"
rel="noopener"
>
<div className="flex items-center border border-slate-400 bg-gradient-to-r from-[#fcfcfc] to-[#f2f2f2] hover:to-[#d5d5d5] text-black dark:text-white dark:from-[#191919] dark:to-[#464444] dark:hover:to-[#4e4e4e] rounded-full text-sm py-2 pl-3 pr-2">
Flutterflow
<div className="bg-[#eeeeee] dark:bg-[#313131] rounded-full inline-block p-1 ml-2">
<img
src="/images/launchweek/video-icon.svg"
className="w-4 h-4"
></img>
</div>
</div>
</a>
</div>
<div className="flex gap-4 md:gap-2">
<a
href={'https://www.youtube.com/watch?v=mw0DLwItue4'}
target="_blank"
rel="noopener"
>
<div className="flex items-center border border-slate-400 bg-gradient-to-r from-[#fcfcfc] to-[#f2f2f2] hover:to-[#d5d5d5] text-black dark:text-white dark:from-[#191919] dark:to-[#464444] dark:hover:to-[#4e4e4e] rounded-full text-sm py-2 pl-3 pr-2">
OneSignal
<div className="bg-[#eeeeee] dark:bg-[#313131] rounded-full inline-block p-1 ml-2">
<img
src="/images/launchweek/video-icon.svg"
className="w-4 h-4"
></img>
</div>
</div>
</a>
<a
href={'https://www.youtube.com/watch?v=EdYQ9fF-hz4'}
target="_blank"
rel="noopener"
>
<div className="flex items-center border border-slate-400 bg-gradient-to-r from-[#fcfcfc] to-[#f2f2f2] hover:to-[#d5d5d5] text-black dark:text-white dark:from-[#191919] dark:to-[#464444] dark:hover:to-[#4e4e4e] rounded-full text-sm py-2 pl-3 pr-2">
NextAuth
<div className="bg-[#eeeeee] dark:bg-[#313131] rounded-full inline-block p-1 ml-2">
<img
src="/images/launchweek/video-icon.svg"
className="w-4 h-4"
></img>
</div>
</div>
</a>
</div>
</div>
</div>
</div>
<h3 className="text-black dark:text-white text-lg mb-4 mt-4">
One more thing
</h3>
<div className="flex flex-col lg:grid grid-cols-3 grid-rows-2 gap-4">
<div
className={`min-h-[400px] relative group/day5step2 flex-1 flex flex-col items-center justify-between basis-1/2 lg:basis-1/3 border rounded-xl bg-no-repeat p-14 text-2xl overflow-hidden`}
>
<div className={`absolute top-0 right-0 w-full h-full -z-20`}>
<Image
src={
isDarkMode
? '/images/launchweek/PgGraphql-visual.svg'
: '/images/launchweek/PgGraphql-visual-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
priority
className="left-16"
/>
</div>
<div
className={`absolute top-0 right-0 w-full h-full -z-10 opacity-0 group-hover/day5step2:opacity-100 duration-500 transition-all`}
>
<Image
src={
isDarkMode
? '/images/launchweek/PgGraphql-visual-hover.svg'
: '/images/launchweek/PgGraphql-visual-hover-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
className="test"
/>
</div>
<div className="flex flex-col items-center gap-2 min-w-[300px]">
<Badge className="!bg-transparent h-fit ml-4 text-sm !py-1 !px-4 text-transparent bg-clip-text bg-gradient-to-r from-[#99bbab] to-[#396f55] border-[#4d898c] dark:from-white dark:to-[#1a7a4ca1] dark:border-[#DFFFF1]">
Updated
</Badge>
<span className="text-black dark:text-white text-center">
pg_graphql v1.0
</span>
</div>
<SectionButtons
docs="/docs/guides/api#graphql-api"
blog="/blog/pg-graphql-v1"
/>
</div>
<div
className={`absolute top-0 right-0 w-full h-full -z-10 opacity-0 group-hover/day5step2:opacity-100 duration-500 transition-all`}
className={`min-h-[400px] relative group/day5step2 flex-1 flex flex-col items-center justify-between basis-1/2 lg:basis-1/3 border rounded-xl bg-no-repeat p-14 text-2xl overflow-hidden`}
>
<Image
src={
isDarkMode
? '/images/launchweek/TCE-visual-hover.svg'
: '/images/launchweek/TCE-visual-hover-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
className="test"
<div className={`absolute top-0 right-0 w-full h-full -z-20`}>
<Image
src={
isDarkMode
? '/images/launchweek/custom-domains-visual.svg'
: '/images/launchweek/custom-domains-visual-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
priority
className="left-16"
/>
</div>
<div
className={`absolute top-0 right-0 w-full h-full -z-10 opacity-0 group-hover/day5step2:opacity-100 duration-500 transition-all`}
>
<Image
src={
isDarkMode
? '/images/launchweek/custom-domains-visual-hover.svg'
: '/images/launchweek/custom-domains-visual-hover-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
className="test"
/>
</div>
<div className="flex flex-col items-center gap-2 min-w-[300px]">
<Badge className="!bg-transparent h-fit ml-4 text-sm !py-1 !px-4 text-transparent bg-clip-text bg-gradient-to-r from-[#99bbab] to-[#396f55] border-[#4d898c] dark:from-white dark:to-[#1a7a4ca1] dark:border-[#DFFFF1]">
New
</Badge>
<span className="text-black dark:text-white text-center">
Custom Domains
</span>
</div>
<SectionButtons
docs="/docs/guides/platform/custom-domains"
blog="/blog/custom-domain-names"
/>
</div>
<div className="flex flex-col items-center gap-2 min-w-[300px]">
<Badge className="!bg-transparent h-fit ml-4 text-sm !py-1 !px-4 text-transparent bg-clip-text bg-gradient-to-r from-[#99bbab] to-[#396f55] border-[#4d898c] dark:from-white dark:to-[#1a7a4ca1] dark:border-[#DFFFF1]">
New
</Badge>
<span className="text-black dark:text-white text-center">
{day5.steps[1].title}
</span>
<div
className={`min-h-[400px] relative group/day5step2 flex-1 flex flex-col items-center justify-between basis-1/2 lg:basis-1/3 border rounded-xl bg-no-repeat p-14 text-2xl overflow-hidden`}
>
<div className={`absolute top-0 right-0 w-full h-full -z-20`}>
<Image
src={
isDarkMode
? '/images/launchweek/PITR-visual.svg'
: '/images/launchweek/PITR-visual-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
priority
className="left-16"
/>
</div>
<div
className={`absolute top-0 right-0 w-full h-full -z-10 opacity-0 group-hover/day5step2:opacity-100 duration-500 transition-all`}
>
<Image
src={
isDarkMode
? '/images/launchweek/PITR-visual-hover.svg'
: '/images/launchweek/PITR-visual-hover-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
className="test"
/>
</div>
<div className="flex flex-col items-center gap-2 min-w-[300px]">
<Badge className="!bg-transparent h-fit ml-4 text-sm !py-1 !px-4 text-transparent bg-clip-text bg-gradient-to-r from-[#99bbab] to-[#396f55] border-[#4d898c] dark:from-white dark:to-[#1a7a4ca1] dark:border-[#DFFFF1]">
New
</Badge>
<span className="text-black dark:text-white text-center">
Point-in-time recovery
</span>
</div>
<SectionButtons
docs="/docs/guides/platform/going-into-prod"
blog="/blog/postgres-point-in-time-recovery"
/>
</div>
<div
className={`min-h-[400px] relative group/day5step2 flex-1 flex flex-col items-center justify-between basis-1/2 lg:basis-1/3 border rounded-xl bg-no-repeat p-14 text-2xl overflow-hidden`}
>
<div className={`absolute top-0 right-0 w-full h-full -z-20`}>
<Image
src={
isDarkMode
? '/images/launchweek/pg_crdt-visual.svg'
: '/images/launchweek/pg_crdt-visual-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
priority
className="left-16"
/>
</div>
<div
className={`absolute top-0 right-0 w-full h-full -z-10 opacity-0 group-hover/day5step2:opacity-100 duration-500 transition-all`}
>
<Image
src={
isDarkMode
? '/images/launchweek/pg_crdt-visual-hover.svg'
: '/images/launchweek/pg_crdt-visual-hover-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
className="test"
/>
</div>
<div className="flex flex-col items-center gap-2 min-w-[300px]">
<Badge className="!bg-transparent h-fit ml-4 text-sm !py-1 !px-4 text-transparent bg-clip-text bg-gradient-to-r from-[#99bbab] to-[#396f55] border-[#4d898c] dark:from-white dark:to-[#1a7a4ca1] dark:border-[#DFFFF1]">
Experimental
</Badge>
<span className="text-black dark:text-white text-center">
pg_crdt
</span>
</div>
<SectionButtons
docs="https://github.com/supabase/pg_crdt"
blog="/blog/postgres-crdt"
/>
</div>
<div
className={`min-h-[400px] relative group/day5step2 flex-1 flex flex-col items-center justify-between basis-1/2 lg:basis-1/3 border rounded-xl bg-no-repeat p-14 text-2xl overflow-hidden`}
>
<div className={`absolute top-0 right-0 w-full h-full -z-20`}>
<Image
src={
isDarkMode
? '/images/launchweek/postgres-visual.svg'
: '/images/launchweek/postgres-visual-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
priority
className="left-16"
/>
</div>
<div
className={`absolute top-0 right-0 w-full h-full -z-10 opacity-0 group-hover/day5step2:opacity-100 duration-500 transition-all`}
>
<Image
src={
isDarkMode
? '/images/launchweek/postgres-visual-hover.svg'
: '/images/launchweek/postgres-visual-hover-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
className="test"
/>
</div>
<div className="flex flex-col items-center gap-2 min-w-[300px]">
<Badge className="!bg-transparent h-fit ml-4 text-sm !py-1 !px-4 text-transparent bg-clip-text bg-gradient-to-r from-[#99bbab] to-[#396f55] border-[#4d898c] dark:from-white dark:to-[#1a7a4ca1] dark:border-[#DFFFF1]">
Upgrade
</Badge>
<span className="text-black dark:text-white text-center">
Postgres 15
</span>
</div>
<SectionButtons
docs="https://www.postgresql.org/docs/15/release-15.html"
blog="/blog/new-in-postgres-15"
/>
</div>
<div
className={`min-h-[400px] relative group/day5step2 flex-1 flex flex-col items-center justify-between basis-1/2 lg:basis-1/3 border rounded-xl bg-no-repeat p-14 text-2xl overflow-hidden`}
>
<div className={`absolute top-0 right-0 w-full h-full -z-20`}>
<Image
src={
isDarkMode
? '/images/launchweek/PostgREST11-visual.svg'
: '/images/launchweek/PostgREST11-visual-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
priority
className="left-16"
/>
</div>
<div
className={`absolute top-0 right-0 w-full h-full -z-10 opacity-0 group-hover/day5step2:opacity-100 duration-500 transition-all`}
>
<Image
src={
isDarkMode
? '/images/launchweek/PostgREST11-visual-hover.svg'
: '/images/launchweek/PostgREST11-visual-hover-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
className="test"
/>
</div>
<div className="flex flex-col items-center gap-2 min-w-[300px]">
<Badge className="!bg-transparent h-fit ml-4 text-sm !py-1 !px-4 text-transparent bg-clip-text bg-gradient-to-r from-[#99bbab] to-[#396f55] border-[#4d898c] dark:from-white dark:to-[#1a7a4ca1] dark:border-[#DFFFF1]">
Upgrade
</Badge>
<span className="text-black dark:text-white text-center">
PostgREST 11
</span>
</div>
<SectionButtons
docs="/docs/guides/resources/supabase-cli"
blog="/blog/postgrest-11-prerelease"
/>
</div>
<SectionButtons docs={day5.steps[1].docs} blog={day5.steps[1].blog} />
</div>
</div>
</>
)}
</Accordion.Item>
</div>
@@ -610,99 +1029,9 @@ export default function launchweek() {
</SectionContainer>
</>
)}
<SectionContainer className="!py-20 sm:!pb-40 sm:!pt-10">
<div className="h-[400px] flex flex-col gap-5 lg:flex-row group/community relative overflow-hidden">
<div
className={`relative flex flex-col items-center justify-between lg:items-start flex-1 basis-1/2 lg:basis-2/3 border rounded-xl h-full p-14 text-2xl bg-no-repeat bg-cover !px-3 sm:!px-14`}
>
<div
className={`absolute top-0 right-0 w-full h-full -z-20 ${styles.community_wrappers}`}
>
<Image
src={
isDarkMode
? '/images/launchweek/community-visual.svg'
: '/images/launchweek/community-visual-light.svg'
}
layout="fill"
objectFit="cover"
quality={100}
priority
className="left-16"
/>
</div>
<div
className={`absolute top-0 right-0 w-full h-full -z-10 opacity-0 group-hover/community:opacity-100 duration-500 transition-all ${styles.community_wrappers}`}
>
<Image
src={
isDarkMode
? '/images/launchweek/community-visual-hover.svg'
: '/images/launchweek/community-visual-light-hover.svg'
}
layout="fill"
objectFit="cover"
quality={100}
className="test"
/>
</div>
<div className="flex items-center flex-col-reverse lg:flex-row">
<span className="text-black dark:text-white">Community Day</span>
</div>
<div className="flex flex-col md:flex-row gap-4 md:gap-2 z-10 ">
<div className="flex gap-4 md:gap-2">
<a href={'/blog/launch-week-6-community-day'} target="_blank" rel="noopener">
<div className="flex items-center border border-slate-400 bg-gradient-to-r from-[#fcfcfc] to-[#f2f2f2] hover:to-[#d5d5d5] text-black dark:text-white dark:from-[#191919] dark:to-[#464444] dark:hover:to-[#4e4e4e] rounded-full text-sm py-2 pl-3 pr-2">
Blog post
<div className="bg-[#eeeeee] dark:bg-[#313131] rounded-full inline-block p-1 ml-2">
<img src="/images/launchweek/icons-blogpost.svg" className="w-4 h-4"></img>
</div>
</div>
</a>
<a
href={'https://www.youtube-nocookie.com/embed/TmViZsWEBY0'}
target="_blank"
rel="noopener"
>
<div className="flex items-center border border-slate-400 bg-gradient-to-r from-[#fcfcfc] to-[#f2f2f2] hover:to-[#d5d5d5] text-black dark:text-white dark:from-[#191919] dark:to-[#464444] dark:hover:to-[#4e4e4e] rounded-full text-sm py-2 pl-3 pr-2">
Flutterflow
<div className="bg-[#eeeeee] dark:bg-[#313131] rounded-full inline-block p-1 ml-2">
<img src="/images/launchweek/video-icon.svg" className="w-4 h-4"></img>
</div>
</div>
</a>
</div>
<div className="flex gap-4 md:gap-2">
<a
href={'https://www.youtube.com/watch?v=mw0DLwItue4'}
target="_blank"
rel="noopener"
>
<div className="flex items-center border border-slate-400 bg-gradient-to-r from-[#fcfcfc] to-[#f2f2f2] hover:to-[#d5d5d5] text-black dark:text-white dark:from-[#191919] dark:to-[#464444] dark:hover:to-[#4e4e4e] rounded-full text-sm py-2 pl-3 pr-2">
OneSignal
<div className="bg-[#eeeeee] dark:bg-[#313131] rounded-full inline-block p-1 ml-2">
<img src="/images/launchweek/video-icon.svg" className="w-4 h-4"></img>
</div>
</div>
</a>
<a
href={'https://www.youtube.com/watch?v=EdYQ9fF-hz4'}
target="_blank"
rel="noopener"
>
<div className="flex items-center border border-slate-400 bg-gradient-to-r from-[#fcfcfc] to-[#f2f2f2] hover:to-[#d5d5d5] text-black dark:text-white dark:from-[#191919] dark:to-[#464444] dark:hover:to-[#4e4e4e] rounded-full text-sm py-2 pl-3 pr-2">
NextAuth
<div className="bg-[#eeeeee] dark:bg-[#313131] rounded-full inline-block p-1 ml-2">
<img src="/images/launchweek/video-icon.svg" className="w-4 h-4"></img>
</div>
</div>
</a>
</div>
</div>
</div>
</div>
</SectionContainer>
<SectionContainer className="!py-20 sm:!pb-40 sm:!pt-10"></SectionContainer>
<SectionContainer className="!pt-0 sm:!pb-20 !pb-40"></SectionContainer>
<SectionContainer className="!pt-0 sm:!pb-20 !pb-40">
<div className="flex flex-col mb-16">
<Badge className="mb-4 w-fit bg-gradient-to-r from-[#0E3737C2] to-[#67947F] hover:to-[#39617D94] dark:hover:to-[#A6FFD899] text-whiteA-1200 dark:text-black font-normal !py-1 !px-4 dark:from-white dark:via-white dark:to-[#1a7a4c75] bg-slate-1200">
Binary file not shown.

After

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1002 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

@@ -0,0 +1,93 @@
<svg width="448" height="400" viewBox="0 0 448 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-17.9141" y="-2.69141" width="476.973" height="430.908" fill="white"/>
<path d="M-152.426 223.468C-127.612 219.483 -99.4041 215.842 -67.9502 213.136C29.3002 205.246 127.114 207.72 223.841 220.516" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-151.594 189.667C-126.509 187.945 -98.1048 186.838 -66.5279 186.986C31.0359 187.828 128.233 199.06 223.419 220.49" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-147.703 156.113C-122.594 156.63 -94.1896 158.081 -62.7602 161.033C34.3393 170.632 130.142 190.538 223.03 220.415" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-140.844 123.027C-115.735 125.782 -87.7237 129.767 -56.7124 135.548C39.1391 153.808 132.775 182.224 222.61 220.317" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-131.059 90.6797C-106.466 95.5995 -78.7255 102.167 -48.3537 110.703C45.4405 137.506 136.122 174.2 222.165 220.169" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-118.387 59.3398C-94.3106 66.5228 -67.3079 75.5014 -37.7968 86.7186C53.2494 121.807 140.305 166.484 221.901 219.996" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-102.969 29.2812C-79.6304 38.6043 -53.5376 49.9444 -25.1577 63.7199C62.3757 106.838 145.078 159.142 221.555 219.752" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-84.9219 0.720703C-62.518 12.0855 -37.5565 25.7133 -10.5292 42.0471C72.7829 92.8288 150.457 152.333 221.182 219.554" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-64.3828 -26.1172C-43.0856 -12.7845 -19.4521 3.03267 6.00122 21.7033C84.4373 79.7586 156.48 145.991 220.916 219.283" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-41.5352 -50.9863C-21.4922 -35.8087 0.616574 -17.9498 24.2993 2.93475C97.2186 67.79 163.03 140.224 220.622 219.013" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-16.5273 -73.7402C2.04007 -56.8161 22.4765 -37.0139 44.118 -14.1122C110.927 57.0252 169.986 135.065 220.299 218.693" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M10.3984 -94.209C27.3919 -75.6859 45.9593 -54.1372 65.5351 -29.3659C125.701 47.4664 177.53 130.479 220.149 218.273" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M39.0508 -112.041C54.3228 -92.0666 71.0212 -68.9435 88.236 -42.5242C141.248 39.4043 185.402 126.738 219.954 218.004" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M69.2031 -127.293C82.6061 -106.039 97.042 -81.5388 111.871 -53.6681C157.363 32.6804 193.538 123.627 219.784 217.635" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M100.68 -139.789C112.14 -117.429 124.313 -91.7226 136.585 -62.6219C174.147 27.4537 202.027 121.269 219.757 217.241" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M132.969 -149.432C142.486 -126.186 152.323 -99.4218 161.816 -69.3618C191.144 23.7264 210.501 119.668 219.559 216.848" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M166.074 -156.123C173.452 -132.065 180.83 -104.465 187.642 -73.7901C208.557 21.5588 219.274 118.862 219.612 216.479" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M199.668 -159.812C204.759 -135.213 209.653 -107.171 213.76 -75.8806C226.005 20.947 227.925 118.802 219.49 216.036" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M233.481 -160.477C236.359 -135.509 238.72 -107.17 239.999 -75.6099C243.512 21.9598 236.637 119.627 219.488 215.741" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M267.126 -158.166C267.741 -133.05 267.568 -104.589 266.019 -73.0534C260.795 24.3999 245.214 121.02 219.539 215.174" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M300.497 -152.756C298.85 -127.665 296.12 -99.3514 291.742 -68.086C277.797 28.4998 253.626 123.329 219.637 214.803" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M333.228 -144.414C329.342 -119.569 324.08 -91.6245 316.923 -60.7773C294.379 34.178 261.807 126.467 219.758 214.535" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M365.076 -133.172C359.002 -108.77 351.255 -81.3909 341.369 -51.4293C310.414 41.1299 269.697 130.13 219.906 214.068" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M395.792 -119.102C387.529 -95.3635 377.372 -68.7965 364.83 -39.8189C325.695 49.5858 277.172 134.577 220.078 213.723" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M425.152 -102.35C414.799 -79.4479 402.306 -53.8895 387.206 -26.0926C340.216 59.3894 284.273 139.632 220.32 213.281" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M452.872 -83.0391C440.576 -61.1459 425.82 -36.8175 408.261 -10.5457C353.797 70.4325 290.88 145.389 220.57 213.06" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M478.745 -61.3203C464.481 -40.6079 447.611 -17.7062 427.764 6.89282C366.263 82.6589 296.882 151.67 220.793 212.762" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M502.572 -37.3574C486.489 -18.0226 467.651 3.28019 445.739 26.0097C377.706 95.9563 302.431 158.469 221.184 212.495" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M524.142 -11.3574C506.41 6.45228 485.728 25.9839 461.873 46.6471C387.837 110.214 307.253 165.726 221.48 212.248" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M543.351 16.4902C524.07 32.6518 501.74 50.2401 476.115 68.6894C396.685 125.364 311.45 173.422 221.852 212.053" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M559.905 46.0059C539.296 60.3471 515.466 75.8691 488.291 91.9569C404.101 141.284 314.901 181.508 222.199 211.951" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M573.79 76.709C551.952 89.1561 526.843 102.489 498.34 116.067C410.067 157.654 317.619 189.723 222.559 211.733" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M584.883 108.637C562.011 119.067 535.697 130.087 506.186 141.058C414.543 174.552 319.598 198.202 222.953 211.608" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M593.046 141.428C569.339 149.767 542.238 158.401 511.891 166.666C417.612 191.808 320.928 206.849 223.469 211.535" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M598.239 174.809C573.892 181.008 546.127 187.108 515.042 192.667C418.851 209.251 321.169 215.559 223.645 211.486" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M600.431 208.533C575.617 212.518 547.409 216.159 515.955 218.84C418.705 226.74 320.891 224.266 224.164 211.46" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M599.571 242.31C574.511 244.056 546.082 245.163 514.53 245.016C416.959 244.16 319.755 232.929 224.559 211.512" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M595.702 275.885C570.569 275.368 542.189 273.917 510.759 270.965C413.66 261.376 317.857 241.479 224.969 211.607" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M588.842 308.973C563.856 306.218 535.697 302.208 504.686 296.427C408.836 278.175 315.2 249.767 225.363 211.684" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M579.036 341.319C554.444 336.4 526.728 329.807 496.331 321.271C402.536 294.483 311.853 257.796 225.812 211.83" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M566.389 372.634C542.289 365.451 515.311 356.497 485.8 345.28C394.758 310.181 307.703 265.504 226.102 212.002" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M550.973 402.693C527.635 393.37 501.542 382.03 473.162 368.254C385.625 325.142 302.922 272.837 226.449 212.223" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M532.926 431.278C510.497 419.914 485.56 406.261 458.533 389.952C375.212 339.172 297.53 279.668 226.797 212.445" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M512.385 458.114C491.063 444.781 467.429 428.964 441.976 410.293C363.539 352.239 291.503 285.998 227.086 212.689" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M489.515 482.983C469.571 467.806 447.437 449.922 423.706 429.038C350.788 364.19 284.976 291.764 227.383 212.984" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M464.652 505.713C446.06 488.788 425.649 469.011 403.933 446.085C337.076 374.958 277.975 296.917 227.629 213.279" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M437.598 526.132C420.604 507.609 402.037 486.06 382.461 461.289C322.296 384.457 270.466 301.444 227.848 213.65" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M408.95 544.015C393.678 524.065 377.102 500.942 359.764 474.523C306.732 392.595 262.553 305.261 227.973 213.994" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M378.795 559.289C365.392 538.035 350.957 513.51 336.127 485.639C290.632 399.301 254.457 308.362 228.215 214.361" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M347.421 571.788C335.961 549.403 323.788 523.697 311.516 494.621C273.954 404.545 246.073 310.73 228.344 214.758" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M315.034 581.43C305.64 558.11 295.803 531.42 286.187 501.336C256.899 408.252 237.583 312.318 228.566 215.15" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M281.933 588.12C274.555 564.038 267.177 536.585 260.365 505.763C239.448 410.414 228.731 313.111 228.395 215.494" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M248.238 591.812C243.147 567.212 238.253 539.17 234.146 507.855C221.95 411.03 220.079 313.183 228.563 215.963" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M214.574 592.475C211.696 567.507 209.336 539.144 208.057 507.608C204.55 410.071 211.426 312.438 228.567 216.355" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M180.852 590.114C180.237 564.974 180.434 536.537 181.983 505.001C187.256 407.538 202.87 310.912 228.561 216.75" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M147.406 584.729C149.054 559.638 151.784 531.324 156.161 500.059C170.091 403.47 194.263 308.639 228.267 217.17" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M114.773 576.389C118.659 551.568 123.897 523.599 131.078 492.752C153.616 397.794 186.187 305.504 228.244 217.439" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M82.9219 565.047C88.9962 540.67 96.7429 513.389 106.629 483.305C137.584 390.753 178.301 301.761 228.092 217.832" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M52.1836 551.1C60.4467 527.362 70.6035 500.795 83.1457 471.817C122.265 382.382 170.789 297.364 227.898 218.201" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M22.8398 534.346C33.1933 511.444 45.6864 485.886 60.7862 458.089C107.77 372.558 163.713 292.267 227.672 218.568" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-4.86719 515.036C7.42912 493.143 22.1847 468.814 39.7438 442.543C94.2077 361.564 157.125 286.608 227.435 218.938" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-30.7383 493.315C-16.4746 472.603 0.395961 449.701 20.1684 425.102C81.6772 349.334 151.066 280.323 227.164 219.232" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-54.5703 469.358C-38.4867 450.023 -19.6488 428.721 2.26321 405.991C70.3036 336.043 145.587 273.53 226.843 219.506" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-76.1406 443.355C-58.4094 425.545 -37.7516 406.014 -13.8722 385.351C60.1577 321.775 140.743 266.262 226.521 219.75" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-95.3242 415.534C-76.0682 399.373 -53.7135 381.784 -28.088 363.335C51.3193 306.659 136.528 258.593 226.101 219.947" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-111.922 386.092C-91.2887 371.726 -67.4584 356.204 -40.2836 340.141C43.9048 290.81 133.105 250.585 225.808 220.146" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-125.793 355.294C-103.979 342.847 -78.8457 329.515 -50.3429 315.936C37.9346 274.366 130.382 242.306 225.439 220.295" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-136.883 323.362C-114.012 312.908 -87.6976 301.912 -58.1865 290.941C33.4562 257.444 128.402 233.794 225.047 220.391" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-145.047 290.572C-121.34 282.233 -94.2385 273.599 -63.7683 265.334C30.5103 240.192 127.195 225.151 224.654 220.465" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-150.16 257.191C-125.813 250.992 -98.0484 244.892 -66.9634 239.332C29.1863 222.745 126.827 216.436 224.311 220.514" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<rect x="-0.0546875" y="-1.09766" width="448.055" height="402.196" fill="url(#paint0_radial_1208_54618)"/>
<g filter="url(#filter0_f_1208_54618)">
<ellipse cx="222.82" cy="-113.582" rx="349" ry="159" fill="url(#paint1_linear_1208_54618)"/>
</g>
<defs>
<filter id="filter0_f_1208_54618" x="-261.057" y="-407.459" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1208_54618"/>
</filter>
<radialGradient id="paint0_radial_1208_54618" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(231.088 218.979) rotate(90) scale(525.744 525.744)">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="1" stop-color="white"/>
</radialGradient>
<linearGradient id="paint1_linear_1208_54618" x1="56.1093" y1="-410.907" x2="215.69" y2="125.046" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,93 @@
<svg width="449" height="401" viewBox="0 0 449 401" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-17.4375" y="-2.01172" width="476.973" height="430.908" fill="#131313"/>
<path d="M-151.945 224.147C-127.131 220.162 -98.9237 216.522 -67.4697 213.816C29.7807 205.926 127.594 208.4 224.322 221.195" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-151.113 190.347C-126.029 188.625 -97.6244 187.518 -66.0475 187.666C31.5164 188.508 128.713 199.739 223.899 221.169" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-147.223 156.793C-122.114 157.31 -93.7091 158.761 -62.2798 161.713C34.8198 171.312 130.623 191.218 223.511 221.095" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-140.363 123.707C-115.254 126.462 -87.2433 130.447 -56.232 136.228C39.6196 154.488 133.255 182.904 223.091 220.996" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-130.578 91.3594C-105.986 96.2792 -78.2451 102.847 -47.8732 111.383C45.921 138.186 136.603 174.88 222.645 220.849" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-117.906 60.0195C-93.8301 67.2024 -66.8274 76.1811 -37.3163 87.3983C53.7299 122.487 140.786 167.164 222.382 220.676" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-102.488 29.9609C-79.1499 39.284 -53.0571 50.6241 -24.6773 64.3996C62.8562 107.518 145.559 159.822 222.036 220.431" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-84.4414 1.40039C-62.0375 12.7651 -37.076 26.393 -10.0488 42.7268C73.2634 93.5085 150.938 153.012 221.663 220.233" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-63.9023 -25.4375C-42.6051 -12.1048 -18.9717 3.71236 6.48169 22.383C84.9178 80.4383 156.961 146.67 221.396 219.962" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-41.0547 -50.3066C-21.0117 -35.129 1.09704 -17.2701 24.7797 3.61444C97.6991 68.4697 163.511 140.904 221.102 219.692" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-16.0469 -73.0605C2.52054 -56.1364 22.957 -36.3342 44.5985 -13.4325C111.408 57.7049 170.467 135.745 220.78 219.373" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M10.8789 -93.5293C27.8724 -75.0062 46.4398 -53.4575 66.0155 -28.6862C126.181 48.1461 178.01 131.159 220.629 218.952" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M39.5312 -111.361C54.8033 -91.3869 71.5016 -68.2638 88.7165 -41.8445C141.728 40.084 185.883 127.418 220.434 218.684" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M69.6836 -126.613C83.0866 -105.36 97.5224 -80.8591 112.352 -52.9884C157.844 33.36 194.018 124.307 220.264 218.314" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M101.16 -139.109C112.62 -116.749 124.794 -91.0429 137.065 -61.9422C174.627 28.1334 202.508 121.948 220.238 217.921" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M133.449 -148.752C142.967 -125.506 152.804 -98.7421 162.296 -68.6821C191.625 24.4061 210.981 120.348 220.04 217.528" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M166.555 -155.443C173.932 -131.386 181.31 -103.785 188.122 -73.1104C209.037 22.2385 219.754 119.542 220.093 217.158" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M200.148 -159.133C205.239 -134.534 210.133 -106.491 214.24 -75.2009C226.485 21.6267 228.406 119.482 219.97 216.716" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M233.962 -159.797C236.839 -134.829 239.2 -106.491 240.479 -74.9302C243.992 22.6395 237.117 120.306 219.969 216.421" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M267.606 -157.486C268.221 -132.371 268.049 -103.91 266.5 -72.3737C261.276 25.0796 245.694 121.7 220.02 215.853" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M300.978 -152.076C299.33 -126.985 296.6 -98.6717 292.223 -67.4063C278.278 29.1795 254.107 124.009 220.117 215.483" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M333.709 -143.734C329.823 -118.889 324.56 -90.9448 317.404 -60.0977C294.859 34.8576 262.288 127.147 220.238 215.215" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M365.557 -132.492C359.483 -108.09 351.736 -80.7112 341.85 -50.7496C310.894 41.8096 270.177 130.81 220.387 214.748" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M396.273 -118.422C388.01 -94.6838 377.853 -68.1168 365.311 -39.1392C326.176 50.2654 277.652 135.257 220.559 214.403" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M425.633 -101.67C415.279 -78.7682 402.786 -53.2098 387.686 -25.4129C340.697 60.0691 284.754 140.311 220.801 213.96" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M453.353 -82.3594C441.056 -60.4662 426.301 -36.1378 408.742 -9.86603C354.278 71.1122 291.36 146.069 221.051 213.739" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M479.225 -60.6406C464.962 -39.9282 448.091 -17.0265 428.245 7.5725C366.743 83.3386 297.363 152.35 221.273 213.442" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M503.053 -36.6777C486.969 -17.3429 468.131 3.95987 446.219 26.6894C378.187 96.636 302.912 159.149 221.664 213.175" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M524.622 -10.6777C506.891 7.13196 486.208 26.6636 462.354 47.3268C388.317 110.894 307.733 166.406 221.961 212.927" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M543.831 17.1699C524.551 33.3315 502.22 50.9198 476.595 69.3691C397.165 126.044 311.931 174.102 222.332 212.732" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M560.385 46.6855C539.777 61.0268 515.946 76.5488 488.772 92.6365C404.581 141.963 315.381 182.188 222.68 212.631" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M574.271 77.3887C552.432 89.8358 527.323 103.168 498.821 116.747C410.547 158.334 318.099 190.403 223.039 212.413" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M585.363 109.316C562.492 119.746 536.178 130.767 506.667 141.738C415.023 175.232 320.078 198.882 223.434 212.288" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M593.527 142.107C569.82 150.446 542.719 159.081 512.371 167.346C418.093 192.488 321.408 207.528 223.949 212.215" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M598.72 175.488C574.373 181.687 546.608 187.788 515.523 193.347C419.331 209.93 321.65 216.238 224.125 212.165" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M600.911 209.213C576.097 213.198 547.89 216.839 516.436 219.52C419.186 227.42 321.371 224.946 224.645 212.14" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M600.052 242.989C574.992 244.736 546.563 245.843 515.011 245.695C417.439 244.84 320.236 233.609 225.039 212.191" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M596.183 276.564C571.049 276.048 542.669 274.596 511.24 271.645C414.141 262.056 318.338 242.158 225.449 212.287" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M589.323 309.652C564.336 306.897 536.178 302.888 505.167 297.107C409.316 278.854 315.681 250.446 225.844 212.363" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M579.517 341.999C554.924 337.079 527.208 330.487 496.812 321.951C403.016 295.162 312.334 258.476 226.293 212.51" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M566.87 373.313C542.769 366.13 515.791 357.176 486.28 345.959C395.238 310.861 308.184 266.184 226.582 212.682" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M551.454 403.373C528.115 394.05 502.023 382.709 473.643 368.934C386.106 325.822 303.403 273.517 226.93 212.902" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M533.406 431.958C510.978 420.593 486.041 406.941 459.014 390.632C375.693 339.851 298.01 280.348 227.277 213.125" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M512.865 458.794C491.543 445.461 467.91 429.644 442.457 410.973C364.02 352.919 291.984 286.678 227.566 213.369" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M489.996 483.663C470.051 468.485 447.918 450.602 424.186 429.717C351.268 364.869 285.457 292.444 227.863 213.664" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M465.133 506.392C446.541 489.468 426.129 469.69 404.414 446.764C337.556 375.638 278.455 297.596 228.109 213.959" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M438.078 526.812C421.085 508.289 402.518 486.74 382.942 461.969C322.776 385.136 270.947 302.124 228.328 214.33" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M409.43 544.695C394.158 524.745 377.583 501.622 360.245 475.202C307.212 393.274 263.034 305.941 228.453 214.674" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M379.276 559.969C365.873 538.715 351.437 514.19 336.608 486.319C291.112 399.981 254.938 309.042 228.695 215.041" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M347.902 572.468C336.441 550.083 324.268 524.377 311.996 495.301C274.435 405.225 246.554 311.41 228.824 215.438" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M315.514 582.11C306.12 558.79 296.283 532.1 286.667 502.015C257.379 408.931 238.064 312.998 229.047 215.83" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M282.413 588.8C275.035 564.718 267.658 537.265 260.845 506.442C239.928 411.094 229.211 313.79 228.875 216.174" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M248.718 592.491C243.627 567.892 238.733 539.849 234.626 508.535C222.431 411.71 220.559 313.863 229.044 216.643" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M215.054 593.154C212.177 568.186 209.816 539.824 208.537 508.288C205.031 410.751 211.906 313.117 229.047 217.035" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M181.332 590.794C180.717 565.654 180.914 537.217 182.463 505.681C187.736 408.218 203.35 311.592 229.042 217.43" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M147.887 585.408C149.534 560.317 152.264 532.004 156.642 500.738C170.572 404.15 194.743 309.319 228.747 217.85" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M115.254 577.068C119.14 552.248 124.378 524.279 131.559 493.431C154.096 398.474 186.668 306.184 228.724 218.119" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M83.4023 565.727C89.4767 541.349 97.2234 514.069 107.11 483.984C138.064 391.433 178.781 302.441 228.573 218.512" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M52.6641 551.78C60.9272 528.042 71.0839 501.475 83.6262 472.497C122.746 383.061 171.27 298.044 228.378 218.881" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M23.3203 535.026C33.6738 512.124 46.1668 486.566 61.2667 458.769C108.251 373.238 164.194 292.946 228.152 219.248" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-4.38672 515.716C7.90958 493.823 22.6651 469.494 40.2243 443.222C94.6882 362.244 157.605 287.288 227.915 219.617" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-30.2578 493.995C-15.9941 473.282 0.87643 450.38 20.6489 425.781C82.1577 350.014 151.546 281.003 227.645 219.912" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-54.0898 470.038C-38.0063 450.703 -19.1683 429.4 2.74368 406.671C70.784 336.723 146.067 274.21 227.323 220.186" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-75.6602 444.035C-57.9289 426.225 -37.2711 406.694 -13.3917 386.03C60.6382 322.455 141.223 266.942 227.001 220.43" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-94.8438 416.214C-75.5877 400.052 -53.2331 382.464 -27.6076 364.015C51.7997 307.339 137.009 259.273 226.582 220.627" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-111.441 386.771C-90.8082 372.405 -66.978 356.883 -39.8031 340.82C44.3852 291.489 133.585 251.265 226.289 220.826" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-125.312 355.974C-103.499 343.527 -78.3652 330.194 -49.8624 316.616C38.415 275.046 130.862 242.985 225.919 220.975" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-136.402 324.042C-113.531 313.587 -87.2171 302.592 -57.706 291.62C33.9367 258.124 128.882 234.474 225.527 221.07" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-144.566 291.252C-120.859 282.913 -93.7581 274.278 -63.2878 266.013C30.9908 240.872 127.675 225.831 225.134 221.145" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-149.68 257.871C-125.333 251.672 -97.5679 245.571 -66.4829 240.012C29.6667 223.424 127.308 217.116 224.792 221.194" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<rect x="0.425781" y="-0.417969" width="448.055" height="402.196" fill="url(#paint0_radial_1116_117255)"/>
<g filter="url(#filter0_f_1116_117255)">
<ellipse cx="223.301" cy="-112.902" rx="349" ry="159" fill="url(#paint1_linear_1116_117255)"/>
</g>
<defs>
<filter id="filter0_f_1116_117255" x="-260.576" y="-406.779" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1116_117255"/>
</filter>
<radialGradient id="paint0_radial_1116_117255" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(231.569 219.659) rotate(90) scale(525.744 525.744)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="1" stop-color="#121212"/>
</radialGradient>
<linearGradient id="paint1_linear_1116_117255" x1="56.5898" y1="-410.228" x2="216.171" y2="125.725" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,93 @@
<svg width="448" height="400" viewBox="0 0 448 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-11.4883" y="-16.6172" width="476.973" height="430.908" fill="white"/>
<path d="M-152.426 223.468C-127.612 219.483 -99.4041 215.842 -67.9502 213.136C29.3002 205.246 127.114 207.72 223.841 220.516" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-151.594 189.667C-126.509 187.945 -98.1048 186.838 -66.5279 186.986C31.0359 187.828 128.233 199.06 223.419 220.49" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-147.703 156.113C-122.594 156.63 -94.1896 158.081 -62.7602 161.033C34.3393 170.632 130.142 190.538 223.03 220.415" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-140.844 123.027C-115.735 125.782 -87.7237 129.767 -56.7124 135.548C39.1391 153.808 132.775 182.224 222.61 220.317" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-131.059 90.6797C-106.466 95.5995 -78.7255 102.167 -48.3537 110.703C45.4405 137.506 136.122 174.2 222.165 220.169" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-118.387 59.3398C-94.3106 66.5228 -67.3079 75.5014 -37.7968 86.7186C53.2494 121.807 140.305 166.484 221.901 219.996" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-102.969 29.2812C-79.6304 38.6043 -53.5376 49.9444 -25.1577 63.7199C62.3757 106.838 145.078 159.142 221.555 219.752" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-84.9219 0.720703C-62.518 12.0855 -37.5565 25.7133 -10.5292 42.0471C72.7829 92.8288 150.457 152.333 221.182 219.554" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-64.3828 -26.1172C-43.0856 -12.7845 -19.4521 3.03267 6.00122 21.7033C84.4373 79.7586 156.48 145.991 220.916 219.283" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-41.5352 -50.9863C-21.4922 -35.8087 0.616574 -17.9498 24.2993 2.93475C97.2186 67.79 163.03 140.224 220.622 219.013" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-16.5273 -73.7402C2.04007 -56.8161 22.4765 -37.0139 44.118 -14.1122C110.927 57.0252 169.986 135.065 220.299 218.693" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M10.3984 -94.209C27.3919 -75.6859 45.9593 -54.1372 65.5351 -29.3659C125.701 47.4664 177.53 130.479 220.149 218.273" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M39.0508 -112.041C54.3228 -92.0666 71.0212 -68.9435 88.236 -42.5242C141.248 39.4043 185.402 126.738 219.954 218.004" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M69.2031 -127.293C82.6061 -106.039 97.042 -81.5388 111.871 -53.6681C157.363 32.6804 193.538 123.627 219.784 217.635" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M100.68 -139.789C112.14 -117.429 124.313 -91.7226 136.585 -62.6219C174.147 27.4537 202.027 121.269 219.757 217.241" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M132.969 -149.432C142.486 -126.186 152.323 -99.4218 161.816 -69.3618C191.144 23.7264 210.501 119.668 219.559 216.848" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M166.074 -156.123C173.452 -132.065 180.83 -104.465 187.642 -73.7901C208.557 21.5588 219.274 118.862 219.612 216.479" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M199.668 -159.812C204.759 -135.213 209.653 -107.171 213.76 -75.8806C226.005 20.947 227.925 118.802 219.49 216.036" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M233.481 -160.477C236.359 -135.509 238.72 -107.17 239.999 -75.6099C243.512 21.9598 236.637 119.627 219.488 215.741" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M267.126 -158.166C267.741 -133.05 267.568 -104.589 266.019 -73.0534C260.795 24.3999 245.214 121.02 219.539 215.174" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M300.497 -152.756C298.85 -127.665 296.12 -99.3514 291.742 -68.086C277.797 28.4998 253.626 123.329 219.637 214.803" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M333.228 -144.414C329.342 -119.569 324.08 -91.6245 316.923 -60.7773C294.379 34.178 261.807 126.467 219.758 214.535" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M365.076 -133.172C359.002 -108.77 351.255 -81.3909 341.369 -51.4293C310.414 41.1299 269.697 130.13 219.906 214.068" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M395.792 -119.102C387.529 -95.3635 377.372 -68.7965 364.83 -39.8189C325.695 49.5858 277.172 134.577 220.078 213.723" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M425.152 -102.35C414.799 -79.4479 402.306 -53.8895 387.206 -26.0926C340.216 59.3894 284.273 139.632 220.32 213.281" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M452.872 -83.0391C440.576 -61.1459 425.82 -36.8175 408.261 -10.5457C353.797 70.4325 290.88 145.389 220.57 213.06" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M478.745 -61.3203C464.481 -40.6079 447.611 -17.7062 427.764 6.89282C366.263 82.6589 296.882 151.67 220.793 212.762" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M502.572 -37.3574C486.489 -18.0226 467.651 3.28019 445.739 26.0097C377.706 95.9563 302.431 158.469 221.184 212.495" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M524.142 -11.3574C506.41 6.45228 485.728 25.9839 461.873 46.6471C387.837 110.214 307.253 165.726 221.48 212.248" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M543.351 16.4902C524.07 32.6518 501.74 50.2401 476.115 68.6894C396.685 125.364 311.45 173.422 221.852 212.053" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M559.905 46.0059C539.296 60.3471 515.466 75.8691 488.291 91.9569C404.101 141.284 314.901 181.508 222.199 211.951" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M573.79 76.709C551.952 89.1561 526.843 102.489 498.34 116.067C410.067 157.654 317.619 189.723 222.559 211.733" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M584.883 108.637C562.011 119.067 535.697 130.087 506.186 141.058C414.543 174.552 319.598 198.202 222.953 211.608" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M593.046 141.428C569.339 149.767 542.238 158.401 511.891 166.666C417.612 191.808 320.928 206.849 223.469 211.535" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M598.239 174.809C573.892 181.008 546.127 187.108 515.042 192.667C418.851 209.251 321.169 215.559 223.645 211.486" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M600.431 208.533C575.617 212.518 547.409 216.159 515.955 218.84C418.705 226.74 320.891 224.266 224.164 211.46" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M599.571 242.31C574.511 244.056 546.082 245.163 514.53 245.016C416.959 244.16 319.755 232.929 224.559 211.512" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M595.702 275.885C570.569 275.368 542.189 273.917 510.759 270.965C413.66 261.376 317.857 241.479 224.969 211.607" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M588.842 308.973C563.856 306.218 535.697 302.208 504.686 296.427C408.836 278.175 315.2 249.767 225.363 211.684" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M579.036 341.319C554.444 336.4 526.728 329.807 496.331 321.271C402.536 294.483 311.853 257.796 225.812 211.83" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M566.389 372.634C542.289 365.451 515.311 356.497 485.8 345.28C394.758 310.181 307.703 265.504 226.102 212.002" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M550.973 402.693C527.635 393.37 501.542 382.03 473.162 368.254C385.625 325.142 302.922 272.837 226.449 212.223" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M532.926 431.278C510.497 419.914 485.56 406.261 458.533 389.952C375.212 339.172 297.53 279.668 226.797 212.445" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M512.385 458.114C491.063 444.781 467.429 428.964 441.976 410.293C363.539 352.239 291.503 285.998 227.086 212.689" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M489.515 482.983C469.571 467.806 447.437 449.922 423.706 429.038C350.788 364.19 284.976 291.764 227.383 212.984" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M464.652 505.713C446.06 488.788 425.649 469.011 403.933 446.085C337.076 374.958 277.975 296.917 227.629 213.279" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M437.598 526.132C420.604 507.609 402.037 486.06 382.461 461.289C322.296 384.457 270.466 301.444 227.848 213.65" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M408.95 544.015C393.678 524.065 377.102 500.942 359.764 474.523C306.732 392.595 262.553 305.261 227.973 213.994" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M378.795 559.289C365.392 538.035 350.957 513.51 336.127 485.639C290.632 399.301 254.457 308.362 228.215 214.361" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M347.421 571.788C335.961 549.403 323.788 523.697 311.516 494.621C273.954 404.545 246.073 310.73 228.344 214.758" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M315.034 581.43C305.64 558.11 295.803 531.42 286.187 501.336C256.899 408.252 237.583 312.318 228.566 215.15" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M281.933 588.12C274.555 564.038 267.177 536.585 260.365 505.763C239.448 410.414 228.731 313.111 228.395 215.494" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M248.238 591.812C243.147 567.212 238.253 539.17 234.146 507.855C221.95 411.03 220.079 313.183 228.563 215.963" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M214.574 592.475C211.696 567.507 209.336 539.144 208.057 507.608C204.55 410.071 211.426 312.438 228.567 216.355" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M180.852 590.114C180.237 564.974 180.434 536.537 181.983 505.001C187.256 407.538 202.87 310.912 228.561 216.75" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M147.406 584.729C149.054 559.638 151.784 531.324 156.161 500.059C170.091 403.47 194.263 308.639 228.267 217.17" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M114.773 576.389C118.659 551.568 123.897 523.599 131.078 492.752C153.616 397.794 186.187 305.504 228.244 217.439" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M82.9219 565.047C88.9962 540.67 96.7429 513.389 106.629 483.305C137.584 390.753 178.301 301.761 228.092 217.832" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M52.1836 551.1C60.4467 527.362 70.6035 500.795 83.1457 471.817C122.265 382.382 170.789 297.364 227.898 218.201" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M22.8398 534.346C33.1933 511.444 45.6864 485.886 60.7862 458.089C107.77 372.558 163.713 292.267 227.672 218.568" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-4.86719 515.036C7.42912 493.143 22.1847 468.814 39.7438 442.543C94.2077 361.564 157.125 286.608 227.435 218.938" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-30.7383 493.315C-16.4746 472.603 0.395961 449.701 20.1684 425.102C81.6772 349.334 151.066 280.323 227.164 219.232" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-54.5703 469.358C-38.4867 450.023 -19.6488 428.721 2.26321 405.991C70.3036 336.043 145.587 273.53 226.843 219.506" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-76.1406 443.355C-58.4094 425.545 -37.7516 406.014 -13.8722 385.351C60.1577 321.775 140.743 266.262 226.521 219.75" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-95.3242 415.534C-76.0682 399.373 -53.7135 381.784 -28.088 363.335C51.3193 306.659 136.528 258.593 226.101 219.947" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-111.922 386.092C-91.2887 371.726 -67.4584 356.204 -40.2836 340.141C43.9048 290.81 133.105 250.585 225.808 220.146" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-125.793 355.294C-103.979 342.847 -78.8457 329.515 -50.3429 315.936C37.9346 274.366 130.382 242.306 225.439 220.295" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-136.883 323.362C-114.012 312.908 -87.6976 301.912 -58.1865 290.941C33.4562 257.444 128.402 233.794 225.047 220.391" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-145.047 290.572C-121.34 282.233 -94.2385 273.599 -63.7683 265.334C30.5103 240.192 127.195 225.151 224.654 220.465" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-150.16 257.191C-125.813 250.992 -98.0484 244.892 -66.9634 239.332C29.1863 222.745 126.827 216.436 224.311 220.514" stroke="#6AA99B" stroke-width="0.5" stroke-miterlimit="10"/>
<rect x="-0.0546875" y="-1.09766" width="448.055" height="402.196" fill="url(#paint0_radial_1208_57531)"/>
<g filter="url(#filter0_f_1208_57531)">
<ellipse cx="222.836" cy="-137.582" rx="349" ry="159" fill="url(#paint1_linear_1208_57531)"/>
</g>
<defs>
<filter id="filter0_f_1208_57531" x="-261.041" y="-431.459" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1208_57531"/>
</filter>
<radialGradient id="paint0_radial_1208_57531" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(231.088 218.979) rotate(90) scale(221.729 221.729)">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="1" stop-color="white"/>
</radialGradient>
<linearGradient id="paint1_linear_1208_57531" x1="56.125" y1="-434.907" x2="215.706" y2="101.046" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,93 @@
<svg width="449" height="401" viewBox="0 0 449 401" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-11.0234" y="-15.9375" width="476.973" height="430.908" fill="#131313"/>
<path d="M-151.961 224.147C-127.147 220.162 -98.9393 216.522 -67.4853 213.816C29.765 205.926 127.578 208.4 224.306 221.195" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-151.129 190.347C-126.044 188.625 -97.64 187.518 -66.0631 187.666C31.5008 188.508 128.698 199.739 223.884 221.169" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-147.238 156.793C-122.129 157.31 -93.7248 158.761 -62.2954 161.713C34.8041 171.312 130.607 191.218 223.495 221.095" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-140.379 123.707C-115.27 126.462 -87.2589 130.447 -56.2476 136.228C39.604 154.488 133.239 182.904 223.075 220.996" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-130.594 91.3594C-106.001 96.2792 -78.2607 102.847 -47.8888 111.383C45.9053 138.186 136.587 174.88 222.63 220.849" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-117.922 60.0195C-93.8457 67.2024 -66.843 76.1811 -37.3319 87.3983C53.7142 122.487 140.77 167.164 222.366 220.676" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-102.504 29.9609C-79.1655 39.284 -53.0728 50.6241 -24.6929 64.3996C62.8406 107.518 145.543 159.822 222.02 220.431" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-84.457 1.40039C-62.0532 12.7651 -37.0917 26.393 -10.0644 42.7268C73.2477 93.5085 150.922 153.012 221.647 220.233" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-63.918 -25.4375C-42.6208 -12.1048 -18.9873 3.71236 6.46606 22.383C84.9021 80.4383 156.945 146.67 221.381 219.962" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-41.0703 -50.3066C-21.0273 -35.129 1.08142 -17.2701 24.7641 3.61444C97.6834 68.4697 163.495 140.904 221.087 219.692" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-16.0625 -73.0605C2.50492 -56.1364 22.9414 -36.3342 44.5829 -13.4325C111.392 57.7049 170.451 135.745 220.764 219.373" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M10.8633 -93.5293C27.8568 -75.0062 46.4242 -53.4575 65.9999 -28.6862C126.166 48.1461 177.995 131.159 220.614 218.952" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M39.5156 -111.361C54.7876 -91.3869 71.486 -68.2638 88.7008 -41.8445C141.713 40.084 185.867 127.418 220.419 218.684" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M69.668 -126.613C83.0709 -105.36 97.5068 -80.8591 112.336 -52.9884C157.828 33.36 194.003 124.307 220.249 218.314" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M101.145 -139.109C112.605 -116.749 124.778 -91.0429 137.05 -61.9422C174.611 28.1334 202.492 121.948 220.222 217.921" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M133.434 -148.752C142.951 -125.506 152.788 -98.7421 162.281 -68.6821C191.609 24.4061 210.965 120.348 220.024 217.528" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M166.539 -155.443C173.917 -131.386 181.295 -103.785 188.107 -73.1104C209.021 22.2385 219.739 119.542 220.077 217.158" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M200.133 -159.133C205.223 -134.534 210.117 -106.491 214.224 -75.2009C226.469 21.6267 228.39 119.482 219.954 216.716" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M233.946 -159.797C236.824 -134.829 239.185 -106.491 240.463 -74.9302C243.977 22.6395 237.101 120.306 219.953 216.421" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M267.591 -157.486C268.205 -132.371 268.033 -103.91 266.484 -72.3737C261.26 25.0796 245.679 121.7 220.004 215.853" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M300.962 -152.076C299.314 -126.985 296.585 -98.6717 292.207 -67.4063C278.262 29.1795 254.091 124.009 220.102 215.483" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M333.693 -143.734C329.807 -118.889 324.544 -90.9448 317.388 -60.0977C294.844 34.8576 262.272 127.147 220.223 215.215" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M365.541 -132.492C359.467 -108.09 351.72 -80.7112 341.834 -50.7496C310.879 41.8096 270.162 130.81 220.371 214.748" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M396.257 -118.422C387.994 -94.6838 377.837 -68.1168 365.295 -39.1392C326.16 50.2654 277.637 135.257 220.543 214.403" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M425.617 -101.67C415.264 -78.7682 402.77 -53.2098 387.671 -25.4129C340.681 60.0691 284.738 140.311 220.785 213.96" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M453.337 -82.3594C441.041 -60.4662 426.285 -36.1378 408.726 -9.86603C354.262 71.1122 291.345 146.069 221.035 213.739" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M479.21 -60.6406C464.946 -39.9282 448.075 -17.0265 428.229 7.5725C366.728 83.3386 297.347 152.35 221.258 213.442" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M503.037 -36.6777C486.954 -17.3429 468.116 3.95987 446.204 26.6894C378.171 96.636 302.896 159.149 221.648 213.175" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M524.607 -10.6777C506.875 7.13196 486.193 26.6636 462.338 47.3268C388.302 110.894 307.718 166.406 221.945 212.927" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M543.816 17.1699C524.535 33.3315 502.205 50.9198 476.579 69.3691C397.149 126.044 311.915 174.102 222.316 212.732" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M560.37 46.6855C539.761 61.0268 515.931 76.5488 488.756 92.6365C404.565 141.963 315.366 182.188 222.664 212.631" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M574.255 77.3887C552.417 89.8358 527.308 103.168 498.805 116.747C410.532 158.334 318.084 190.403 223.023 212.413" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M585.347 109.316C562.476 119.746 536.162 130.767 506.651 141.738C415.007 175.232 320.062 198.882 223.418 212.288" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M593.511 142.107C569.804 150.446 542.703 159.081 512.356 167.346C418.077 192.488 321.393 207.528 223.934 212.215" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M598.704 175.488C574.357 181.687 546.592 187.788 515.507 193.347C419.316 209.93 321.634 216.238 224.109 212.165" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M600.896 209.213C576.082 213.198 547.874 216.839 516.42 219.52C419.17 227.42 321.356 224.946 224.629 212.14" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M600.036 242.989C574.976 244.736 546.547 245.843 514.995 245.695C417.424 244.84 320.22 233.609 225.023 212.191" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M596.167 276.564C571.034 276.048 542.654 274.596 511.224 271.645C414.125 262.056 318.322 242.158 225.434 212.287" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M589.307 309.652C564.321 306.897 536.162 302.888 505.151 297.107C409.301 278.854 315.665 250.446 225.828 212.363" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M579.501 341.999C554.908 337.079 527.192 330.487 496.796 321.951C403.001 295.162 312.318 258.476 226.277 212.51" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M566.854 373.313C542.754 366.13 515.775 357.176 486.264 345.959C395.223 310.861 308.168 266.184 226.566 212.682" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M551.438 403.373C528.1 394.05 502.007 382.709 473.627 368.934C386.09 325.822 303.387 273.517 226.914 212.902" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M533.391 431.958C510.962 420.593 486.025 406.941 458.998 390.632C375.677 339.851 297.995 280.348 227.262 213.125" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M512.85 458.794C491.528 445.461 467.894 429.644 442.441 410.973C364.004 352.919 291.968 286.678 227.551 213.369" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M489.98 483.663C470.036 468.485 447.902 450.602 424.17 429.717C351.253 364.869 285.441 292.444 227.848 213.664" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M465.117 506.392C446.525 489.468 426.113 469.69 404.398 446.764C337.541 375.638 278.44 297.596 228.094 213.959" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M438.063 526.812C421.069 508.289 402.502 486.74 382.926 461.969C322.76 385.136 270.931 302.124 228.312 214.33" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M409.415 544.695C394.143 524.745 377.567 501.622 360.229 475.202C307.197 393.274 263.018 305.941 228.438 214.674" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M379.26 559.969C365.857 538.715 351.421 514.19 336.592 486.319C291.097 399.981 254.922 309.042 228.68 215.041" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M347.886 572.468C336.426 550.083 324.252 524.377 311.981 495.301C274.419 405.225 246.538 311.41 228.809 215.438" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M315.499 582.11C306.104 558.79 296.267 532.1 286.652 502.015C257.363 408.931 238.048 312.998 229.031 215.83" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M282.397 588.8C275.02 564.718 267.642 537.265 260.83 506.442C239.913 411.094 229.195 313.79 228.859 216.174" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M248.702 592.491C243.612 567.892 238.718 539.849 234.611 508.535C222.415 411.71 220.544 313.863 229.028 216.643" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M215.039 593.154C212.161 568.186 209.8 539.824 208.522 508.288C205.015 410.751 211.891 313.117 229.032 217.035" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M181.317 590.794C180.702 565.654 180.898 537.217 182.448 505.681C187.721 408.218 203.335 311.592 229.026 217.43" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M147.871 585.408C149.519 560.317 152.249 532.004 156.626 500.738C170.556 404.15 194.727 309.319 228.732 217.85" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M115.238 577.068C119.124 552.248 124.362 524.279 131.543 493.431C154.08 398.474 186.652 306.184 228.709 218.119" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M83.3867 565.727C89.4611 541.349 97.2078 514.069 107.094 483.984C138.049 391.433 178.766 302.441 228.557 218.512" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M52.6484 551.78C60.9116 528.042 71.0683 501.475 83.6105 472.497C122.73 383.061 171.254 298.044 228.363 218.881" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M23.3047 535.026C33.6582 512.124 46.1512 486.566 61.2511 458.769C108.235 373.238 164.178 292.946 228.136 219.248" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-4.40234 515.716C7.89396 493.823 22.6495 469.494 40.2086 443.222C94.6726 362.244 157.59 287.288 227.899 219.617" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-30.2734 493.995C-16.0097 473.282 0.860805 450.38 20.6333 425.781C82.1421 350.014 151.531 281.003 227.629 219.912" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-54.1055 470.038C-38.0219 450.703 -19.184 429.4 2.72805 406.671C70.7684 336.723 146.052 274.21 227.308 220.186" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-75.6758 444.035C-57.9445 426.225 -37.2867 406.694 -13.4073 386.03C60.6226 322.455 141.207 266.942 226.985 220.43" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-94.8594 416.214C-75.6034 400.052 -53.2487 382.464 -27.6232 364.015C51.7841 307.339 136.993 259.273 226.566 220.627" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-111.457 386.771C-90.8238 372.405 -66.9936 356.883 -39.8188 340.82C44.3696 291.489 133.57 251.265 226.273 220.826" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-125.328 355.974C-103.514 343.527 -78.3808 330.194 -49.878 316.616C38.3994 275.046 130.846 242.985 225.903 220.975" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-136.418 324.042C-113.547 313.587 -87.2328 302.592 -57.7216 291.62C33.921 258.124 128.866 234.474 225.511 221.07" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-144.582 291.252C-120.875 282.913 -93.7737 274.278 -63.3035 266.013C30.9751 240.872 127.66 225.831 225.119 221.145" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<path d="M-149.695 257.871C-125.349 251.672 -97.5836 245.571 -66.4985 240.012C29.6511 223.424 127.292 217.116 224.776 221.194" stroke="#004F52" stroke-width="0.5" stroke-miterlimit="10"/>
<rect x="0.410156" y="-0.417969" width="448.055" height="402.196" fill="url(#paint0_radial_946_86098)"/>
<g filter="url(#filter0_f_946_86098)">
<ellipse cx="223.301" cy="-136.902" rx="349" ry="159" fill="url(#paint1_linear_946_86098)"/>
</g>
<defs>
<filter id="filter0_f_946_86098" x="-260.576" y="-430.779" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_946_86098"/>
</filter>
<radialGradient id="paint0_radial_946_86098" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(231.553 219.659) rotate(90) scale(234.129 234.129)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="1" stop-color="#121212"/>
</radialGradient>
<linearGradient id="paint1_linear_946_86098" x1="56.5898" y1="-434.228" x2="216.171" y2="101.725" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,198 @@
<svg width="449" height="401" viewBox="0 0 449 401" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-13.3477" y="-17.9375" width="476.973" height="430.908" fill="white"/>
<path d="M10.9648 104.424L123.224 169.441" stroke="url(#paint0_linear_1200_152285)" stroke-width="0.5"/>
<path d="M322.578 172.469L474.073 260.21" stroke="url(#paint1_linear_1200_152285)" stroke-width="0.5"/>
<path d="M322.578 60.0957L474.073 147.837" stroke="url(#paint2_linear_1200_152285)" stroke-width="0.5"/>
<path d="M323.621 284.994L475.116 372.736" stroke="url(#paint3_linear_1200_152285)" stroke-width="0.5"/>
<path d="M124.445 175.562L-14.8801 255.749" stroke="url(#paint4_linear_1200_152285)" stroke-width="0.5"/>
<path d="M122.676 64.8809L-16.6496 145.067" stroke="url(#paint5_linear_1200_152285)" stroke-width="0.5"/>
<path d="M129.043 284.104L28.6711 341.871" stroke="url(#paint6_linear_1200_152285)" stroke-width="0.5"/>
<path d="M433.977 108.389L333.605 166.156" stroke="url(#paint7_linear_1200_152285)" stroke-width="0.5"/>
<path d="M175.59 257.037L129.046 283.825" stroke="url(#paint8_linear_1200_152285)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M275.949 258.039L322.493 284.827" stroke="url(#paint9_linear_1200_152285)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M224.77 227.965L323.495 171.145" stroke="url(#paint10_linear_1200_152285)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M322.16 387.071L322.16 289.699" stroke="url(#paint11_linear_1200_152285)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M419.449 387.072L419.449 114.623" stroke="url(#paint12_linear_1200_152285)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M32.2813 387.072L32.2812 114.623" stroke="url(#paint13_linear_1200_152285)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M225.492 171.777L225.492 114.623" stroke="url(#paint14_linear_1200_152285)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M-24.1289 196.043L121.074 280.14" stroke="url(#paint15_linear_1200_152285)" stroke-width="0.5"/>
<path d="M225.24 340.297L322.16 284.34V172.427L225.24 116.471L128.32 172.427M225.24 340.3L128.32 284.344V172.43" stroke="url(#paint16_linear_1200_152285)" stroke-width="0.5"/>
<path d="M235.528 234.326L128.32 172.43" stroke="url(#paint17_linear_1200_152285)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M225.254 340.043L225.254 286.912" stroke="url(#paint18_linear_1200_152285)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M225.35 96.7637L339.338 162.575V294.198L225.35 360.01L111.361 294.198V162.575L225.35 96.7637Z" stroke="url(#paint19_linear_1200_152285)" stroke-width="0.5"/>
<path d="M225.347 81.2383L352.781 154.812V301.96L225.347 375.534L97.9133 301.96V154.812L225.347 81.2383Z" stroke="url(#paint20_linear_1200_152285)" stroke-width="0.5"/>
<path d="M225.348 171.775L274.373 200.08V256.69L225.348 284.994L176.323 256.69V200.08L225.348 171.775Z" fill="url(#paint21_linear_1200_152285)" stroke="url(#paint22_linear_1200_152285)" stroke-width="0.5"/>
<path d="M225.344 172.469L273.768 256.341H176.921L225.344 172.469Z" fill="url(#paint23_linear_1200_152285)" stroke="url(#paint24_linear_1200_152285)" stroke-width="0.5"/>
<path d="M274.057 256.149L322.148 228.383L274.057 200.617" stroke="url(#paint25_linear_1200_152285)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M176.154 256.002L128.32 228.385L176.154 200.768" stroke="url(#paint26_linear_1200_152285)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M128.312 385.235L128.312 287.91" stroke="url(#paint27_linear_1200_152285)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<circle cx="225.25" cy="284.301" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="225.25" cy="171.774" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="176.942" cy="256.639" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="128.313" cy="284.346" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="128.313" cy="172.43" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="321.578" cy="283.346" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="321.578" cy="172.467" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="176.942" cy="200.133" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="274.055" cy="256.639" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="274.055" cy="200.133" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<path d="M-2.28125 0.0976562H445.773V402.294H-2.28125V0.0976562Z" fill="url(#paint28_radial_1200_152285)"/>
<g filter="url(#filter0_f_1200_152285)">
<ellipse cx="223.926" cy="-113.902" rx="349" ry="159" fill="url(#paint29_linear_1200_152285)"/>
</g>
<defs>
<filter id="filter0_f_1200_152285" x="-259.951" y="-407.779" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_152285"/>
</filter>
<linearGradient id="paint0_linear_1200_152285" x1="27.73" y1="98.0813" x2="53.7297" y2="180.578" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint1_linear_1200_152285" x1="345.203" y1="163.909" x2="380.29" y2="275.239" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint2_linear_1200_152285" x1="345.203" y1="51.5364" x2="380.29" y2="162.866" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint3_linear_1200_152285" x1="346.246" y1="276.435" x2="381.332" y2="387.764" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint4_linear_1200_152285" x1="120.864" y1="197.483" x2="16.2264" y2="174.272" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint5_linear_1200_152285" x1="119.095" y1="86.8017" x2="14.4569" y2="63.5904" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint6_linear_1200_152285" x1="126.463" y1="299.896" x2="51.0806" y2="283.174" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint7_linear_1200_152285" x1="431.397" y1="124.181" x2="356.014" y2="107.459" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint8_linear_1200_152285" x1="174.394" y1="264.36" x2="139.438" y2="256.606" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint9_linear_1200_152285" x1="277.145" y1="265.362" x2="312.102" y2="257.608" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint10_linear_1200_152285" x1="227.307" y1="212.432" x2="301.453" y2="228.879" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint11_linear_1200_152285" x1="317.484" y1="286.323" x2="317.484" y2="307.959" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#3AA491"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint12_linear_1200_152285" x1="419.599" y1="88.0453" x2="422.162" y2="88.0625" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.47"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint13_linear_1200_152285" x1="32.4306" y1="88.0453" x2="32.4306" y2="384.993" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.37"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint14_linear_1200_152285" x1="225.642" y1="109.048" x2="228.202" y2="109.13" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint15_linear_1200_152285" x1="-2.44392" y1="187.839" x2="31.1857" y2="294.545" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint16_linear_1200_152285" x1="157.269" y1="112.904" x2="166.088" y2="322.4" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.82"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint17_linear_1200_152285" x1="144.331" y1="166.392" x2="169.019" y2="244.972" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint18_linear_1200_152285" x1="225.403" y1="281.729" x2="227.964" y2="281.818" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint19_linear_1200_152285" x1="133.04" y1="92.5684" x2="142.027" y2="339.066" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.82"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint20_linear_1200_152285" x1="122.15" y1="76.5482" x2="132.197" y2="352.12" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.82"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint21_linear_1200_152285" x1="225.348" y1="171.775" x2="225.348" y2="284.994" gradientUnits="userSpaceOnUse">
<stop stop-color="#00D9A9" stop-opacity="0.12"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint22_linear_1200_152285" x1="185.647" y1="160.731" x2="251.95" y2="282.576" gradientUnits="userSpaceOnUse">
<stop stop-color="#6AA99B" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint23_linear_1200_152285" x1="225.344" y1="172.469" x2="225.344" y2="284.298" gradientUnits="userSpaceOnUse">
<stop stop-color="#00D9A9" stop-opacity="0.12"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint24_linear_1200_152285" x1="186.131" y1="161.56" x2="251.62" y2="281.909" gradientUnits="userSpaceOnUse">
<stop stop-color="#6AA99B" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint25_linear_1200_152285" x1="326.84" y1="208.91" x2="271.949" y2="234.778" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint26_linear_1200_152285" x1="123.654" y1="209.016" x2="178.251" y2="234.745" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint27_linear_1200_152285" x1="123.636" y1="284.535" x2="123.636" y2="313.495" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.588542" stop-color="#375965"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint28_radial_1200_152285" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(221.746 218.866) rotate(180) scale(357.75 721.489)">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="0.630208" stop-color="white" stop-opacity="0.35"/>
<stop offset="1" stop-color="white" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint29_linear_1200_152285" x1="57.2148" y1="-411.228" x2="216.796" y2="124.725" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,198 @@
<svg width="448" height="400" viewBox="0 0 448 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-13.8438" y="-18.0352" width="476.973" height="430.908" fill="#131313"/>
<path d="M10.4688 104.326L122.728 169.344" stroke="url(#paint0_linear_1116_120701)" stroke-width="0.5"/>
<path d="M322.082 172.371L473.577 260.113" stroke="url(#paint1_linear_1116_120701)" stroke-width="0.5"/>
<path d="M322.082 59.998L473.577 147.74" stroke="url(#paint2_linear_1116_120701)" stroke-width="0.5"/>
<path d="M323.125 284.896L474.62 372.638" stroke="url(#paint3_linear_1116_120701)" stroke-width="0.5"/>
<path d="M123.949 175.465L-15.3762 255.651" stroke="url(#paint4_linear_1116_120701)" stroke-width="0.5"/>
<path d="M122.18 64.7832L-17.1457 144.969" stroke="url(#paint5_linear_1116_120701)" stroke-width="0.5"/>
<path d="M128.547 284.006L28.175 341.773" stroke="url(#paint6_linear_1116_120701)" stroke-width="0.5"/>
<path d="M433.48 108.291L333.109 166.058" stroke="url(#paint7_linear_1116_120701)" stroke-width="0.5"/>
<path d="M175.094 256.939L128.55 283.727" stroke="url(#paint8_linear_1116_120701)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M275.453 257.941L321.997 284.729" stroke="url(#paint9_linear_1116_120701)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M224.273 227.867L322.999 171.047" stroke="url(#paint10_linear_1116_120701)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M321.664 386.973L321.664 289.602" stroke="url(#paint11_linear_1116_120701)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M418.953 386.974L418.953 114.525" stroke="url(#paint12_linear_1116_120701)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M31.7852 386.974L31.7852 114.525" stroke="url(#paint13_linear_1116_120701)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M224.996 171.679L224.996 114.525" stroke="url(#paint14_linear_1116_120701)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M-24.625 195.945L120.578 280.043" stroke="url(#paint15_linear_1116_120701)" stroke-width="0.5"/>
<path d="M224.744 340.199L321.664 284.243V172.33L224.744 116.373L127.824 172.33M224.744 340.203L127.824 284.246V172.332" stroke="url(#paint16_linear_1116_120701)" stroke-width="0.5"/>
<path d="M235.032 234.229L127.824 172.332" stroke="url(#paint17_linear_1116_120701)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M224.758 339.946L224.758 286.814" stroke="url(#paint18_linear_1116_120701)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M224.853 96.666L338.842 162.478V294.1L224.853 359.912L110.865 294.1V162.478L224.853 96.666Z" stroke="url(#paint19_linear_1116_120701)" stroke-width="0.5"/>
<path d="M224.851 81.1406L352.285 154.715V301.863L224.851 375.437L97.4172 301.863V154.715L224.851 81.1406Z" stroke="url(#paint20_linear_1116_120701)" stroke-width="0.5"/>
<path d="M224.852 171.678L273.877 199.982V256.592L224.852 284.897L175.826 256.592V199.982L224.852 171.678Z" fill="url(#paint21_linear_1116_120701)" stroke="url(#paint22_linear_1116_120701)" stroke-width="0.5"/>
<path d="M224.848 172.371L273.272 256.243H176.425L224.848 172.371Z" fill="url(#paint23_linear_1116_120701)" stroke="url(#paint24_linear_1116_120701)" stroke-width="0.5"/>
<path d="M273.561 256.051L321.652 228.285L273.561 200.52" stroke="url(#paint25_linear_1116_120701)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M175.658 255.904L127.824 228.287L175.658 200.67" stroke="url(#paint26_linear_1116_120701)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M127.816 385.138L127.816 287.812" stroke="url(#paint27_linear_1116_120701)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<circle cx="224.754" cy="284.203" r="4.61993" fill="#163D3C" stroke="#121212" stroke-width="1.55778"/>
<circle cx="224.754" cy="171.676" r="4.61993" fill="#163D3C" stroke="#121212" stroke-width="1.55778"/>
<circle cx="176.446" cy="256.541" r="4.61993" fill="#163D3C" stroke="#121212" stroke-width="1.55778"/>
<circle cx="127.817" cy="284.248" r="4.61993" fill="#1D3232" stroke="#121212" stroke-width="1.55778"/>
<circle cx="127.817" cy="172.332" r="4.61993" fill="#193938" stroke="#121212" stroke-width="1.55778"/>
<circle cx="321.082" cy="283.248" r="4.61993" fill="#1D3232" stroke="#121212" stroke-width="1.55778"/>
<circle cx="321.082" cy="172.37" r="4.61993" fill="#1D3232" stroke="#121212" stroke-width="1.55778"/>
<circle cx="176.446" cy="200.036" r="4.61993" fill="#163D3C" stroke="#121212" stroke-width="1.55778"/>
<circle cx="273.559" cy="256.541" r="4.61993" fill="#163D3C" stroke="#121212" stroke-width="1.55778"/>
<circle cx="273.559" cy="200.036" r="4.61993" fill="#163D3C" stroke="#121212" stroke-width="1.55778"/>
<path d="M-2.77734 0H445.277V402.196H-2.77734V0Z" fill="url(#paint28_radial_1116_120701)"/>
<g filter="url(#filter0_f_1116_120701)">
<ellipse cx="223.43" cy="-114" rx="349" ry="159" fill="url(#paint29_linear_1116_120701)"/>
</g>
<defs>
<filter id="filter0_f_1116_120701" x="-260.447" y="-407.877" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1116_120701"/>
</filter>
<linearGradient id="paint0_linear_1116_120701" x1="27.2339" y1="97.9836" x2="53.2336" y2="180.48" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint1_linear_1116_120701" x1="344.707" y1="163.812" x2="379.793" y2="275.141" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint2_linear_1116_120701" x1="344.707" y1="51.4387" x2="379.793" y2="162.768" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint3_linear_1116_120701" x1="345.75" y1="276.337" x2="380.836" y2="387.666" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint4_linear_1116_120701" x1="120.368" y1="197.386" x2="15.7303" y2="174.174" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint5_linear_1116_120701" x1="118.599" y1="86.7041" x2="13.9608" y2="63.4927" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint6_linear_1116_120701" x1="125.967" y1="299.798" x2="50.5846" y2="283.076" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#375965"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint7_linear_1116_120701" x1="430.901" y1="124.083" x2="355.518" y2="107.361" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint8_linear_1116_120701" x1="173.898" y1="264.262" x2="138.941" y2="256.508" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint9_linear_1116_120701" x1="276.649" y1="265.264" x2="311.605" y2="257.51" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint10_linear_1116_120701" x1="226.811" y1="212.334" x2="300.957" y2="228.782" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint11_linear_1116_120701" x1="316.988" y1="286.225" x2="316.988" y2="307.862" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#3AA491"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint12_linear_1116_120701" x1="419.102" y1="87.9476" x2="421.666" y2="87.9649" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.47"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint13_linear_1116_120701" x1="31.9345" y1="87.9476" x2="31.9345" y2="384.896" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.37"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint14_linear_1116_120701" x1="225.145" y1="108.95" x2="227.706" y2="109.032" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint15_linear_1116_120701" x1="-2.94001" y1="187.741" x2="30.6896" y2="294.447" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint16_linear_1116_120701" x1="156.773" y1="112.806" x2="165.592" y2="322.302" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.82"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint17_linear_1116_120701" x1="143.835" y1="166.294" x2="168.523" y2="244.875" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint18_linear_1116_120701" x1="224.907" y1="281.631" x2="227.467" y2="281.72" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint19_linear_1116_120701" x1="132.544" y1="70.986" x2="286.706" y2="354.288" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint20_linear_1116_120701" x1="121.654" y1="52.4316" x2="294" y2="369.15" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint21_linear_1116_120701" x1="224.852" y1="171.678" x2="224.852" y2="284.897" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint22_linear_1116_120701" x1="185.151" y1="160.633" x2="251.454" y2="282.478" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint23_linear_1116_120701" x1="224.848" y1="172.371" x2="224.848" y2="284.2" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint24_linear_1116_120701" x1="185.634" y1="161.462" x2="251.124" y2="281.811" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint25_linear_1116_120701" x1="326.344" y1="208.813" x2="271.453" y2="234.68" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint26_linear_1116_120701" x1="123.158" y1="208.919" x2="177.755" y2="234.648" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint27_linear_1116_120701" x1="123.14" y1="284.438" x2="123.14" y2="313.398" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.588542" stop-color="#375965"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint28_radial_1116_120701" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(221.25 218.768) rotate(180) scale(357.75 721.489)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="0.630208" stop-color="#121212" stop-opacity="0.35"/>
<stop offset="1" stop-color="#121212" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint29_linear_1116_120701" x1="56.7187" y1="-411.325" x2="216.3" y2="124.628" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,192 @@
<svg width="449" height="401" viewBox="0 0 449 401" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-13.6172" y="-17.8398" width="476.973" height="430.908" fill="white"/>
<path d="M10.8242 104.508L123.084 169.525" stroke="url(#paint0_linear_1200_152564)" stroke-width="0.5"/>
<path d="M322.438 172.553L473.932 260.294" stroke="url(#paint1_linear_1200_152564)" stroke-width="0.5"/>
<path d="M322.438 60.1797L473.932 147.921" stroke="url(#paint2_linear_1200_152564)" stroke-width="0.5"/>
<path d="M323.48 285.078L474.975 372.82" stroke="url(#paint3_linear_1200_152564)" stroke-width="0.5"/>
<path d="M124.305 175.646L-15.0207 255.833" stroke="url(#paint4_linear_1200_152564)" stroke-width="0.5"/>
<path d="M122.535 64.9648L-16.7902 145.151" stroke="url(#paint5_linear_1200_152564)" stroke-width="0.5"/>
<path d="M128.902 284.188L28.5305 341.955" stroke="url(#paint6_linear_1200_152564)" stroke-width="0.5"/>
<path d="M433.836 108.473L333.464 166.24" stroke="url(#paint7_linear_1200_152564)" stroke-width="0.5"/>
<path d="M175.449 257.121L128.905 283.909" stroke="url(#paint8_linear_1200_152564)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M275.809 258.123L322.353 284.911" stroke="url(#paint9_linear_1200_152564)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M224.629 228.049L323.355 171.229" stroke="url(#paint10_linear_1200_152564)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M322.02 387.155L322.02 289.783" stroke="url(#paint11_linear_1200_152564)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M419.309 387.156L419.309 114.707" stroke="url(#paint12_linear_1200_152564)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M32.1406 387.156L32.1406 114.707" stroke="url(#paint13_linear_1200_152564)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M225.352 171.861L225.352 114.707" stroke="url(#paint14_linear_1200_152564)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M-24.2695 196.127L120.934 280.224" stroke="url(#paint15_linear_1200_152564)" stroke-width="0.5"/>
<path d="M225.099 340.381L322.019 284.424V172.511L225.099 116.555L128.18 172.511M225.099 340.384L128.18 284.428V172.514" stroke="url(#paint16_linear_1200_152564)" stroke-width="0.5"/>
<path d="M235.388 234.41L128.18 172.514" stroke="url(#paint17_linear_1200_152564)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M225.209 96.8477L339.198 162.659V294.282L225.209 360.094L111.22 294.282V162.659L225.209 96.8477Z" stroke="url(#paint18_linear_1200_152564)" stroke-width="0.5"/>
<path d="M225.207 81.3223L352.641 154.896V302.044L225.207 375.618L97.7727 302.044V154.896L225.207 81.3223Z" stroke="url(#paint19_linear_1200_152564)" stroke-width="0.5"/>
<path d="M225.207 171.859L274.232 200.164V256.774L225.207 285.078L176.182 256.774V200.164L225.207 171.859Z" fill="url(#paint20_linear_1200_152564)" stroke="url(#paint21_linear_1200_152564)" stroke-width="0.5"/>
<path d="M225.204 172.553L273.627 256.425H176.78L225.204 172.553Z" fill="url(#paint22_linear_1200_152564)" stroke="url(#paint23_linear_1200_152564)" stroke-width="0.5"/>
<path d="M273.916 256.233L322.008 228.467L273.916 200.701" stroke="url(#paint24_linear_1200_152564)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M176.014 256.085L128.18 228.469L176.014 200.852" stroke="url(#paint25_linear_1200_152564)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M128.172 385.319L128.172 287.994" stroke="url(#paint26_linear_1200_152564)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<circle cx="225.11" cy="284.385" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="225.11" cy="171.858" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="176.801" cy="256.723" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="128.172" cy="284.43" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="128.172" cy="172.514" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="321.438" cy="283.43" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="321.438" cy="172.551" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="176.801" cy="200.217" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="273.914" cy="256.723" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<circle cx="273.914" cy="200.217" r="4.61993" fill="#6AA99B" stroke="white" stroke-width="1.55778"/>
<path d="M-2.42188 0.0976562H445.633V402.294H-2.42188V0.0976562Z" fill="url(#paint27_radial_1200_152564)"/>
<g filter="url(#filter0_f_1200_152564)">
<ellipse cx="223.656" cy="-137.805" rx="349" ry="159" fill="url(#paint28_linear_1200_152564)"/>
</g>
<defs>
<filter id="filter0_f_1200_152564" x="-260.221" y="-431.682" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_152564"/>
</filter>
<linearGradient id="paint0_linear_1200_152564" x1="27.5893" y1="98.1653" x2="53.5891" y2="180.662" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint1_linear_1200_152564" x1="345.062" y1="163.993" x2="380.149" y2="275.323" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint2_linear_1200_152564" x1="345.062" y1="51.6204" x2="380.149" y2="162.95" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint3_linear_1200_152564" x1="346.105" y1="276.519" x2="381.192" y2="387.848" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint4_linear_1200_152564" x1="120.724" y1="197.567" x2="16.0858" y2="174.356" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint5_linear_1200_152564" x1="118.954" y1="86.8857" x2="14.3163" y2="63.6744" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint6_linear_1200_152564" x1="126.323" y1="299.98" x2="50.94" y2="283.258" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint7_linear_1200_152564" x1="431.256" y1="124.265" x2="355.874" y2="107.543" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint8_linear_1200_152564" x1="174.253" y1="264.444" x2="139.297" y2="256.69" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint9_linear_1200_152564" x1="277.005" y1="265.446" x2="311.961" y2="257.692" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint10_linear_1200_152564" x1="227.166" y1="212.516" x2="301.313" y2="228.963" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint11_linear_1200_152564" x1="317.343" y1="286.407" x2="317.343" y2="308.043" gradientUnits="userSpaceOnUse">
<stop stop-color="#6AA99B" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#3AA491"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint12_linear_1200_152564" x1="419.458" y1="88.1292" x2="422.021" y2="88.1465" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B" stop-opacity="0.47"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint13_linear_1200_152564" x1="32.29" y1="88.1292" x2="32.29" y2="385.077" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B" stop-opacity="0.37"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint14_linear_1200_152564" x1="225.501" y1="109.132" x2="228.062" y2="109.214" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint15_linear_1200_152564" x1="-2.58454" y1="187.923" x2="31.045" y2="294.629" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint16_linear_1200_152564" x1="157.128" y1="112.988" x2="165.948" y2="322.484" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.82"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint17_linear_1200_152564" x1="144.19" y1="166.476" x2="168.878" y2="245.056" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint18_linear_1200_152564" x1="132.9" y1="92.6524" x2="141.886" y2="339.15" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.82"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint19_linear_1200_152564" x1="122.009" y1="76.6322" x2="132.056" y2="352.204" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.82"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint20_linear_1200_152564" x1="225.207" y1="171.859" x2="225.207" y2="285.078" gradientUnits="userSpaceOnUse">
<stop stop-color="#00D9A9" stop-opacity="0.12"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint21_linear_1200_152564" x1="185.506" y1="160.815" x2="251.809" y2="282.66" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint22_linear_1200_152564" x1="225.204" y1="172.553" x2="225.204" y2="284.382" gradientUnits="userSpaceOnUse">
<stop stop-color="#00D9A9" stop-opacity="0.12"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint23_linear_1200_152564" x1="185.99" y1="161.644" x2="251.479" y2="281.993" gradientUnits="userSpaceOnUse">
<stop stop-color="#6AA99B" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint24_linear_1200_152564" x1="326.699" y1="208.994" x2="271.808" y2="234.862" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint25_linear_1200_152564" x1="123.513" y1="209.1" x2="178.11" y2="234.829" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#6AA99B"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint26_linear_1200_152564" x1="123.496" y1="284.619" x2="123.496" y2="313.579" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.588542" stop-color="#375965"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint27_radial_1200_152564" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(203.05 218.866) rotate(-180) scale(146.703 1350.43)">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="0.630208" stop-color="white" stop-opacity="0.35"/>
<stop offset="1" stop-color="white" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint28_linear_1200_152564" x1="56.9453" y1="-435.13" x2="216.526" y2="100.823" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,192 @@
<svg width="448" height="400" viewBox="0 0 448 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-13.9727" y="-17.9375" width="476.973" height="430.908" fill="#131313"/>
<path d="M10.4688 104.41L122.728 169.428" stroke="url(#paint0_linear_946_92186)" stroke-width="0.5"/>
<path d="M322.082 172.455L473.577 260.197" stroke="url(#paint1_linear_946_92186)" stroke-width="0.5"/>
<path d="M322.082 60.082L473.577 147.824" stroke="url(#paint2_linear_946_92186)" stroke-width="0.5"/>
<path d="M323.125 284.98L474.62 372.722" stroke="url(#paint3_linear_946_92186)" stroke-width="0.5"/>
<path d="M123.949 175.549L-15.3762 255.735" stroke="url(#paint4_linear_946_92186)" stroke-width="0.5"/>
<path d="M122.18 64.8672L-17.1457 145.053" stroke="url(#paint5_linear_946_92186)" stroke-width="0.5"/>
<path d="M128.547 284.09L28.175 341.857" stroke="url(#paint6_linear_946_92186)" stroke-width="0.5"/>
<path d="M433.48 108.375L333.109 166.142" stroke="url(#paint7_linear_946_92186)" stroke-width="0.5"/>
<path d="M175.094 257.023L128.55 283.811" stroke="url(#paint8_linear_946_92186)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M275.453 258.025L321.997 284.813" stroke="url(#paint9_linear_946_92186)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M224.273 227.951L322.999 171.131" stroke="url(#paint10_linear_946_92186)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M321.664 387.057L321.664 289.686" stroke="url(#paint11_linear_946_92186)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M418.953 387.058L418.953 114.609" stroke="url(#paint12_linear_946_92186)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M31.7852 387.058L31.7852 114.609" stroke="url(#paint13_linear_946_92186)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M224.996 171.763L224.996 114.609" stroke="url(#paint14_linear_946_92186)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M-24.625 196.029L120.578 280.127" stroke="url(#paint15_linear_946_92186)" stroke-width="0.5"/>
<path d="M224.744 340.283L321.664 284.327V172.414L224.744 116.457L127.824 172.414M224.744 340.287L127.824 284.33V172.416" stroke="url(#paint16_linear_946_92186)" stroke-width="0.5"/>
<path d="M235.032 234.312L127.824 172.416" stroke="url(#paint17_linear_946_92186)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M224.853 96.75L338.842 162.561V294.184L224.853 359.996L110.865 294.184V162.561L224.853 96.75Z" stroke="url(#paint18_linear_946_92186)" stroke-width="0.5"/>
<path d="M224.851 81.2246L352.285 154.799V301.947L224.851 375.521L97.4172 301.947V154.799L224.851 81.2246Z" stroke="url(#paint19_linear_946_92186)" stroke-width="0.5"/>
<path d="M224.852 171.762L273.877 200.066V256.676L224.852 284.981L175.826 256.676V200.066L224.852 171.762Z" fill="url(#paint20_linear_946_92186)" stroke="url(#paint21_linear_946_92186)" stroke-width="0.5"/>
<path d="M224.848 172.455L273.272 256.327H176.425L224.848 172.455Z" fill="url(#paint22_linear_946_92186)" stroke="url(#paint23_linear_946_92186)" stroke-width="0.5"/>
<path d="M273.561 256.135L321.652 228.369L273.561 200.604" stroke="url(#paint24_linear_946_92186)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M175.658 255.988L127.824 228.371L175.658 200.754" stroke="url(#paint25_linear_946_92186)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<path d="M127.816 385.222L127.816 287.896" stroke="url(#paint26_linear_946_92186)" stroke-width="0.5" stroke-dasharray="0.1 2"/>
<circle cx="224.754" cy="284.287" r="4.61993" fill="#163D3C" stroke="#121212" stroke-width="1.55778"/>
<circle cx="224.754" cy="171.76" r="4.61993" fill="#163D3C" stroke="#121212" stroke-width="1.55778"/>
<circle cx="176.446" cy="256.625" r="4.61993" fill="#163D3C" stroke="#121212" stroke-width="1.55778"/>
<circle cx="127.817" cy="284.332" r="4.61993" fill="#1D3232" stroke="#121212" stroke-width="1.55778"/>
<circle cx="127.817" cy="172.416" r="4.61993" fill="#193938" stroke="#121212" stroke-width="1.55778"/>
<circle cx="321.082" cy="283.332" r="4.61993" fill="#1D3232" stroke="#121212" stroke-width="1.55778"/>
<circle cx="321.082" cy="172.454" r="4.61993" fill="#1D3232" stroke="#121212" stroke-width="1.55778"/>
<circle cx="176.446" cy="200.12" r="4.61993" fill="#163D3C" stroke="#121212" stroke-width="1.55778"/>
<circle cx="273.559" cy="256.625" r="4.61993" fill="#163D3C" stroke="#121212" stroke-width="1.55778"/>
<circle cx="273.559" cy="200.12" r="4.61993" fill="#163D3C" stroke="#121212" stroke-width="1.55778"/>
<path d="M-2.77734 0H445.277V402.196H-2.77734V0Z" fill="url(#paint27_radial_946_92186)"/>
<g filter="url(#filter0_f_946_92186)">
<ellipse cx="223.301" cy="-137.902" rx="349" ry="159" fill="url(#paint28_linear_946_92186)"/>
</g>
<defs>
<filter id="filter0_f_946_92186" x="-260.576" y="-431.779" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_946_92186"/>
</filter>
<linearGradient id="paint0_linear_946_92186" x1="27.2339" y1="98.0676" x2="53.2336" y2="180.564" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint1_linear_946_92186" x1="344.707" y1="163.896" x2="379.793" y2="275.225" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint2_linear_946_92186" x1="344.707" y1="51.5227" x2="379.793" y2="162.852" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint3_linear_946_92186" x1="345.75" y1="276.421" x2="380.836" y2="387.75" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint4_linear_946_92186" x1="120.368" y1="197.47" x2="15.7303" y2="174.258" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint5_linear_946_92186" x1="118.599" y1="86.788" x2="13.9608" y2="63.5767" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint6_linear_946_92186" x1="125.967" y1="299.882" x2="50.5846" y2="283.16" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#375965"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint7_linear_946_92186" x1="430.901" y1="124.167" x2="355.518" y2="107.445" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint8_linear_946_92186" x1="173.898" y1="264.346" x2="138.941" y2="256.592" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint9_linear_946_92186" x1="276.649" y1="265.348" x2="311.605" y2="257.594" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint10_linear_946_92186" x1="226.811" y1="212.418" x2="300.957" y2="228.866" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint11_linear_946_92186" x1="316.988" y1="286.309" x2="316.988" y2="307.946" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#3AA491"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint12_linear_946_92186" x1="419.102" y1="88.0316" x2="421.666" y2="88.0489" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.47"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint13_linear_946_92186" x1="31.9345" y1="88.0316" x2="31.9345" y2="384.98" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.37"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint14_linear_946_92186" x1="225.145" y1="109.034" x2="227.706" y2="109.116" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint15_linear_946_92186" x1="-2.94001" y1="187.825" x2="30.6896" y2="294.531" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint16_linear_946_92186" x1="156.773" y1="112.89" x2="165.592" y2="322.386" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.82"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint17_linear_946_92186" x1="143.835" y1="166.378" x2="168.523" y2="244.959" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint18_linear_946_92186" x1="132.544" y1="71.07" x2="286.706" y2="354.372" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint19_linear_946_92186" x1="121.654" y1="52.5156" x2="294" y2="369.234" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1" stop-opacity="0.33"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint20_linear_946_92186" x1="224.852" y1="171.762" x2="224.852" y2="284.981" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint21_linear_946_92186" x1="185.151" y1="160.717" x2="251.454" y2="282.562" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#00DED1"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint22_linear_946_92186" x1="224.848" y1="172.455" x2="224.848" y2="284.284" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint23_linear_946_92186" x1="185.634" y1="161.546" x2="251.124" y2="281.895" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint24_linear_946_92186" x1="326.344" y1="208.897" x2="271.453" y2="234.764" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint25_linear_946_92186" x1="123.158" y1="209.003" x2="177.755" y2="234.732" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.515625" stop-color="#16FFD5"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint26_linear_946_92186" x1="123.14" y1="284.522" x2="123.14" y2="313.482" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.588542" stop-color="#375965"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint27_radial_946_92186" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(221.25 218.768) rotate(-180) scale(125.259 1153.03)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="0.630208" stop-color="#121212" stop-opacity="0.35"/>
<stop offset="1" stop-color="#121212" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint28_linear_946_92186" x1="56.5898" y1="-435.228" x2="216.171" y2="100.725" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,129 @@
<svg width="448" height="400" viewBox="0 0 448 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-5.66406" y="-24.1992" width="476.973" height="430.908" fill="white"/>
<path d="M260.359 243.852H458.131" stroke="url(#paint0_linear_1200_89039)"/>
<path d="M252.879 220.738H458.13" stroke="url(#paint1_linear_1200_89039)"/>
<path d="M246.094 197.623L458.129 197.623" stroke="url(#paint2_linear_1200_89039)"/>
<path d="M260.359 174.51H458.131" stroke="url(#paint3_linear_1200_89039)"/>
<path d="M241.316 266.279L458.129 266.279" stroke="url(#paint4_linear_1200_89039)"/>
<path d="M199.738 243.852L-5.48504 243.852" stroke="url(#paint5_linear_1200_89039)"/>
<path d="M199.766 220.738H-5.48563" stroke="url(#paint6_linear_1200_89039)"/>
<path d="M192.285 197.623L-5.48601 197.623" stroke="url(#paint7_linear_1200_89039)"/>
<path d="M206.871 174.51L-5.48402 174.51" stroke="url(#paint8_linear_1200_89039)"/>
<path d="M211.328 266.279L-5.48434 266.279" stroke="url(#paint9_linear_1200_89039)"/>
<g clip-path="url(#clip0_1200_89039)">
<rect x="160.598" y="158.094" width="131.505" height="121.291" rx="16" fill="white"/>
<circle cx="250.666" cy="205.185" r="0.978774" transform="rotate(-180 250.666 205.185)" fill="#73867C"/>
<circle cx="263.638" cy="185.072" r="0.978774" transform="rotate(-180 263.638 185.072)" fill="#73867C"/>
<ellipse cx="189.015" cy="190.256" rx="0.324429" ry="0.324429" transform="rotate(-180 189.015 190.256)" fill="#73867C"/>
<circle cx="188.373" cy="203.238" r="0.978774" transform="rotate(-180 188.373 203.238)" fill="#73867C"/>
<ellipse cx="177.34" cy="205.181" rx="0.324429" ry="0.324429" transform="rotate(-180 177.34 205.181)" fill="#73867C"/>
<circle cx="174.095" cy="198.695" r="0.978774" transform="rotate(-180 174.095 198.695)" fill="#73867C"/>
<circle cx="175.396" cy="233.084" r="0.978774" transform="rotate(-180 175.396 233.084)" fill="#73867C"/>
<circle cx="168.908" cy="220.758" r="0.978774" transform="rotate(-180 168.908 220.758)" fill="#73867C"/>
<circle cx="187.08" cy="220.758" r="0.978774" transform="rotate(-180 187.08 220.758)" fill="#73867C"/>
<circle cx="201.345" cy="235.035" r="0.978774" transform="rotate(-180 201.345 235.035)" fill="#73867C"/>
<ellipse cx="252.601" cy="253.195" rx="0.324429" ry="0.324429" transform="rotate(-180 252.601 253.195)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 192.914 246.057)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 203.945 238.272)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 195.504 236.324)" fill="#73867C"/>
<circle cx="258.019" cy="233.952" r="0.978774" transform="rotate(-75 258.019 233.952)" fill="#73867C"/>
<circle cx="230.121" cy="248.878" r="0.978774" transform="rotate(-75 230.121 248.878)" fill="#73867C"/>
<circle cx="270.192" cy="200.861" r="0.353739" transform="rotate(105 270.192 200.861)" fill="#73867C"/>
<ellipse cx="235.734" cy="228.539" rx="0.324429" ry="0.324429" transform="rotate(-180 235.734 228.539)" fill="#73867C"/>
<circle cx="259.947" cy="242.213" r="0.978774" transform="rotate(-180 259.947 242.213)" fill="#73867C"/>
<circle cx="277.73" cy="223.15" r="0.978774" transform="rotate(-75 277.73 223.15)" fill="#73867C"/>
<path d="M156.594 134.775H298.414V289.016H156.594V134.775Z" fill="url(#paint10_radial_1200_89039)"/>
<g filter="url(#filter0_f_1200_89039)">
<ellipse cx="235.353" cy="-15.4428" rx="312.884" ry="142.565" fill="url(#paint11_linear_1200_89039)"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M220.516 179.86C218.951 177.987 216.189 177.68 214.251 179.162C212.281 180.667 211.876 183.471 213.339 185.472L219.135 193.4C221.124 196.122 221.048 199.839 218.948 202.477L208.598 215.479L219.18 226.493C216.552 227.232 213.911 228.842 212.054 231.876C210.502 234.411 210.707 237.235 211.386 239.539C212.071 241.862 213.375 244.177 214.816 246.264C217.714 250.457 221.686 254.457 224.457 256.877L227.177 259.253L233.51 251.767L230.345 249.529C229.163 248.693 227.497 247.266 226.357 245.796C225.786 245.059 225.475 244.473 225.348 244.08C225.305 243.944 225.287 243.83 225.281 243.753C225.28 243.744 225.28 243.735 225.28 243.728C225.621 243.103 226.611 242.368 228.725 241.99C230.761 241.626 233.357 241.912 235.889 243.205L238.485 244.531L244.102 237.428L241.176 235.242C239.272 233.819 236.41 231.22 234.181 228.204C231.879 225.087 230.838 222.287 231.047 219.918C231.245 217.675 232.53 214.849 234.101 212.288C235.668 209.736 237.422 207.603 238.422 206.739L241.068 204.453L220.516 179.86ZM215.247 180.465C216.488 179.516 218.256 179.713 219.257 180.912L238.774 204.267L237.35 205.498C236.17 206.517 234.312 208.808 232.703 211.43C231.099 214.043 229.646 217.139 229.413 219.773C229.153 222.719 230.455 225.921 232.862 229.179C235.203 232.348 238.188 235.056 240.194 236.556L241.77 237.733L238.033 242.458L236.635 241.744C233.795 240.294 230.837 239.946 228.436 240.375C226.066 240.799 224.406 241.731 223.759 243.101L223.739 243.143L223.702 243.251L223.701 243.255C223.633 243.461 223.632 243.694 223.645 243.872C223.66 244.079 223.703 244.322 223.786 244.581C223.993 245.225 224.426 245.982 225.061 246.801C226.33 248.437 228.129 249.971 229.398 250.868L231.102 252.074L227.001 256.921L225.536 255.642C222.829 253.277 218.962 249.378 216.166 245.331C214.772 243.314 213.575 241.162 212.96 239.076C212.347 236.997 212.241 234.711 213.453 232.732C215.358 229.621 218.199 228.238 220.916 227.785L222.45 227.529L210.775 215.378L220.232 203.498C222.792 200.282 222.885 195.751 220.459 192.432L214.664 184.504C213.727 183.223 213.986 181.428 215.247 180.465ZM226.795 254.201L228.293 252.431C225.554 250.494 220.468 245.795 222.029 242.491C223.98 238.361 231.106 236.772 237.505 240.04L239.048 238.089C234.797 234.911 226.54 226.742 227.52 219.48C228.501 212.218 233.648 206.167 236.098 204.049L217.789 182.139C217.444 181.727 216.836 181.659 216.409 181.985C215.976 182.317 215.887 182.934 216.209 183.374L222.004 191.303C224.939 195.318 224.826 200.799 221.729 204.69L213.315 215.259L227.793 230.328C224.919 229.238 218.353 228.394 215.085 233.732C211.817 239.069 221.53 249.601 226.795 254.201Z" fill="url(#paint12_linear_1200_89039)"/>
</g>
<rect x="160.922" y="158.418" width="130.856" height="120.642" rx="15.6756" stroke="url(#paint13_linear_1200_89039)" stroke-width="0.648858"/>
<rect x="-5.48438" y="-5.21289" width="456.316" height="405.213" fill="url(#paint14_radial_1200_89039)"/>
<g filter="url(#filter1_f_1200_89039)">
<ellipse cx="223.285" cy="-105.711" rx="349" ry="159" fill="url(#paint15_linear_1200_89039)"/>
</g>
<defs>
<filter id="filter0_f_1200_89039" x="-212.408" y="-292.885" width="895.523" height="554.885" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_89039"/>
</filter>
<filter id="filter1_f_1200_89039" x="-260.592" y="-399.588" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_89039"/>
</filter>
<linearGradient id="paint0_linear_1200_89039" x1="264.669" y1="242.576" x2="418.255" y2="242.576" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint1_linear_1200_89039" x1="257.351" y1="219.463" x2="416.746" y2="219.463" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint2_linear_1200_89039" x1="250.714" y1="196.348" x2="415.377" y2="196.348" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint3_linear_1200_89039" x1="264.669" y1="173.234" x2="418.255" y2="173.234" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint4_linear_1200_89039" x1="246.041" y1="265.004" x2="414.414" y2="265.004" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint5_linear_1200_89039" x1="195.267" y1="245.127" x2="35.8933" y2="245.127" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint6_linear_1200_89039" x1="195.293" y1="219.463" x2="35.8983" y2="219.463" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint7_linear_1200_89039" x1="187.976" y1="198.898" x2="34.3897" y2="198.898" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint8_linear_1200_89039" x1="202.244" y1="175.785" x2="37.3322" y2="175.785" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint9_linear_1200_89039" x1="206.604" y1="265.004" x2="38.2306" y2="265.004" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<radialGradient id="paint10_radial_1200_89039" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(227.504 226.603) rotate(180) scale(105.285 57.1296)">
<stop stop-color="white" stop-opacity="0.43"/>
<stop offset="0.651042" stop-color="#FCFBFB"/>
<stop offset="1" stop-color="#F2F2F2"/>
</radialGradient>
<linearGradient id="paint11_linear_1200_89039" x1="85.894" y1="-282.035" x2="228.996" y2="198.509" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
<linearGradient id="paint12_linear_1200_89039" x1="244.102" y1="178.225" x2="252.671" y2="299.046" gradientUnits="userSpaceOnUse">
<stop stop-color="#373737" stop-opacity="0.85"/>
<stop offset="1" stop-color="#5D7D7B" stop-opacity="0.35"/>
</linearGradient>
<linearGradient id="paint13_linear_1200_89039" x1="160.598" y1="196.493" x2="205.933" y2="256.358" gradientUnits="userSpaceOnUse">
<stop stop-color="#DAE9E2"/>
<stop offset="0.588542" stop-color="#89A296"/>
<stop offset="1" stop-color="#89A296" stop-opacity="0.08"/>
</linearGradient>
<radialGradient id="paint14_radial_1200_89039" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(222.674 216.528) rotate(90) scale(246.184 217.511)">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="1" stop-color="white"/>
</radialGradient>
<linearGradient id="paint15_linear_1200_89039" x1="56.5742" y1="-403.036" x2="216.155" y2="132.917" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
<clipPath id="clip0_1200_89039">
<rect x="160.598" y="158.094" width="131.505" height="121.291" rx="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

@@ -0,0 +1,130 @@
<svg width="448" height="400" viewBox="0 0 448 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-5.66406" y="-24.1992" width="476.973" height="430.908" fill="#131313"/>
<path d="M260.359 243.852H458.131" stroke="url(#paint0_linear_1193_89359)"/>
<path d="M252.879 220.738H458.13" stroke="url(#paint1_linear_1193_89359)"/>
<path d="M246.094 197.623L458.129 197.623" stroke="url(#paint2_linear_1193_89359)"/>
<path d="M260.359 174.51H458.131" stroke="url(#paint3_linear_1193_89359)"/>
<path d="M241.316 266.279L458.129 266.279" stroke="url(#paint4_linear_1193_89359)"/>
<path d="M199.738 243.852L-5.48504 243.852" stroke="url(#paint5_linear_1193_89359)"/>
<path d="M199.766 220.738H-5.48563" stroke="url(#paint6_linear_1193_89359)"/>
<path d="M192.285 197.623L-5.48601 197.623" stroke="url(#paint7_linear_1193_89359)"/>
<path d="M206.871 174.51L-5.48402 174.51" stroke="url(#paint8_linear_1193_89359)"/>
<path d="M211.328 266.279L-5.48434 266.279" stroke="url(#paint9_linear_1193_89359)"/>
<g clip-path="url(#clip0_1193_89359)">
<rect x="160.598" y="158.094" width="131.505" height="121.291" rx="16" fill="#121212"/>
<circle cx="250.666" cy="205.185" r="0.978774" transform="rotate(-180 250.666 205.185)" fill="#73867C"/>
<circle cx="263.638" cy="185.072" r="0.978774" transform="rotate(-180 263.638 185.072)" fill="#73867C"/>
<ellipse cx="189.015" cy="190.256" rx="0.324429" ry="0.324429" transform="rotate(-180 189.015 190.256)" fill="#73867C"/>
<circle cx="188.373" cy="203.238" r="0.978774" transform="rotate(-180 188.373 203.238)" fill="#73867C"/>
<ellipse cx="177.34" cy="205.181" rx="0.324429" ry="0.324429" transform="rotate(-180 177.34 205.181)" fill="#73867C"/>
<circle cx="174.095" cy="198.695" r="0.978774" transform="rotate(-180 174.095 198.695)" fill="#73867C"/>
<circle cx="175.396" cy="233.084" r="0.978774" transform="rotate(-180 175.396 233.084)" fill="#73867C"/>
<circle cx="168.908" cy="220.758" r="0.978774" transform="rotate(-180 168.908 220.758)" fill="#73867C"/>
<circle cx="187.08" cy="220.758" r="0.978774" transform="rotate(-180 187.08 220.758)" fill="#73867C"/>
<circle cx="218.865" cy="237.629" r="0.978774" transform="rotate(-180 218.865 237.629)" fill="#73867C"/>
<circle cx="201.345" cy="235.035" r="0.978774" transform="rotate(-180 201.345 235.035)" fill="#73867C"/>
<ellipse cx="252.601" cy="253.195" rx="0.324429" ry="0.324429" transform="rotate(-180 252.601 253.195)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 192.914 246.057)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 203.945 238.272)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 195.504 236.324)" fill="#73867C"/>
<circle cx="258.019" cy="233.952" r="0.978774" transform="rotate(-75 258.019 233.952)" fill="#73867C"/>
<circle cx="230.121" cy="248.878" r="0.978774" transform="rotate(-75 230.121 248.878)" fill="#73867C"/>
<circle cx="270.192" cy="200.861" r="0.353739" transform="rotate(105 270.192 200.861)" fill="#73867C"/>
<ellipse cx="235.734" cy="228.539" rx="0.324429" ry="0.324429" transform="rotate(-180 235.734 228.539)" fill="#73867C"/>
<circle cx="259.947" cy="242.213" r="0.978774" transform="rotate(-180 259.947 242.213)" fill="#73867C"/>
<circle cx="277.73" cy="223.15" r="0.978774" transform="rotate(-75 277.73 223.15)" fill="#73867C"/>
<path d="M156.594 134.775H298.414V289.016H156.594V134.775Z" fill="url(#paint10_radial_1193_89359)"/>
<g filter="url(#filter0_f_1193_89359)">
<ellipse cx="235.353" cy="-15.4428" rx="312.884" ry="142.565" fill="url(#paint11_linear_1193_89359)"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M220.516 179.86C218.951 177.987 216.189 177.68 214.251 179.162C212.281 180.667 211.876 183.471 213.339 185.472L219.135 193.4C221.124 196.122 221.048 199.839 218.948 202.477L208.598 215.479L219.18 226.493C216.552 227.232 213.911 228.842 212.054 231.876C210.502 234.411 210.707 237.235 211.386 239.539C212.071 241.862 213.375 244.177 214.816 246.264C217.714 250.457 221.686 254.457 224.457 256.877L227.177 259.253L233.51 251.767L230.345 249.529C229.163 248.693 227.497 247.266 226.357 245.796C225.786 245.059 225.475 244.473 225.348 244.08C225.305 243.944 225.287 243.83 225.281 243.753C225.28 243.744 225.28 243.735 225.28 243.728C225.621 243.103 226.611 242.368 228.725 241.99C230.761 241.626 233.357 241.912 235.889 243.205L238.485 244.531L244.102 237.428L241.176 235.242C239.272 233.819 236.41 231.22 234.181 228.204C231.879 225.087 230.838 222.287 231.047 219.918C231.245 217.675 232.53 214.849 234.101 212.288C235.668 209.736 237.422 207.603 238.422 206.739L241.068 204.453L220.516 179.86ZM215.247 180.465C216.488 179.516 218.256 179.713 219.257 180.912L238.774 204.267L237.35 205.498C236.17 206.517 234.312 208.808 232.703 211.43C231.099 214.043 229.646 217.139 229.413 219.773C229.153 222.719 230.455 225.921 232.862 229.179C235.203 232.348 238.188 235.056 240.194 236.556L241.77 237.733L238.033 242.458L236.635 241.744C233.795 240.294 230.837 239.946 228.436 240.375C226.066 240.799 224.406 241.731 223.759 243.101L223.739 243.143L223.702 243.251L223.701 243.255C223.633 243.461 223.632 243.694 223.645 243.872C223.66 244.079 223.703 244.322 223.786 244.581C223.993 245.225 224.426 245.982 225.061 246.801C226.33 248.437 228.129 249.971 229.398 250.868L231.102 252.074L227.001 256.921L225.536 255.642C222.829 253.277 218.962 249.378 216.166 245.331C214.772 243.314 213.575 241.162 212.96 239.076C212.347 236.997 212.241 234.711 213.453 232.732C215.358 229.621 218.199 228.238 220.916 227.785L222.45 227.529L210.775 215.378L220.232 203.498C222.792 200.282 222.885 195.751 220.459 192.432L214.664 184.504C213.727 183.223 213.986 181.428 215.247 180.465ZM226.795 254.201L228.293 252.431C225.554 250.494 220.468 245.795 222.029 242.491C223.98 238.361 231.106 236.772 237.505 240.04L239.048 238.089C234.797 234.911 226.54 226.742 227.52 219.48C228.501 212.218 233.648 206.167 236.098 204.049L217.789 182.139C217.444 181.727 216.836 181.659 216.409 181.985C215.976 182.317 215.887 182.934 216.209 183.374L222.004 191.303C224.939 195.318 224.826 200.799 221.729 204.69L213.315 215.259L227.793 230.328C224.919 229.238 218.353 228.394 215.085 233.732C211.817 239.069 221.53 249.601 226.795 254.201Z" fill="url(#paint12_linear_1193_89359)"/>
</g>
<rect x="160.922" y="158.418" width="130.856" height="120.642" rx="15.6756" stroke="url(#paint13_linear_1193_89359)" stroke-width="0.648858"/>
<rect x="-5.48438" y="-5.21289" width="456.316" height="405.213" fill="url(#paint14_radial_1193_89359)"/>
<g filter="url(#filter1_f_1193_89359)">
<ellipse cx="223.285" cy="-105.711" rx="349" ry="159" fill="url(#paint15_linear_1193_89359)"/>
</g>
<defs>
<filter id="filter0_f_1193_89359" x="-165.047" y="-245.524" width="800.801" height="460.163" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="43.758" result="effect1_foregroundBlur_1193_89359"/>
</filter>
<filter id="filter1_f_1193_89359" x="-260.592" y="-399.588" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1193_89359"/>
</filter>
<linearGradient id="paint0_linear_1193_89359" x1="264.669" y1="242.576" x2="418.255" y2="242.576" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint1_linear_1193_89359" x1="257.351" y1="219.463" x2="416.746" y2="219.463" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint2_linear_1193_89359" x1="250.714" y1="196.348" x2="415.377" y2="196.348" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint3_linear_1193_89359" x1="264.669" y1="173.234" x2="418.255" y2="173.234" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint4_linear_1193_89359" x1="246.041" y1="265.004" x2="414.414" y2="265.004" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint5_linear_1193_89359" x1="195.267" y1="245.127" x2="35.8933" y2="245.127" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint6_linear_1193_89359" x1="195.293" y1="219.463" x2="35.8983" y2="219.463" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint7_linear_1193_89359" x1="187.976" y1="198.898" x2="34.3897" y2="198.898" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint8_linear_1193_89359" x1="202.244" y1="175.785" x2="37.3322" y2="175.785" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint9_linear_1193_89359" x1="206.604" y1="265.004" x2="38.2306" y2="265.004" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<radialGradient id="paint10_radial_1193_89359" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(227.504 226.958) rotate(-180) scale(68.4772 37.157)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="0.630208" stop-color="#121212" stop-opacity="0.35"/>
<stop offset="1" stop-color="#121212" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint11_linear_1193_89359" x1="85.894" y1="-282.035" x2="228.996" y2="198.509" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
<linearGradient id="paint12_linear_1193_89359" x1="198.95" y1="250.213" x2="229.793" y2="248.933" gradientUnits="userSpaceOnUse">
<stop stop-color="#F4FFFA" stop-opacity="0.78"/>
<stop offset="1" stop-color="#D8FFEC" stop-opacity="0.6"/>
</linearGradient>
<linearGradient id="paint13_linear_1193_89359" x1="160.598" y1="196.493" x2="205.933" y2="256.358" gradientUnits="userSpaceOnUse">
<stop stop-color="#DAE9E2"/>
<stop offset="0.588542" stop-color="#89A296"/>
<stop offset="1" stop-color="#89A296" stop-opacity="0.08"/>
</linearGradient>
<radialGradient id="paint14_radial_1193_89359" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(222.674 216.528) rotate(90) scale(228.97 202.301)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="1" stop-color="#121212"/>
</radialGradient>
<linearGradient id="paint15_linear_1193_89359" x1="56.5742" y1="-403.036" x2="216.155" y2="132.917" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
<clipPath id="clip0_1193_89359">
<rect x="160.598" y="158.094" width="131.505" height="121.291" rx="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,116 @@
<svg width="449" height="400" viewBox="0 0 449 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-15.3008" y="-8.0293" width="476.973" height="430.908" fill="white"/>
<path d="M261.355 243.852H459.127" stroke="url(#paint0_linear_1200_128306)"/>
<path d="M253.875 220.738H459.126" stroke="url(#paint1_linear_1200_128306)"/>
<path d="M247.09 197.623L459.125 197.623" stroke="url(#paint2_linear_1200_128306)"/>
<path d="M261.355 174.51H459.127" stroke="url(#paint3_linear_1200_128306)"/>
<path d="M242.312 266.279L459.125 266.279" stroke="url(#paint4_linear_1200_128306)"/>
<path d="M200.734 243.852L-4.48895 243.852" stroke="url(#paint5_linear_1200_128306)"/>
<path d="M200.762 220.738H-4.48953" stroke="url(#paint6_linear_1200_128306)"/>
<path d="M193.281 197.623L-4.48992 197.623" stroke="url(#paint7_linear_1200_128306)"/>
<path d="M207.867 174.51L-4.48792 174.51" stroke="url(#paint8_linear_1200_128306)"/>
<path d="M212.324 266.279L-4.48825 266.279" stroke="url(#paint9_linear_1200_128306)"/>
<g clip-path="url(#clip0_1200_128306)">
<rect x="161.594" y="158.094" width="131.505" height="121.291" rx="16" fill="white"/>
<circle cx="251.662" cy="205.185" r="0.978774" transform="rotate(-180 251.662 205.185)" fill="#73867C"/>
<circle cx="264.635" cy="185.072" r="0.978774" transform="rotate(-180 264.635 185.072)" fill="#73867C"/>
<ellipse cx="190.012" cy="190.256" rx="0.324429" ry="0.324429" transform="rotate(-180 190.012 190.256)" fill="#73867C"/>
<circle cx="189.369" cy="203.238" r="0.978774" transform="rotate(-180 189.369 203.238)" fill="#73867C"/>
<ellipse cx="178.336" cy="205.181" rx="0.324429" ry="0.324429" transform="rotate(-180 178.336 205.181)" fill="#73867C"/>
<circle cx="175.092" cy="198.695" r="0.978774" transform="rotate(-180 175.092 198.695)" fill="#73867C"/>
<circle cx="176.392" cy="233.084" r="0.978774" transform="rotate(-180 176.392 233.084)" fill="#73867C"/>
<circle cx="169.904" cy="220.758" r="0.978774" transform="rotate(-180 169.904 220.758)" fill="#73867C"/>
<circle cx="188.076" cy="220.758" r="0.978774" transform="rotate(-180 188.076 220.758)" fill="#73867C"/>
<circle cx="202.342" cy="235.035" r="0.978774" transform="rotate(-180 202.342 235.035)" fill="#73867C"/>
<ellipse cx="253.597" cy="253.195" rx="0.324429" ry="0.324429" transform="rotate(-180 253.597 253.195)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 193.91 246.057)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 204.941 238.272)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 196.5 236.324)" fill="#73867C"/>
<circle cx="259.015" cy="233.952" r="0.978774" transform="rotate(-75 259.015 233.952)" fill="#73867C"/>
<circle cx="231.117" cy="248.878" r="0.978774" transform="rotate(-75 231.117 248.878)" fill="#73867C"/>
<circle cx="271.188" cy="200.861" r="0.353739" transform="rotate(105 271.188 200.861)" fill="#73867C"/>
<ellipse cx="236.73" cy="228.539" rx="0.324429" ry="0.324429" transform="rotate(-180 236.73 228.539)" fill="#73867C"/>
<circle cx="260.943" cy="242.213" r="0.978774" transform="rotate(-180 260.943 242.213)" fill="#73867C"/>
<circle cx="278.726" cy="223.15" r="0.978774" transform="rotate(-75 278.726 223.15)" fill="#73867C"/>
<path d="M157.59 134.775H299.411V289.016H157.59V134.775Z" fill="url(#paint10_radial_1200_128306)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M221.512 179.86C219.947 177.987 217.185 177.68 215.247 179.162C213.277 180.667 212.873 183.471 214.335 185.472L220.131 193.4C222.12 196.122 222.044 199.839 219.944 202.477L209.594 215.479L220.176 226.493C217.548 227.232 214.907 228.842 213.05 231.876C211.498 234.411 211.703 237.235 212.383 239.539C213.067 241.862 214.371 244.177 215.813 246.264C218.71 250.457 222.682 254.457 225.453 256.877L228.173 259.253L234.506 251.767L231.341 249.529C230.159 248.693 228.493 247.266 227.353 245.796C226.782 245.059 226.471 244.473 226.344 244.08C226.301 243.944 226.283 243.83 226.277 243.753C226.276 243.744 226.276 243.735 226.276 243.728C226.617 243.103 227.607 242.368 229.721 241.99C231.757 241.626 234.353 241.912 236.885 243.205L239.481 244.531L245.098 237.428L242.172 235.242C240.268 233.819 237.406 231.22 235.177 228.204C232.875 225.087 231.834 222.287 232.043 219.918C232.241 217.675 233.526 214.849 235.097 212.288C236.664 209.736 238.418 207.603 239.418 206.739L242.064 204.453L221.512 179.86ZM216.243 180.465C217.484 179.516 219.252 179.713 220.253 180.912L239.77 204.267L238.346 205.498C237.166 206.517 235.308 208.808 233.699 211.43C232.096 214.043 230.642 217.139 230.409 219.773C230.149 222.719 231.451 225.921 233.858 229.179C236.2 232.348 239.184 235.056 241.19 236.556L242.766 237.733L239.029 242.458L237.631 241.744C234.791 240.294 231.833 239.946 229.432 240.375C227.062 240.799 225.402 241.731 224.755 243.101L224.735 243.143L224.698 243.251L224.697 243.255C224.629 243.461 224.628 243.694 224.641 243.872C224.656 244.079 224.699 244.322 224.782 244.581C224.989 245.225 225.422 245.982 226.057 246.801C227.326 248.437 229.125 249.971 230.394 250.868L232.098 252.074L227.997 256.921L226.532 255.642C223.825 253.277 219.958 249.378 217.162 245.331C215.768 243.314 214.571 241.162 213.956 239.076C213.343 236.997 213.237 234.711 214.449 232.732C216.354 229.621 219.196 228.238 221.912 227.785L223.446 227.529L211.771 215.378L221.228 203.498C223.788 200.282 223.881 195.751 221.455 192.432L215.66 184.504C214.723 183.223 214.983 181.428 216.243 180.465ZM227.791 254.201L229.289 252.431C226.55 250.494 221.464 245.795 223.025 242.491C224.977 238.361 232.102 236.772 238.501 240.04L240.045 238.089C235.793 234.911 227.536 226.742 228.517 219.48C229.497 212.218 234.644 206.167 237.094 204.049L218.785 182.139C218.44 181.727 217.832 181.659 217.405 181.985C216.972 182.317 216.883 182.934 217.205 183.374L223 191.303C225.935 195.318 225.822 200.799 222.725 204.69L214.311 215.259L228.789 230.328C225.915 229.238 219.349 228.394 216.081 233.732C212.813 239.069 222.526 249.601 227.791 254.201Z" fill="url(#paint11_linear_1200_128306)"/>
</g>
<rect x="161.918" y="158.418" width="130.856" height="120.642" rx="15.6756" stroke="url(#paint12_linear_1200_128306)" stroke-width="0.648858"/>
<rect x="-4.48828" y="-5.21289" width="456.316" height="405.213" fill="url(#paint13_radial_1200_128306)"/>
<g filter="url(#filter0_f_1200_128306)">
<ellipse cx="224.281" cy="-153.711" rx="349" ry="159" fill="url(#paint14_linear_1200_128306)"/>
</g>
<defs>
<filter id="filter0_f_1200_128306" x="-259.596" y="-447.588" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_128306"/>
</filter>
<linearGradient id="paint0_linear_1200_128306" x1="265.665" y1="242.576" x2="419.251" y2="242.576" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint1_linear_1200_128306" x1="258.347" y1="219.463" x2="417.742" y2="219.463" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint2_linear_1200_128306" x1="251.71" y1="196.348" x2="416.373" y2="196.348" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint3_linear_1200_128306" x1="265.665" y1="173.234" x2="419.251" y2="173.234" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint4_linear_1200_128306" x1="247.037" y1="265.004" x2="415.41" y2="265.004" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint5_linear_1200_128306" x1="196.263" y1="245.127" x2="36.8894" y2="245.127" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint6_linear_1200_128306" x1="196.289" y1="219.463" x2="36.8944" y2="219.463" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint7_linear_1200_128306" x1="188.972" y1="198.898" x2="35.3858" y2="198.898" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint8_linear_1200_128306" x1="203.24" y1="175.785" x2="38.3283" y2="175.785" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint9_linear_1200_128306" x1="207.6" y1="265.004" x2="39.2267" y2="265.004" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<radialGradient id="paint10_radial_1200_128306" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(228.5 226.603) rotate(180) scale(105.285 57.1296)">
<stop stop-color="white" stop-opacity="0.43"/>
<stop offset="0.651042" stop-color="#FCFBFB"/>
<stop offset="1" stop-color="#F2F2F2"/>
</radialGradient>
<linearGradient id="paint11_linear_1200_128306" x1="245.098" y1="178.225" x2="253.667" y2="299.046" gradientUnits="userSpaceOnUse">
<stop stop-color="#373737" stop-opacity="0.85"/>
<stop offset="1" stop-color="#5D7D7B" stop-opacity="0.35"/>
</linearGradient>
<linearGradient id="paint12_linear_1200_128306" x1="161.594" y1="196.493" x2="221.947" y2="233.528" gradientUnits="userSpaceOnUse">
<stop stop-color="#DAE9E2"/>
<stop offset="0.588542" stop-color="#89A296"/>
<stop offset="1" stop-color="#89A296" stop-opacity="0.08"/>
</linearGradient>
<radialGradient id="paint13_radial_1200_128306" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(223.67 216.528) rotate(90) scale(183.472 162.103)">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="1" stop-color="white"/>
</radialGradient>
<linearGradient id="paint14_linear_1200_128306" x1="57.5703" y1="-451.036" x2="217.151" y2="84.9167" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
<clipPath id="clip0_1200_128306">
<rect x="161.594" y="158.094" width="131.505" height="121.291" rx="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

@@ -0,0 +1,116 @@
<svg width="448" height="400" viewBox="0 0 448 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-16.2969" y="-8.0293" width="476.973" height="430.908" fill="#131313"/>
<path d="M260.359 243.852H458.131" stroke="url(#paint0_linear_1179_137555)"/>
<path d="M252.879 220.738H458.13" stroke="url(#paint1_linear_1179_137555)"/>
<path d="M246.094 197.623L458.129 197.623" stroke="url(#paint2_linear_1179_137555)"/>
<path d="M260.359 174.51H458.131" stroke="url(#paint3_linear_1179_137555)"/>
<path d="M241.316 266.279L458.129 266.279" stroke="url(#paint4_linear_1179_137555)"/>
<path d="M199.738 243.852L-5.48504 243.852" stroke="url(#paint5_linear_1179_137555)"/>
<path d="M199.766 220.738H-5.48563" stroke="url(#paint6_linear_1179_137555)"/>
<path d="M192.285 197.623L-5.48601 197.623" stroke="url(#paint7_linear_1179_137555)"/>
<path d="M206.871 174.51L-5.48402 174.51" stroke="url(#paint8_linear_1179_137555)"/>
<path d="M211.328 266.279L-5.48434 266.279" stroke="url(#paint9_linear_1179_137555)"/>
<g clip-path="url(#clip0_1179_137555)">
<rect x="160.598" y="158.094" width="131.505" height="121.291" rx="16" fill="#121212"/>
<circle cx="250.666" cy="205.185" r="0.978774" transform="rotate(-180 250.666 205.185)" fill="#73867C"/>
<circle cx="263.638" cy="185.072" r="0.978774" transform="rotate(-180 263.638 185.072)" fill="#73867C"/>
<ellipse cx="189.015" cy="190.256" rx="0.324429" ry="0.324429" transform="rotate(-180 189.015 190.256)" fill="#73867C"/>
<circle cx="188.373" cy="203.238" r="0.978774" transform="rotate(-180 188.373 203.238)" fill="#73867C"/>
<ellipse cx="177.34" cy="205.181" rx="0.324429" ry="0.324429" transform="rotate(-180 177.34 205.181)" fill="#73867C"/>
<circle cx="174.095" cy="198.695" r="0.978774" transform="rotate(-180 174.095 198.695)" fill="#73867C"/>
<circle cx="175.396" cy="233.084" r="0.978774" transform="rotate(-180 175.396 233.084)" fill="#73867C"/>
<circle cx="168.908" cy="220.758" r="0.978774" transform="rotate(-180 168.908 220.758)" fill="#73867C"/>
<circle cx="187.08" cy="220.758" r="0.978774" transform="rotate(-180 187.08 220.758)" fill="#73867C"/>
<circle cx="201.345" cy="235.035" r="0.978774" transform="rotate(-180 201.345 235.035)" fill="#73867C"/>
<ellipse cx="252.601" cy="253.195" rx="0.324429" ry="0.324429" transform="rotate(-180 252.601 253.195)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 192.914 246.057)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 203.945 238.272)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 195.504 236.324)" fill="#73867C"/>
<circle cx="258.019" cy="233.952" r="0.978774" transform="rotate(-75 258.019 233.952)" fill="#73867C"/>
<circle cx="230.121" cy="248.878" r="0.978774" transform="rotate(-75 230.121 248.878)" fill="#73867C"/>
<circle cx="270.192" cy="200.861" r="0.353739" transform="rotate(105 270.192 200.861)" fill="#73867C"/>
<ellipse cx="235.734" cy="228.539" rx="0.324429" ry="0.324429" transform="rotate(-180 235.734 228.539)" fill="#73867C"/>
<circle cx="259.947" cy="242.213" r="0.978774" transform="rotate(-180 259.947 242.213)" fill="#73867C"/>
<circle cx="277.73" cy="223.15" r="0.978774" transform="rotate(-75 277.73 223.15)" fill="#73867C"/>
<path d="M156.594 134.775H298.414V289.016H156.594V134.775Z" fill="url(#paint10_radial_1179_137555)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M220.516 179.86C218.951 177.987 216.189 177.68 214.251 179.162C212.281 180.667 211.876 183.471 213.339 185.472L219.135 193.4C221.124 196.122 221.048 199.839 218.948 202.477L208.598 215.479L219.18 226.493C216.552 227.232 213.911 228.842 212.054 231.876C210.502 234.411 210.707 237.235 211.386 239.539C212.071 241.862 213.375 244.177 214.816 246.264C217.714 250.457 221.686 254.457 224.457 256.877L227.177 259.253L233.51 251.767L230.345 249.529C229.163 248.693 227.497 247.266 226.357 245.796C225.786 245.059 225.475 244.473 225.348 244.08C225.305 243.944 225.287 243.83 225.281 243.753C225.28 243.744 225.28 243.735 225.28 243.728C225.621 243.103 226.611 242.368 228.725 241.99C230.761 241.626 233.357 241.912 235.889 243.205L238.485 244.531L244.102 237.428L241.176 235.242C239.272 233.819 236.41 231.22 234.181 228.204C231.879 225.087 230.838 222.287 231.047 219.918C231.245 217.675 232.53 214.849 234.101 212.288C235.668 209.736 237.422 207.603 238.422 206.739L241.068 204.453L220.516 179.86ZM215.247 180.465C216.488 179.516 218.256 179.713 219.257 180.912L238.774 204.267L237.35 205.498C236.17 206.517 234.312 208.808 232.703 211.43C231.099 214.043 229.646 217.139 229.413 219.773C229.153 222.719 230.455 225.921 232.862 229.179C235.203 232.348 238.188 235.056 240.194 236.556L241.77 237.733L238.033 242.458L236.635 241.744C233.795 240.294 230.837 239.946 228.436 240.375C226.066 240.799 224.406 241.731 223.759 243.101L223.739 243.143L223.702 243.251L223.701 243.255C223.633 243.461 223.632 243.694 223.645 243.872C223.66 244.079 223.703 244.322 223.786 244.581C223.993 245.225 224.426 245.982 225.061 246.801C226.33 248.437 228.129 249.971 229.398 250.868L231.102 252.074L227.001 256.921L225.536 255.642C222.829 253.277 218.962 249.378 216.166 245.331C214.772 243.314 213.575 241.162 212.96 239.076C212.347 236.997 212.241 234.711 213.453 232.732C215.358 229.621 218.199 228.238 220.916 227.785L222.45 227.529L210.775 215.378L220.232 203.498C222.792 200.282 222.885 195.751 220.459 192.432L214.664 184.504C213.727 183.223 213.986 181.428 215.247 180.465ZM226.795 254.201L228.293 252.431C225.554 250.494 220.468 245.795 222.029 242.491C223.98 238.361 231.106 236.772 237.505 240.04L239.048 238.089C234.797 234.911 226.54 226.742 227.52 219.48C228.501 212.218 233.648 206.167 236.098 204.049L217.789 182.139C217.444 181.727 216.836 181.659 216.409 181.985C215.976 182.317 215.887 182.934 216.209 183.374L222.004 191.303C224.939 195.318 224.826 200.799 221.729 204.69L213.315 215.259L227.793 230.328C224.919 229.238 218.353 228.394 215.085 233.732C211.817 239.069 221.53 249.601 226.795 254.201Z" fill="url(#paint11_linear_1179_137555)"/>
</g>
<rect x="160.922" y="158.418" width="130.856" height="120.642" rx="15.6756" stroke="url(#paint12_linear_1179_137555)" stroke-width="0.648858"/>
<rect x="-5.48438" y="-5.21289" width="456.316" height="405.213" fill="url(#paint13_radial_1179_137555)"/>
<g filter="url(#filter0_f_1179_137555)">
<ellipse cx="223.285" cy="-153.711" rx="349" ry="159" fill="url(#paint14_linear_1179_137555)"/>
</g>
<defs>
<filter id="filter0_f_1179_137555" x="-260.592" y="-447.588" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1179_137555"/>
</filter>
<linearGradient id="paint0_linear_1179_137555" x1="264.669" y1="242.576" x2="418.255" y2="242.576" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint1_linear_1179_137555" x1="257.351" y1="219.463" x2="416.746" y2="219.463" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint2_linear_1179_137555" x1="250.714" y1="196.348" x2="415.377" y2="196.348" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint3_linear_1179_137555" x1="264.669" y1="173.234" x2="418.255" y2="173.234" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint4_linear_1179_137555" x1="246.041" y1="265.004" x2="414.414" y2="265.004" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint5_linear_1179_137555" x1="195.267" y1="245.127" x2="35.8933" y2="245.127" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint6_linear_1179_137555" x1="195.293" y1="219.463" x2="35.8983" y2="219.463" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint7_linear_1179_137555" x1="187.976" y1="198.898" x2="34.3897" y2="198.898" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint8_linear_1179_137555" x1="202.244" y1="175.785" x2="37.3322" y2="175.785" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<linearGradient id="paint9_linear_1179_137555" x1="206.604" y1="265.004" x2="38.2306" y2="265.004" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="1" stop-color="#7AFFDF"/>
</linearGradient>
<radialGradient id="paint10_radial_1179_137555" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(227.504 226.616) rotate(-180) scale(38.2987 20.7816)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="0.630208" stop-color="#121212" stop-opacity="0.35"/>
<stop offset="1" stop-color="#121212" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint11_linear_1179_137555" x1="198.95" y1="250.213" x2="229.793" y2="248.933" gradientUnits="userSpaceOnUse">
<stop stop-color="#F4FFFA" stop-opacity="0.78"/>
<stop offset="1" stop-color="#D8FFEC" stop-opacity="0.6"/>
</linearGradient>
<linearGradient id="paint12_linear_1179_137555" x1="160.598" y1="196.493" x2="220.951" y2="233.528" gradientUnits="userSpaceOnUse">
<stop stop-color="#DAE9E2"/>
<stop offset="0.588542" stop-color="#89A296"/>
<stop offset="1" stop-color="#89A296" stop-opacity="0.08"/>
</linearGradient>
<radialGradient id="paint13_radial_1179_137555" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(222.674 216.528) rotate(90) scale(183.472 162.103)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="1" stop-color="#121212"/>
</radialGradient>
<linearGradient id="paint14_linear_1179_137555" x1="56.5742" y1="-451.036" x2="216.155" y2="84.9167" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
<clipPath id="clip0_1179_137555">
<rect x="160.598" y="158.094" width="131.505" height="121.291" rx="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

@@ -0,0 +1,153 @@
<svg width="449" height="401" viewBox="0 0 449 401" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-17.8438" y="-15.1914" width="476.973" height="430.908" fill="white"/>
<rect x="322.27" y="421.289" width="43.6605" height="43.0513" transform="rotate(180 322.27 421.289)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="278.613" y="421.289" width="43.6605" height="43.0513" transform="rotate(180 278.613 421.289)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.312" y="421.289" width="43.6605" height="43.0513" transform="rotate(180 453.312 421.289)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="234.949" y="421.289" width="43.6605" height="43.0513" transform="rotate(180 234.949 421.289)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.648" y="421.289" width="43.6605" height="43.0513" transform="rotate(180 409.648 421.289)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.301" y="421.289" width="43.6605" height="43.0513" transform="rotate(180 191.301 421.289)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="365.98" y="421.289" width="43.6605" height="43.0513" transform="rotate(180 365.98 421.289)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="322.27" y="378.236" width="43.6605" height="43.0513" transform="rotate(180 322.27 378.236)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="103.98" y="378.236" width="43.6605" height="43.0513" transform="rotate(180 103.98 378.236)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="322.27" y="335.188" width="43.6605" height="43.0513" transform="rotate(180 322.27 335.188)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="103.98" y="335.188" width="43.6605" height="43.0513" transform="rotate(180 103.98 335.188)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="278.613" y="378.236" width="43.6605" height="43.0513" transform="rotate(180 278.613 378.236)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="60.3164" y="378.236" width="43.6605" height="43.0513" transform="rotate(180 60.3164 378.236)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="278.613" y="335.188" width="43.6605" height="43.0513" transform="rotate(180 278.613 335.188)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="60.3164" y="335.188" width="43.6605" height="43.0513" transform="rotate(180 60.3164 335.188)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.312" y="378.236" width="43.6605" height="43.0513" transform="rotate(180 453.312 378.236)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="234.949" y="378.236" width="43.6605" height="43.0513" transform="rotate(180 234.949 378.236)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.312" y="335.188" width="43.6605" height="43.0513" transform="rotate(180 453.312 335.188)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="234.949" y="335.188" width="43.6605" height="43.0513" transform="rotate(180 234.949 335.188)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.648" y="378.236" width="43.6605" height="43.0513" transform="rotate(180 409.648 378.236)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.648" y="335.188" width="43.6605" height="43.0513" transform="rotate(180 409.648 335.188)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.301" y="335.188" width="43.6605" height="43.0513" transform="rotate(180 191.301 335.188)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="365.98" y="378.236" width="43.6605" height="43.0513" transform="rotate(180 365.98 378.236)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="147.629" y="378.236" width="43.6605" height="43.0513" transform="rotate(180 147.629 378.236)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="365.98" y="335.188" width="43.6605" height="43.0513" transform="rotate(180 365.98 335.188)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="147.629" y="335.188" width="43.6605" height="43.0513" transform="rotate(180 147.629 335.188)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="322.27" y="292.135" width="43.6605" height="43.0513" transform="rotate(180 322.27 292.135)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="103.98" y="292.135" width="43.6605" height="43.0513" transform="rotate(180 103.98 292.135)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="322.27" y="249.082" width="43.6605" height="43.0513" transform="rotate(180 322.27 249.082)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="278.613" y="292.135" width="43.6605" height="43.0513" transform="rotate(180 278.613 292.135)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="60.3164" y="292.135" width="43.6605" height="43.0513" transform="rotate(180 60.3164 292.135)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="278.613" y="249.082" width="43.6605" height="43.0513" transform="rotate(180 278.613 249.082)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.312" y="292.135" width="43.6605" height="43.0513" transform="rotate(180 453.312 292.135)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="234.949" y="292.135" width="43.6605" height="43.0513" transform="rotate(180 234.949 292.135)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="16.6602" y="292.135" width="43.6605" height="43.0513" transform="rotate(180 16.6602 292.135)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.312" y="249.082" width="43.6605" height="43.0513" transform="rotate(180 453.312 249.082)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="234.949" y="249.082" width="43.6605" height="43.0513" transform="rotate(180 234.949 249.082)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.648" y="292.135" width="43.6605" height="43.0513" transform="rotate(180 409.648 292.135)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.293" y="292.135" width="43.6605" height="43.0513" transform="rotate(180 191.293 292.135)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.645" y="249.082" width="43.6605" height="43.0513" transform="rotate(180 409.645 249.082)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.293" y="249.082" width="43.6605" height="43.0513" transform="rotate(180 191.293 249.082)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="365.98" y="292.135" width="43.6605" height="43.0513" transform="rotate(180 365.98 292.135)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="147.629" y="292.135" width="43.6605" height="43.0513" transform="rotate(180 147.629 292.135)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="365.98" y="249.082" width="43.6605" height="43.0513" transform="rotate(180 365.98 249.082)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="103.98" y="162.982" width="43.6605" height="43.0513" transform="rotate(180 103.98 162.982)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="278.613" y="206.031" width="43.6605" height="43.0513" transform="rotate(180 278.613 206.031)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.312" y="206.031" width="43.6605" height="43.0513" transform="rotate(180 453.312 206.031)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="234.949" y="162.982" width="43.6605" height="43.0513" transform="rotate(180 234.949 162.982)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="16.6602" y="162.982" width="43.6605" height="43.0513" transform="rotate(180 16.6602 162.982)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.645" y="206.031" width="43.6605" height="43.0513" transform="rotate(180 409.645 206.031)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.293" y="206.031" width="43.6605" height="43.0513" transform="rotate(180 191.293 206.031)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.641" y="162.982" width="43.6605" height="43.0513" transform="rotate(180 409.641 162.982)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.293" y="162.982" width="43.6605" height="43.0513" transform="rotate(180 191.293 162.982)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="365.98" y="162.982" width="43.6605" height="43.0513" transform="rotate(180 365.98 162.982)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="147.629" y="162.982" width="43.6605" height="43.0513" transform="rotate(180 147.629 162.982)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="103.98" y="119.93" width="43.6605" height="43.0513" transform="rotate(180 103.98 119.93)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="103.98" y="76.8789" width="43.6605" height="43.0513" transform="rotate(180 103.98 76.8789)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="60.3164" y="119.93" width="43.6605" height="43.0513" transform="rotate(180 60.3164 119.93)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="60.3164" y="76.8789" width="43.6605" height="43.0513" transform="rotate(180 60.3164 76.8789)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.312" y="119.93" width="43.6605" height="43.0513" transform="rotate(180 453.312 119.93)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="16.6602" y="119.93" width="43.6605" height="43.0513" transform="rotate(180 16.6602 119.93)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.312" y="76.8789" width="43.6605" height="43.0513" transform="rotate(180 453.312 76.8789)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.641" y="119.93" width="43.6605" height="43.0513" transform="rotate(180 409.641 119.93)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.293" y="119.93" width="43.6605" height="43.0513" transform="rotate(180 191.293 119.93)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.641" y="76.8789" width="43.6605" height="43.0513" transform="rotate(180 409.641 76.8789)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.293" y="76.8789" width="43.6605" height="43.0513" transform="rotate(180 191.293 76.8789)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="147.629" y="76.8789" width="43.6605" height="43.0513" transform="rotate(180 147.629 76.8789)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="103.98" y="33.8262" width="43.6605" height="43.0513" transform="rotate(180 103.98 33.8262)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="60.3164" y="33.8262" width="43.6605" height="43.0513" transform="rotate(180 60.3164 33.8262)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.312" y="33.8262" width="43.6605" height="43.0513" transform="rotate(180 453.312 33.8262)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.301" y="378.236" width="43.6605" height="43.0513" transform="rotate(180 191.301 378.236)" stroke="url(#paint0_linear_1200_162172)"/>
<rect x="147.629" y="249.082" width="43.6605" height="43.0513" transform="rotate(180 147.629 249.082)" stroke="url(#paint1_linear_1200_162172)"/>
<rect x="60.3164" y="162.982" width="43.6605" height="43.0513" transform="rotate(180 60.3164 162.982)" stroke="url(#paint2_linear_1200_162172)"/>
<rect x="234.949" y="206.031" width="43.6605" height="43.0513" transform="rotate(180 234.949 206.031)" stroke="url(#paint3_linear_1200_162172)"/>
<rect x="147.629" y="119.93" width="43.6605" height="43.0513" transform="rotate(180 147.629 119.93)" stroke="url(#paint4_linear_1200_162172)"/>
<rect x="409.641" y="163.154" width="43.6605" height="43.0513" transform="rotate(180 409.641 163.154)" stroke="url(#paint5_linear_1200_162172)"/>
<g filter="url(#filter0_b_1200_162172)">
<rect x="80.0703" y="194.129" width="780.105" height="261.435" rx="16.8514" fill="url(#paint6_linear_1200_162172)"/>
<rect x="80.5969" y="194.656" width="779.052" height="260.382" rx="16.3248" stroke="#EDEDED" stroke-width="1.05321"/>
</g>
<g filter="url(#filter1_b_1200_162172)">
<rect x="172.309" y="202.951" width="637.15" height="34.9379" rx="17.4689" fill="#EDEDED"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M190.618 217.958H193.217V216.623C193.217 215.905 192.635 215.323 191.918 215.323C191.2 215.323 190.618 215.905 190.618 216.623V217.958ZM189.285 217.958H188.306C187.569 217.958 186.973 218.555 186.973 219.291V225.519C186.973 226.255 187.569 226.852 188.306 226.852H195.528C196.264 226.852 196.861 226.255 196.861 225.519V219.291C196.861 218.555 196.264 217.958 195.528 217.958H194.55V216.623C194.55 215.169 193.372 213.99 191.918 213.99C190.464 213.99 189.285 215.169 189.285 216.623V217.958Z" fill="#3E3E3E"/>
<path d="M216.277 221.972C216.306 220.925 216.866 220.099 217.928 220.099C219.167 220.099 219.579 220.895 219.579 221.883V226.145H220.965V221.647C220.965 220.07 220.125 218.846 218.429 218.846C217.618 218.846 216.793 219.126 216.277 219.878V215.469H214.891V226.145H216.277V221.972ZM225.028 216.811H223.76V217.961C223.76 218.58 223.436 219.052 222.669 219.052H222.285V220.306H223.642V224.198C223.642 225.481 224.409 226.218 225.618 226.218C226.09 226.218 226.444 226.13 226.562 226.086V224.906C226.444 224.935 226.193 224.965 226.016 224.965C225.293 224.965 225.028 224.641 225.028 223.992V220.306H226.562V219.052H225.028V216.811ZM230.269 216.811H229.001V217.961C229.001 218.58 228.677 219.052 227.91 219.052H227.527V220.306H228.883V224.198C228.883 225.481 229.65 226.218 230.859 226.218C231.331 226.218 231.685 226.13 231.803 226.086V224.906C231.685 224.935 231.434 224.965 231.257 224.965C230.535 224.965 230.269 224.641 230.269 223.992V220.306H231.803V219.052H230.269V216.811ZM234.88 228.946V225.186C235.264 225.82 236.089 226.336 237.18 226.336C239.259 226.336 240.483 224.7 240.483 222.591C240.483 220.527 239.348 218.89 237.225 218.89C236.075 218.89 235.234 219.45 234.851 220.158V219.052H233.509V228.946H234.88ZM239.068 222.591C239.068 224.051 238.257 225.098 236.974 225.098C235.706 225.098 234.865 224.051 234.865 222.591C234.865 221.175 235.706 220.114 236.974 220.114C238.272 220.114 239.068 221.175 239.068 222.591ZM241.586 224.301C241.704 225.112 242.53 226.366 244.476 226.366C246.231 226.366 247.071 225.171 247.071 224.169C247.071 223.122 246.393 222.34 245.11 222.06L243.96 221.81C243.414 221.692 243.149 221.382 243.149 220.954C243.149 220.468 243.621 220.011 244.328 220.011C245.449 220.011 245.744 220.822 245.803 221.19L247.027 220.733C246.879 220.099 246.275 218.831 244.328 218.831C242.942 218.831 241.807 219.863 241.807 221.072C241.807 222.075 242.471 222.827 243.576 223.063L244.786 223.328C245.375 223.461 245.7 223.8 245.7 224.242C245.7 224.744 245.272 225.186 244.491 225.186C243.488 225.186 242.928 224.596 242.839 223.859L241.586 224.301ZM248.857 225.201C248.857 225.776 249.3 226.218 249.875 226.218C250.45 226.218 250.907 225.776 250.907 225.201C250.907 224.626 250.45 224.169 249.875 224.169C249.3 224.169 248.857 224.626 248.857 225.201ZM248.843 220.011C248.843 220.586 249.285 221.028 249.86 221.028C250.435 221.028 250.892 220.586 250.892 220.011C250.892 219.436 250.435 218.978 249.86 218.978C249.285 218.978 248.843 219.436 248.843 220.011ZM258.413 215.69H257.071L252.013 226.145H253.355L258.413 215.69ZM262.747 215.69H261.405L256.348 226.145H257.689L262.747 215.69ZM262.076 224.301C262.194 225.112 263.02 226.366 264.966 226.366C266.721 226.366 267.561 225.171 267.561 224.169C267.561 223.122 266.883 222.34 265.6 222.06L264.45 221.81C263.905 221.692 263.639 221.382 263.639 220.954C263.639 220.468 264.111 220.011 264.819 220.011C265.939 220.011 266.234 220.822 266.293 221.19L267.517 220.733C267.37 220.099 266.765 218.831 264.819 218.831C263.433 218.831 262.297 219.863 262.297 221.072C262.297 222.075 262.961 222.827 264.067 223.063L265.276 223.328C265.866 223.461 266.19 223.8 266.19 224.242C266.19 224.744 265.762 225.186 264.981 225.186C263.978 225.186 263.418 224.596 263.33 223.859L262.076 224.301ZM274.009 225.289C274.009 225.584 274.038 225.982 274.068 226.145H275.395C275.365 225.894 275.321 225.393 275.321 224.832V219.052H273.935V223.328C273.935 224.405 273.375 225.142 272.254 225.142C271.089 225.142 270.647 224.287 270.647 223.313V219.052H269.261V223.52C269.261 225.127 270.264 226.366 271.915 226.366C272.741 226.366 273.625 226.027 274.009 225.289ZM279.058 228.946V225.186C279.441 225.82 280.267 226.336 281.358 226.336C283.437 226.336 284.661 224.7 284.661 222.591C284.661 220.527 283.525 218.89 281.402 218.89C280.252 218.89 279.411 219.45 279.028 220.158V219.052H277.686V228.946H279.058ZM283.245 222.591C283.245 224.051 282.434 225.098 281.151 225.098C279.883 225.098 279.043 224.051 279.043 222.591C279.043 221.175 279.883 220.114 281.151 220.114C282.449 220.114 283.245 221.175 283.245 222.591ZM285.984 224.242C285.984 225.363 286.913 226.366 288.358 226.366C289.626 226.366 290.334 225.687 290.644 225.186C290.644 225.702 290.688 225.968 290.717 226.145H292.074C292.045 225.968 291.986 225.599 291.986 224.98V221.426C291.986 220.04 291.16 218.831 289.037 218.831C287.503 218.831 286.279 219.775 286.132 221.131L287.459 221.441C287.547 220.615 288.093 220.011 289.066 220.011C290.142 220.011 290.6 220.586 290.6 221.279C290.6 221.529 290.482 221.751 290.054 221.81L288.137 222.09C286.913 222.267 285.984 222.974 285.984 224.242ZM288.55 225.201C287.842 225.201 287.4 224.7 287.4 224.169C287.4 223.535 287.842 223.196 288.432 223.107L290.6 222.783V223.107C290.6 224.655 289.685 225.201 288.55 225.201ZM294.97 222.576C294.97 221.116 295.796 220.084 297.064 220.084C298.332 220.084 299.099 221.087 299.099 222.547C299.099 224.007 298.318 225.112 297.05 225.112C295.722 225.112 294.97 224.036 294.97 222.576ZM299.114 225.186C299.114 225.614 Line truncated
<rect x="172.309" y="202.951" width="637.15" height="34.9379" rx="17.4689" stroke="#DBDBDB"/>
</g>
<circle cx="105.9" cy="220.425" r="5.20446" fill="#3E3E3E"/>
<circle cx="121.978" cy="220.425" r="5.20446" fill="#3E3E3E"/>
<circle cx="138.056" cy="220.425" r="5.20446" fill="#3E3E3E"/>
<rect x="0.585938" y="-0.835938" width="447.055" height="402.196" fill="url(#paint7_radial_1200_162172)"/>
<g filter="url(#filter2_f_1200_162172)">
<ellipse cx="223.926" cy="-112.641" rx="349" ry="159" fill="url(#paint8_linear_1200_162172)"/>
</g>
<defs>
<filter id="filter0_b_1200_162172" x="24.0864" y="138.145" width="892.073" height="373.403" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feGaussianBlur in="BackgroundImageFix" stdDeviation="27.992"/>
<feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_1200_162172"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_backgroundBlur_1200_162172" result="shape"/>
</filter>
<filter id="filter1_b_1200_162172" x="171.471" y="202.114" width="638.823" height="36.6122" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feGaussianBlur in="BackgroundImageFix" stdDeviation="0.168672"/>
<feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_1200_162172"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_backgroundBlur_1200_162172" result="shape"/>
</filter>
<filter id="filter2_f_1200_162172" x="-259.951" y="-406.517" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_162172"/>
</filter>
<linearGradient id="paint0_linear_1200_162172" x1="213.131" y1="378.236" x2="213.131" y2="421.288" gradientUnits="userSpaceOnUse">
<stop stop-color="#00FFF0" stop-opacity="0.12"/>
<stop offset="1" stop-color="#00C5A1" stop-opacity="0.29"/>
</linearGradient>
<linearGradient id="paint1_linear_1200_162172" x1="169.459" y1="249.082" x2="169.459" y2="292.133" gradientUnits="userSpaceOnUse">
<stop stop-color="#00FFF0" stop-opacity="0.12"/>
<stop offset="1" stop-color="#00C5A1" stop-opacity="0.29"/>
</linearGradient>
<linearGradient id="paint2_linear_1200_162172" x1="82.1466" y1="162.982" x2="82.1466" y2="206.034" gradientUnits="userSpaceOnUse">
<stop stop-color="#00FFF0" stop-opacity="0.12"/>
<stop offset="1" stop-color="#00C5A1" stop-opacity="0.29"/>
</linearGradient>
<linearGradient id="paint3_linear_1200_162172" x1="256.779" y1="206.031" x2="256.779" y2="249.083" gradientUnits="userSpaceOnUse">
<stop stop-color="#00FFF0" stop-opacity="0.12"/>
<stop offset="1" stop-color="#00C5A1" stop-opacity="0.29"/>
</linearGradient>
<linearGradient id="paint4_linear_1200_162172" x1="169.459" y1="119.93" x2="169.459" y2="162.981" gradientUnits="userSpaceOnUse">
<stop stop-color="#00FFF0" stop-opacity="0.12"/>
<stop offset="1" stop-color="#00C5A1" stop-opacity="0.29"/>
</linearGradient>
<linearGradient id="paint5_linear_1200_162172" x1="431.471" y1="163.154" x2="431.471" y2="206.206" gradientUnits="userSpaceOnUse">
<stop stop-color="#00FFF0" stop-opacity="0.12"/>
<stop offset="1" stop-color="#00C5A1" stop-opacity="0.29"/>
</linearGradient>
<linearGradient id="paint6_linear_1200_162172" x1="470.123" y1="194.129" x2="470.123" y2="455.564" gradientUnits="userSpaceOnUse">
<stop stop-color="#EDEDED"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint7_radial_1200_162172" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(205.599 217.932) rotate(-180) scale(283.814 281.164)">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="0.630208" stop-color="white" stop-opacity="0.35"/>
<stop offset="1" stop-color="white" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint8_linear_1200_162172" x1="57.2148" y1="-409.966" x2="216.796" y2="125.987" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 25 KiB

@@ -0,0 +1,161 @@
<svg width="448" height="400" viewBox="0 0 448 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-18.4844" y="-15.4531" width="476.973" height="430.908" fill="#131313"/>
<rect x="321.629" y="421.027" width="43.6605" height="43.0513" transform="rotate(180 321.629 421.027)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="277.973" y="421.027" width="43.6605" height="43.0513" transform="rotate(180 277.973 421.027)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="421.027" width="43.6605" height="43.0513" transform="rotate(180 452.672 421.027)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="234.309" y="421.027" width="43.6605" height="43.0513" transform="rotate(180 234.309 421.027)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409.008" y="421.027" width="43.6605" height="43.0513" transform="rotate(180 409.008 421.027)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.66" y="421.027" width="43.6605" height="43.0513" transform="rotate(180 190.66 421.027)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="365.34" y="421.027" width="43.6605" height="43.0513" transform="rotate(180 365.34 421.027)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="321.629" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 321.629 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="103.34" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 103.34 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="321.629" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 321.629 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="103.34" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 103.34 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="277.973" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 277.973 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="59.6758" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 59.6758 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="277.973" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 277.973 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="59.6758" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 59.6758 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 452.672 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="234.309" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 234.309 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 452.672 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="234.309" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 234.309 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409.008" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 409.008 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409.008" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 409.008 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.66" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 190.66 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="365.34" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 365.34 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="146.988" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 146.988 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="365.34" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 365.34 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="146.988" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 146.988 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="321.629" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 321.629 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="103.34" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 103.34 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="321.629" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 321.629 248.82)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="277.973" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 277.973 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="59.6758" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 59.6758 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="277.973" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 277.973 248.82)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 452.672 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="234.309" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 234.309 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="16.0195" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 16.0195 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 452.672 248.82)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="234.309" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 234.309 248.82)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409.008" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 409.008 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.652" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 190.652 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409.004" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 409.004 248.82)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.652" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 190.652 248.82)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="365.34" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 365.34 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="146.988" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 146.988 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="365.34" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 365.34 248.82)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="103.34" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 103.34 162.721)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="277.973" y="205.77" width="43.6605" height="43.0513" transform="rotate(180 277.973 205.77)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="205.77" width="43.6605" height="43.0513" transform="rotate(180 452.672 205.77)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="234.309" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 234.309 162.721)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="16.0195" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 16.0195 162.721)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409.004" y="205.77" width="43.6605" height="43.0513" transform="rotate(180 409.004 205.77)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.652" y="205.77" width="43.6605" height="43.0513" transform="rotate(180 190.652 205.77)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 409 162.721)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.652" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 190.652 162.721)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="365.34" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 365.34 162.721)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="146.988" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 146.988 162.721)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="103.34" y="119.668" width="43.6605" height="43.0513" transform="rotate(180 103.34 119.668)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="103.34" y="76.6172" width="43.6605" height="43.0513" transform="rotate(180 103.34 76.6172)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="59.6758" y="119.668" width="43.6605" height="43.0513" transform="rotate(180 59.6758 119.668)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="59.6758" y="76.6172" width="43.6605" height="43.0513" transform="rotate(180 59.6758 76.6172)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="119.668" width="43.6605" height="43.0513" transform="rotate(180 452.672 119.668)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="16.0195" y="119.668" width="43.6605" height="43.0513" transform="rotate(180 16.0195 119.668)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="76.6172" width="43.6605" height="43.0513" transform="rotate(180 452.672 76.6172)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409" y="119.668" width="43.6605" height="43.0513" transform="rotate(180 409 119.668)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.652" y="119.668" width="43.6605" height="43.0513" transform="rotate(180 190.652 119.668)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409" y="76.6172" width="43.6605" height="43.0513" transform="rotate(180 409 76.6172)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.652" y="76.6172" width="43.6605" height="43.0513" transform="rotate(180 190.652 76.6172)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="146.988" y="76.6172" width="43.6605" height="43.0513" transform="rotate(180 146.988 76.6172)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="103.34" y="33.5645" width="43.6605" height="43.0513" transform="rotate(180 103.34 33.5645)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="59.6758" y="33.5645" width="43.6605" height="43.0513" transform="rotate(180 59.6758 33.5645)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="33.5645" width="43.6605" height="43.0513" transform="rotate(180 452.672 33.5645)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.66" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 190.66 377.975)" stroke="url(#paint0_linear_1116_120440)"/>
<rect x="146.988" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 146.988 248.82)" stroke="url(#paint1_linear_1116_120440)"/>
<rect x="59.6758" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 59.6758 162.721)" stroke="url(#paint2_linear_1116_120440)"/>
<rect x="234.309" y="205.77" width="43.6605" height="43.0513" transform="rotate(180 234.309 205.77)" stroke="url(#paint3_linear_1116_120440)"/>
<rect x="146.988" y="119.668" width="43.6605" height="43.0513" transform="rotate(180 146.988 119.668)" stroke="url(#paint4_linear_1116_120440)"/>
<rect x="409" y="162.893" width="43.6605" height="43.0513" transform="rotate(180 409 162.893)" stroke="url(#paint5_linear_1116_120440)"/>
<g filter="url(#filter0_b_1116_120440)">
<rect x="79.4297" y="193.867" width="780.105" height="261.435" rx="16.8514" fill="url(#paint6_linear_1116_120440)"/>
<rect x="79.9563" y="194.394" width="779.052" height="260.382" rx="16.3248" stroke="#161616" stroke-width="1.05321"/>
</g>
<g filter="url(#filter1_b_1116_120440)">
<rect x="171.668" y="202.689" width="637.15" height="34.9379" rx="17.4689" fill="url(#paint7_radial_1116_120440)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M189.977 217.697H192.577V216.361C192.577 215.643 191.995 215.061 191.277 215.061C190.559 215.061 189.977 215.643 189.977 216.361V217.697ZM188.644 217.697H187.665C186.929 217.697 186.332 218.293 186.332 219.03V225.257C186.332 225.993 186.929 226.59 187.665 226.59H194.888C195.624 226.59 196.221 225.993 196.221 225.257V219.03C196.221 218.293 195.624 217.697 194.888 217.697H193.91V216.361C193.91 214.907 192.731 213.729 191.277 213.729C189.823 213.729 188.644 214.907 188.644 216.361V217.697Z" fill="#3E3E3E"/>
<path d="M215.636 221.71C215.665 220.663 216.226 219.837 217.287 219.837C218.526 219.837 218.939 220.634 218.939 221.622V225.883H220.325V221.386C220.325 219.808 219.484 218.584 217.789 218.584C216.978 218.584 216.152 218.864 215.636 219.616V215.207H214.25V225.883H215.636V221.71ZM224.387 216.549H223.119V217.699C223.119 218.319 222.795 218.79 222.028 218.79H221.645V220.044H223.001V223.936C223.001 225.219 223.768 225.957 224.977 225.957C225.449 225.957 225.803 225.868 225.921 225.824V224.644C225.803 224.674 225.552 224.703 225.375 224.703C224.653 224.703 224.387 224.379 224.387 223.73V220.044H225.921V218.79H224.387V216.549ZM229.629 216.549H228.361V217.699C228.361 218.319 228.036 218.79 227.27 218.79H226.886V220.044H228.243V223.936C228.243 225.219 229.01 225.957 230.219 225.957C230.69 225.957 231.044 225.868 231.162 225.824V224.644C231.044 224.674 230.794 224.703 230.617 224.703C229.894 224.703 229.629 224.379 229.629 223.73V220.044H231.162V218.79H229.629V216.549ZM234.24 228.684V224.924C234.623 225.558 235.449 226.074 236.54 226.074C238.619 226.074 239.843 224.438 239.843 222.329C239.843 220.265 238.707 218.628 236.584 218.628C235.434 218.628 234.593 219.189 234.21 219.896V218.79H232.868V228.684H234.24ZM238.427 222.329C238.427 223.789 237.616 224.836 236.333 224.836C235.065 224.836 234.225 223.789 234.225 222.329C234.225 220.914 235.065 219.852 236.333 219.852C237.631 219.852 238.427 220.914 238.427 222.329ZM240.945 224.04C241.063 224.851 241.889 226.104 243.835 226.104C245.59 226.104 246.43 224.91 246.43 223.907C246.43 222.86 245.752 222.079 244.469 221.798L243.319 221.548C242.774 221.43 242.508 221.12 242.508 220.693C242.508 220.206 242.98 219.749 243.688 219.749C244.808 219.749 245.103 220.56 245.162 220.929L246.386 220.471C246.239 219.837 245.634 218.569 243.688 218.569C242.302 218.569 241.166 219.601 241.166 220.811C241.166 221.813 241.83 222.565 242.936 222.801L244.145 223.067C244.735 223.199 245.059 223.538 245.059 223.981C245.059 224.482 244.631 224.924 243.85 224.924C242.847 224.924 242.287 224.335 242.199 223.597L240.945 224.04ZM248.217 224.939C248.217 225.514 248.659 225.957 249.234 225.957C249.809 225.957 250.266 225.514 250.266 224.939C250.266 224.364 249.809 223.907 249.234 223.907C248.659 223.907 248.217 224.364 248.217 224.939ZM248.202 219.749C248.202 220.324 248.644 220.766 249.219 220.766C249.794 220.766 250.251 220.324 250.251 219.749C250.251 219.174 249.794 218.717 249.219 218.717C248.644 218.717 248.202 219.174 248.202 219.749ZM257.772 215.429H256.43L251.373 225.883H252.714L257.772 215.429ZM262.106 215.429H260.764L255.707 225.883H257.049L262.106 215.429ZM261.436 224.04C261.554 224.851 262.379 226.104 264.326 226.104C266.08 226.104 266.921 224.91 266.921 223.907C266.921 222.86 266.242 222.079 264.96 221.798L263.809 221.548C263.264 221.43 262.999 221.12 262.999 220.693C262.999 220.206 263.47 219.749 264.178 219.749C265.299 219.749 265.594 220.56 265.653 220.929L266.876 220.471C266.729 219.837 266.124 218.569 264.178 218.569C262.792 218.569 261.657 219.601 261.657 220.811C261.657 221.813 262.32 222.565 263.426 222.801L264.635 223.067C265.225 223.199 265.549 223.538 265.549 223.981C265.549 224.482 265.122 224.924 264.34 224.924C263.338 224.924 262.777 224.335 262.689 223.597L261.436 224.04ZM273.368 225.028C273.368 225.323 273.398 225.721 273.427 225.883H274.754C274.725 225.632 274.68 225.131 274.68 224.571V218.79H273.294V223.067C273.294 224.143 272.734 224.88 271.614 224.88C270.449 224.88 270.006 224.025 270.006 223.052V218.79H268.62V223.258C268.62 224.865 269.623 226.104 271.274 226.104C272.1 226.104 272.985 225.765 273.368 225.028ZM278.417 228.684V224.924C278.8 225.558 279.626 226.074 280.717 226.074C282.796 226.074 284.02 224.438 284.02 222.329C284.02 220.265 282.885 218.628 280.761 218.628C279.611 218.628 278.771 219.189 278.387 219.896V218.79H277.046V228.684H278.417ZM282.605 222.329C282.605 223.789 281.794 224.836 280.511 224.836C279.243 224.836 278.402 223.789 278.402 222.329C278.402 220.914 279.243 219.852 280.511 219.852C281.808 219.852 282.605 220.914 282.605 222.329ZM285.344 223.981C285.344 225.101 286.273 226.104 287.718 226.104C288.986 226.104 289.694 225.426 290.003 224.924C290.003 225.44 290.047 225.706 290.077 225.883H291.433C291.404 225.706 291.345 225.337 291.345 224.718V221.164C291.345 219.778 290.519 218.569 288.396 218.569C286.862 218.569 285.639 219.513 285.491 220.87L286.818 221.179C286.907 220.353 287.452 219.749 288.425 219.749C289.502 219.749 289.959 220.324 289.959 221.017C289.959 221.268 289.841 221.489 289.413 221.548L287.496 221.828C286.273 222.005 285.344 222.713 285.344 223.981ZM287.909 224.939C287.202 224.939 286.759 224.438 286.759 223.907C286.759 223.273 287.202 222.934 287.791 222.845L289.959 222.521V222.845C289.959 224.394 289.045 224.939 287.909 224.939ZM294.33 222.315C294.33 220.855 295.156 219.823 296.424 219.823C297.692 219.823 298.458 220.825 298.458 222.285C298.458 223.745 297.677 224.851 296.409 224.851C295.082 224.851 294.33 223.774 294.33 222.315ZM2Line truncated
<rect x="172.334" y="203.356" width="635.817" height="33.6049" rx="16.8025" stroke="url(#paint8_linear_1116_120440)" stroke-width="1.33295"/>
</g>
<circle cx="105.259" cy="220.163" r="5.20446" fill="#3E3E3E"/>
<circle cx="121.337" cy="220.163" r="5.20446" fill="#3E3E3E"/>
<circle cx="137.415" cy="220.163" r="5.20446" fill="#3E3E3E"/>
<rect x="-0.0546875" y="-1.09766" width="447.055" height="402.196" fill="url(#paint9_radial_1116_120440)"/>
<g filter="url(#filter2_f_1116_120440)">
<ellipse cx="223.285" cy="-112.902" rx="349" ry="159" fill="url(#paint10_linear_1116_120440)"/>
</g>
<defs>
<filter id="filter0_b_1116_120440" x="23.4458" y="137.883" width="892.073" height="373.403" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feGaussianBlur in="BackgroundImageFix" stdDeviation="27.992"/>
<feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_1116_120440"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_backgroundBlur_1116_120440" result="shape"/>
</filter>
<filter id="filter1_b_1116_120440" x="115.684" y="146.706" width="749.116" height="146.905" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feGaussianBlur in="BackgroundImageFix" stdDeviation="27.992"/>
<feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_1116_120440"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_backgroundBlur_1116_120440" result="shape"/>
</filter>
<filter id="filter2_f_1116_120440" x="-260.592" y="-406.779" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1116_120440"/>
</filter>
<linearGradient id="paint0_linear_1116_120440" x1="212.49" y1="377.975" x2="212.49" y2="421.026" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint1_linear_1116_120440" x1="168.819" y1="248.82" x2="168.819" y2="291.872" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint2_linear_1116_120440" x1="81.506" y1="162.721" x2="81.506" y2="205.772" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint3_linear_1116_120440" x1="256.139" y1="205.77" x2="256.139" y2="248.821" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint4_linear_1116_120440" x1="168.819" y1="119.668" x2="168.819" y2="162.719" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint5_linear_1116_120440" x1="430.83" y1="162.893" x2="430.83" y2="205.944" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint6_linear_1116_120440" x1="48.6989" y1="15.0962" x2="352.231" y2="439.063" gradientUnits="userSpaceOnUse">
<stop stop-color="#222121"/>
<stop offset="1" stop-color="#131313"/>
</linearGradient>
<radialGradient id="paint7_radial_1116_120440" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(177.399 203.729) rotate(5.77818) scale(663.506 130.479)">
<stop stop-color="#040404" stop-opacity="0.4"/>
<stop offset="1" stop-color="#121212" stop-opacity="0"/>
</radialGradient>
<linearGradient id="paint8_linear_1116_120440" x1="381.197" y1="183.76" x2="378.857" y2="232.253" gradientUnits="userSpaceOnUse">
<stop stop-color="#232323"/>
<stop offset="1" stop-color="#1C1C1C"/>
</linearGradient>
<radialGradient id="paint9_radial_1116_120440" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(204.958 217.67) rotate(-180) scale(283.814 281.164)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="0.630208" stop-color="#121212" stop-opacity="0.35"/>
<stop offset="1" stop-color="#121212" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint10_linear_1116_120440" x1="56.5742" y1="-410.228" x2="216.155" y2="125.725" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 25 KiB

@@ -0,0 +1,153 @@
<svg width="449" height="401" viewBox="0 0 449 401" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-13.4727" y="-17.6211" width="476.973" height="430.908" fill="white"/>
<rect x="322.129" y="421.344" width="43.6605" height="43.0513" transform="rotate(180 322.129 421.344)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="278.473" y="421.344" width="43.6605" height="43.0513" transform="rotate(180 278.473 421.344)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.172" y="421.344" width="43.6605" height="43.0513" transform="rotate(180 453.172 421.344)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="234.809" y="421.344" width="43.6605" height="43.0513" transform="rotate(180 234.809 421.344)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.508" y="421.344" width="43.6605" height="43.0513" transform="rotate(180 409.508 421.344)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.16" y="421.344" width="43.6605" height="43.0513" transform="rotate(180 191.16 421.344)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="365.84" y="421.344" width="43.6605" height="43.0513" transform="rotate(180 365.84 421.344)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="322.129" y="378.291" width="43.6605" height="43.0513" transform="rotate(180 322.129 378.291)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="103.84" y="378.291" width="43.6605" height="43.0513" transform="rotate(180 103.84 378.291)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="322.129" y="335.242" width="43.6605" height="43.0513" transform="rotate(180 322.129 335.242)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="103.84" y="335.242" width="43.6605" height="43.0513" transform="rotate(180 103.84 335.242)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="278.473" y="378.291" width="43.6605" height="43.0513" transform="rotate(180 278.473 378.291)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="60.1758" y="378.291" width="43.6605" height="43.0513" transform="rotate(180 60.1758 378.291)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="278.473" y="335.242" width="43.6605" height="43.0513" transform="rotate(180 278.473 335.242)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="60.1758" y="335.242" width="43.6605" height="43.0513" transform="rotate(180 60.1758 335.242)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.172" y="378.291" width="43.6605" height="43.0513" transform="rotate(180 453.172 378.291)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="234.809" y="378.291" width="43.6605" height="43.0513" transform="rotate(180 234.809 378.291)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.172" y="335.242" width="43.6605" height="43.0513" transform="rotate(180 453.172 335.242)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="234.809" y="335.242" width="43.6605" height="43.0513" transform="rotate(180 234.809 335.242)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.508" y="378.291" width="43.6605" height="43.0513" transform="rotate(180 409.508 378.291)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.508" y="335.242" width="43.6605" height="43.0513" transform="rotate(180 409.508 335.242)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.16" y="335.242" width="43.6605" height="43.0513" transform="rotate(180 191.16 335.242)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="365.84" y="378.291" width="43.6605" height="43.0513" transform="rotate(180 365.84 378.291)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="147.488" y="378.291" width="43.6605" height="43.0513" transform="rotate(180 147.488 378.291)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="365.84" y="335.242" width="43.6605" height="43.0513" transform="rotate(180 365.84 335.242)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="147.488" y="335.242" width="43.6605" height="43.0513" transform="rotate(180 147.488 335.242)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="322.129" y="292.189" width="43.6605" height="43.0513" transform="rotate(180 322.129 292.189)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="103.84" y="292.189" width="43.6605" height="43.0513" transform="rotate(180 103.84 292.189)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="322.129" y="249.137" width="43.6605" height="43.0513" transform="rotate(180 322.129 249.137)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="278.473" y="292.189" width="43.6605" height="43.0513" transform="rotate(180 278.473 292.189)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="60.1758" y="292.189" width="43.6605" height="43.0513" transform="rotate(180 60.1758 292.189)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="278.473" y="249.137" width="43.6605" height="43.0513" transform="rotate(180 278.473 249.137)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.172" y="292.189" width="43.6605" height="43.0513" transform="rotate(180 453.172 292.189)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="234.809" y="292.189" width="43.6605" height="43.0513" transform="rotate(180 234.809 292.189)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="16.5195" y="292.189" width="43.6605" height="43.0513" transform="rotate(180 16.5195 292.189)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.172" y="249.137" width="43.6605" height="43.0513" transform="rotate(180 453.172 249.137)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="234.809" y="249.137" width="43.6605" height="43.0513" transform="rotate(180 234.809 249.137)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.508" y="292.189" width="43.6605" height="43.0513" transform="rotate(180 409.508 292.189)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.152" y="292.189" width="43.6605" height="43.0513" transform="rotate(180 191.152 292.189)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.504" y="249.137" width="43.6605" height="43.0513" transform="rotate(180 409.504 249.137)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.152" y="249.137" width="43.6605" height="43.0513" transform="rotate(180 191.152 249.137)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="365.84" y="292.189" width="43.6605" height="43.0513" transform="rotate(180 365.84 292.189)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="147.488" y="292.189" width="43.6605" height="43.0513" transform="rotate(180 147.488 292.189)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="365.84" y="249.137" width="43.6605" height="43.0513" transform="rotate(180 365.84 249.137)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="103.84" y="163.037" width="43.6605" height="43.0513" transform="rotate(180 103.84 163.037)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="278.473" y="206.086" width="43.6605" height="43.0513" transform="rotate(180 278.473 206.086)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.172" y="206.086" width="43.6605" height="43.0513" transform="rotate(180 453.172 206.086)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="234.809" y="163.037" width="43.6605" height="43.0513" transform="rotate(180 234.809 163.037)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="16.5195" y="163.037" width="43.6605" height="43.0513" transform="rotate(180 16.5195 163.037)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.504" y="206.086" width="43.6605" height="43.0513" transform="rotate(180 409.504 206.086)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.152" y="206.086" width="43.6605" height="43.0513" transform="rotate(180 191.152 206.086)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.5" y="163.037" width="43.6605" height="43.0513" transform="rotate(180 409.5 163.037)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.152" y="163.037" width="43.6605" height="43.0513" transform="rotate(180 191.152 163.037)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="365.84" y="163.037" width="43.6605" height="43.0513" transform="rotate(180 365.84 163.037)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="147.488" y="163.037" width="43.6605" height="43.0513" transform="rotate(180 147.488 163.037)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="103.84" y="119.984" width="43.6605" height="43.0513" transform="rotate(180 103.84 119.984)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="103.84" y="76.9336" width="43.6605" height="43.0513" transform="rotate(180 103.84 76.9336)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="60.1758" y="119.984" width="43.6605" height="43.0513" transform="rotate(180 60.1758 119.984)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="60.1758" y="76.9336" width="43.6605" height="43.0513" transform="rotate(180 60.1758 76.9336)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.172" y="119.984" width="43.6605" height="43.0513" transform="rotate(180 453.172 119.984)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="16.5195" y="119.984" width="43.6605" height="43.0513" transform="rotate(180 16.5195 119.984)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.172" y="76.9336" width="43.6605" height="43.0513" transform="rotate(180 453.172 76.9336)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.5" y="119.984" width="43.6605" height="43.0513" transform="rotate(180 409.5 119.984)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.152" y="119.984" width="43.6605" height="43.0513" transform="rotate(180 191.152 119.984)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="409.5" y="76.9336" width="43.6605" height="43.0513" transform="rotate(180 409.5 76.9336)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.152" y="76.9336" width="43.6605" height="43.0513" transform="rotate(180 191.152 76.9336)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="147.488" y="76.9336" width="43.6605" height="43.0513" transform="rotate(180 147.488 76.9336)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="103.84" y="33.8809" width="43.6605" height="43.0513" transform="rotate(180 103.84 33.8809)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="60.1758" y="33.8809" width="43.6605" height="43.0513" transform="rotate(180 60.1758 33.8809)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="453.172" y="33.8809" width="43.6605" height="43.0513" transform="rotate(180 453.172 33.8809)" stroke="#EDEDED" stroke-width="0.5"/>
<rect x="191.16" y="378.291" width="43.6605" height="43.0513" transform="rotate(180 191.16 378.291)" stroke="url(#paint0_linear_1200_142756)"/>
<rect x="147.488" y="249.137" width="43.6605" height="43.0513" transform="rotate(180 147.488 249.137)" stroke="url(#paint1_linear_1200_142756)"/>
<rect x="60.1758" y="163.037" width="43.6605" height="43.0513" transform="rotate(180 60.1758 163.037)" stroke="url(#paint2_linear_1200_142756)"/>
<rect x="234.809" y="206.086" width="43.6605" height="43.0513" transform="rotate(180 234.809 206.086)" stroke="url(#paint3_linear_1200_142756)"/>
<rect x="147.488" y="119.984" width="43.6605" height="43.0513" transform="rotate(180 147.488 119.984)" stroke="url(#paint4_linear_1200_142756)"/>
<rect x="409.32" y="162.984" width="43.6605" height="43.0513" transform="rotate(180 409.32 162.984)" stroke="url(#paint5_linear_1200_142756)"/>
<g filter="url(#filter0_b_1200_142756)">
<rect x="79.9453" y="194.184" width="780.105" height="261.435" rx="16.8514" fill="url(#paint6_linear_1200_142756)"/>
<rect x="80.4719" y="194.71" width="779.052" height="260.382" rx="16.3248" stroke="#EDEDED" stroke-width="1.05321"/>
</g>
<g filter="url(#filter1_b_1200_142756)">
<rect x="172.184" y="203.006" width="637.15" height="34.9379" rx="17.4689" fill="#EDEDED"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M190.493 218.013H193.092V216.678C193.092 215.96 192.51 215.378 191.793 215.378C191.075 215.378 190.493 215.96 190.493 216.678V218.013ZM189.16 218.013H188.181C187.444 218.013 186.848 218.61 186.848 219.346V225.573C186.848 226.309 187.444 226.906 188.181 226.906H195.403C196.139 226.906 196.736 226.309 196.736 225.573V219.346C196.736 218.61 196.139 218.013 195.403 218.013H194.425V216.678C194.425 215.224 193.247 214.045 191.793 214.045C190.339 214.045 189.16 215.224 189.16 216.678V218.013Z" fill="#3E3E3E"/>
<path d="M216.152 222.026C216.181 220.979 216.741 220.154 217.803 220.154C219.042 220.154 219.454 220.95 219.454 221.938V226.199H220.84V221.702C220.84 220.124 220 218.9 218.304 218.9C217.493 218.9 216.668 219.181 216.152 219.933V215.524H214.766V226.199H216.152V222.026ZM224.903 216.866H223.635V218.016C223.635 218.635 223.311 219.107 222.544 219.107H222.16V220.36H223.517V224.253C223.517 225.536 224.284 226.273 225.493 226.273C225.965 226.273 226.319 226.184 226.437 226.14V224.961C226.319 224.99 226.068 225.02 225.891 225.02C225.168 225.02 224.903 224.695 224.903 224.046V220.36H226.437V219.107H224.903V216.866ZM230.144 216.866H228.876V218.016C228.876 218.635 228.552 219.107 227.785 219.107H227.402V220.36H228.758V224.253C228.758 225.536 229.525 226.273 230.734 226.273C231.206 226.273 231.56 226.184 231.678 226.14V224.961C231.56 224.99 231.309 225.02 231.132 225.02C230.41 225.02 230.144 224.695 230.144 224.046V220.36H231.678V219.107H230.144V216.866ZM234.755 229.001V225.241C235.139 225.875 235.964 226.391 237.055 226.391C239.134 226.391 240.358 224.754 240.358 222.646C240.358 220.581 239.223 218.945 237.1 218.945C235.95 218.945 235.109 219.505 234.726 220.213V219.107H233.384V229.001H234.755ZM238.943 222.646C238.943 224.105 238.132 225.152 236.849 225.152C235.581 225.152 234.74 224.105 234.74 222.646C234.74 221.23 235.581 220.169 236.849 220.169C238.147 220.169 238.943 221.23 238.943 222.646ZM241.461 224.356C241.579 225.167 242.405 226.42 244.351 226.42C246.106 226.42 246.946 225.226 246.946 224.223C246.946 223.176 246.268 222.395 244.985 222.115L243.835 221.864C243.289 221.746 243.024 221.437 243.024 221.009C243.024 220.522 243.496 220.065 244.203 220.065C245.324 220.065 245.619 220.876 245.678 221.245L246.902 220.788C246.754 220.154 246.15 218.886 244.203 218.886C242.817 218.886 241.682 219.918 241.682 221.127C241.682 222.13 242.346 222.882 243.451 223.118L244.661 223.383C245.25 223.516 245.575 223.855 245.575 224.297C245.575 224.798 245.147 225.241 244.366 225.241C243.363 225.241 242.803 224.651 242.714 223.914L241.461 224.356ZM248.732 225.256C248.732 225.831 249.175 226.273 249.75 226.273C250.325 226.273 250.782 225.831 250.782 225.256C250.782 224.68 250.325 224.223 249.75 224.223C249.175 224.223 248.732 224.68 248.732 225.256ZM248.718 220.065C248.718 220.64 249.16 221.083 249.735 221.083C250.31 221.083 250.767 220.64 250.767 220.065C250.767 219.49 250.31 219.033 249.735 219.033C249.16 219.033 248.718 219.49 248.718 220.065ZM258.288 215.745H256.946L251.888 226.199H253.23L258.288 215.745ZM262.622 215.745H261.28L256.223 226.199H257.564L262.622 215.745ZM261.951 224.356C262.069 225.167 262.895 226.42 264.841 226.42C266.596 226.42 267.436 225.226 267.436 224.223C267.436 223.176 266.758 222.395 265.475 222.115L264.325 221.864C263.78 221.746 263.514 221.437 263.514 221.009C263.514 220.522 263.986 220.065 264.694 220.065C265.814 220.065 266.109 220.876 266.168 221.245L267.392 220.788C267.245 220.154 266.64 218.886 264.694 218.886C263.308 218.886 262.172 219.918 262.172 221.127C262.172 222.13 262.836 222.882 263.942 223.118L265.151 223.383C265.741 223.516 266.065 223.855 266.065 224.297C266.065 224.798 265.637 225.241 264.856 225.241C263.853 225.241 263.293 224.651 263.205 223.914L261.951 224.356ZM273.884 225.344C273.884 225.639 273.913 226.037 273.943 226.199H275.27C275.24 225.949 275.196 225.447 275.196 224.887V219.107H273.81V223.383C273.81 224.459 273.25 225.197 272.129 225.197C270.964 225.197 270.522 224.341 270.522 223.368V219.107H269.136V223.575C269.136 225.182 270.139 226.42 271.79 226.42C272.616 226.42 273.5 226.081 273.884 225.344ZM278.933 229.001V225.241C279.316 225.875 280.142 226.391 281.233 226.391C283.312 226.391 284.536 224.754 284.536 222.646C284.536 220.581 283.4 218.945 281.277 218.945C280.127 218.945 279.286 219.505 278.903 220.213V219.107H277.561V229.001H278.933ZM283.12 222.646C283.12 224.105 282.309 225.152 281.026 225.152C279.758 225.152 278.918 224.105 278.918 222.646C278.918 221.23 279.758 220.169 281.026 220.169C282.324 220.169 283.12 221.23 283.12 222.646ZM285.859 224.297C285.859 225.418 286.788 226.42 288.233 226.42C289.501 226.42 290.209 225.742 290.519 225.241C290.519 225.757 290.563 226.022 290.592 226.199H291.949C291.92 226.022 291.861 225.654 291.861 225.034V221.481C291.861 220.095 291.035 218.886 288.912 218.886C287.378 218.886 286.154 219.829 286.007 221.186L287.334 221.496C287.422 220.67 287.968 220.065 288.941 220.065C290.017 220.065 290.475 220.64 290.475 221.333C290.475 221.584 290.357 221.805 289.929 221.864L288.012 222.144C286.788 222.321 285.859 223.029 285.859 224.297ZM288.425 225.256C287.717 225.256 287.275 224.754 287.275 224.223C287.275 223.589 287.717 223.25 288.307 223.162L290.475 222.837V223.162C290.475 224.71 289.56 225.256 288.425 225.256ZM294.845 222.631C294.845 221.171 295.671 220.139 296.939 220.139C298.207 220.139 298.974 221.142 298.974 222.601C298.974 224.061 298.193 225.167 296.925 225.167C295.597 225.167 294.845 224.091 294.845 222.631ZM298.989 225.241C298.989 2Line truncated
<rect x="172.184" y="203.006" width="637.15" height="34.9379" rx="17.4689" stroke="#DBDBDB"/>
</g>
<circle cx="105.775" cy="220.48" r="5.20446" fill="#3E3E3E"/>
<circle cx="121.853" cy="220.48" r="5.20446" fill="#3E3E3E"/>
<circle cx="137.931" cy="220.48" r="5.20446" fill="#3E3E3E"/>
<rect x="0.445312" y="-0.78125" width="447.055" height="402.196" fill="url(#paint7_radial_1200_142756)"/>
<g filter="url(#filter2_f_1200_142756)">
<ellipse cx="223.801" cy="-137.586" rx="349" ry="159" fill="url(#paint8_linear_1200_142756)"/>
</g>
<defs>
<filter id="filter0_b_1200_142756" x="23.9614" y="138.2" width="892.073" height="373.403" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feGaussianBlur in="BackgroundImageFix" stdDeviation="27.992"/>
<feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_1200_142756"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_backgroundBlur_1200_142756" result="shape"/>
</filter>
<filter id="filter1_b_1200_142756" x="171.346" y="202.169" width="638.823" height="36.6122" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feGaussianBlur in="BackgroundImageFix" stdDeviation="0.168672"/>
<feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_1200_142756"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_backgroundBlur_1200_142756" result="shape"/>
</filter>
<filter id="filter2_f_1200_142756" x="-260.076" y="-431.463" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_142756"/>
</filter>
<linearGradient id="paint0_linear_1200_142756" x1="212.99" y1="378.291" x2="212.99" y2="421.342" gradientUnits="userSpaceOnUse">
<stop stop-color="#00FFF0" stop-opacity="0.12"/>
<stop offset="1" stop-color="#00C5A1" stop-opacity="0.29"/>
</linearGradient>
<linearGradient id="paint1_linear_1200_142756" x1="169.319" y1="249.137" x2="169.319" y2="292.188" gradientUnits="userSpaceOnUse">
<stop stop-color="#00FFF0" stop-opacity="0.12"/>
<stop offset="1" stop-color="#00C5A1" stop-opacity="0.29"/>
</linearGradient>
<linearGradient id="paint2_linear_1200_142756" x1="82.006" y1="163.037" x2="82.006" y2="206.088" gradientUnits="userSpaceOnUse">
<stop stop-color="#00FFF0" stop-opacity="0.12"/>
<stop offset="1" stop-color="#00C5A1" stop-opacity="0.29"/>
</linearGradient>
<linearGradient id="paint3_linear_1200_142756" x1="256.639" y1="206.086" x2="256.639" y2="249.137" gradientUnits="userSpaceOnUse">
<stop stop-color="#00FFF0" stop-opacity="0.12"/>
<stop offset="1" stop-color="#00C5A1" stop-opacity="0.29"/>
</linearGradient>
<linearGradient id="paint4_linear_1200_142756" x1="169.319" y1="119.984" x2="169.319" y2="163.036" gradientUnits="userSpaceOnUse">
<stop stop-color="#00FFF0" stop-opacity="0.12"/>
<stop offset="1" stop-color="#00C5A1" stop-opacity="0.29"/>
</linearGradient>
<linearGradient id="paint5_linear_1200_142756" x1="431.151" y1="162.984" x2="431.151" y2="206.036" gradientUnits="userSpaceOnUse">
<stop stop-color="#00FFF0" stop-opacity="0.12"/>
<stop offset="1" stop-color="#00C5A1" stop-opacity="0.29"/>
</linearGradient>
<linearGradient id="paint6_linear_1200_142756" x1="469.998" y1="194.184" x2="469.998" y2="455.619" gradientUnits="userSpaceOnUse">
<stop stop-color="#EDEDED"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint7_radial_1200_142756" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(205.458 217.987) rotate(180) scale(209.576 183.089)">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="0.630208" stop-color="white" stop-opacity="0.35"/>
<stop offset="1" stop-color="white" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint8_linear_1200_142756" x1="57.0898" y1="-434.911" x2="216.671" y2="101.042" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 25 KiB

@@ -0,0 +1,161 @@
<svg width="448" height="400" viewBox="0 0 448 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-13.9727" y="-17.9375" width="476.973" height="430.908" fill="#131313"/>
<rect x="321.629" y="421.027" width="43.6605" height="43.0513" transform="rotate(180 321.629 421.027)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="277.973" y="421.027" width="43.6605" height="43.0513" transform="rotate(180 277.973 421.027)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="421.027" width="43.6605" height="43.0513" transform="rotate(180 452.672 421.027)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="234.309" y="421.027" width="43.6605" height="43.0513" transform="rotate(180 234.309 421.027)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409.008" y="421.027" width="43.6605" height="43.0513" transform="rotate(180 409.008 421.027)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.66" y="421.027" width="43.6605" height="43.0513" transform="rotate(180 190.66 421.027)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="365.34" y="421.027" width="43.6605" height="43.0513" transform="rotate(180 365.34 421.027)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="321.629" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 321.629 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="103.34" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 103.34 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="321.629" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 321.629 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="103.34" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 103.34 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="277.973" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 277.973 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="59.6758" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 59.6758 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="277.973" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 277.973 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="59.6758" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 59.6758 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 452.672 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="234.309" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 234.309 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 452.672 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="234.309" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 234.309 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409.008" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 409.008 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409.008" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 409.008 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.66" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 190.66 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="365.34" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 365.34 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="146.988" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 146.988 377.975)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="365.34" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 365.34 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="146.988" y="334.926" width="43.6605" height="43.0513" transform="rotate(180 146.988 334.926)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="321.629" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 321.629 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="103.34" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 103.34 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="321.629" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 321.629 248.82)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="277.973" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 277.973 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="59.6758" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 59.6758 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="277.973" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 277.973 248.82)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 452.672 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="234.309" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 234.309 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="16.0195" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 16.0195 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 452.672 248.82)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="234.309" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 234.309 248.82)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409.008" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 409.008 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.652" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 190.652 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409.004" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 409.004 248.82)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.652" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 190.652 248.82)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="365.34" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 365.34 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="146.988" y="291.873" width="43.6605" height="43.0513" transform="rotate(180 146.988 291.873)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="365.34" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 365.34 248.82)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="103.34" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 103.34 162.721)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="277.973" y="205.77" width="43.6605" height="43.0513" transform="rotate(180 277.973 205.77)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="205.77" width="43.6605" height="43.0513" transform="rotate(180 452.672 205.77)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="234.309" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 234.309 162.721)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="16.0195" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 16.0195 162.721)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409.004" y="205.77" width="43.6605" height="43.0513" transform="rotate(180 409.004 205.77)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.652" y="205.77" width="43.6605" height="43.0513" transform="rotate(180 190.652 205.77)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 409 162.721)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.652" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 190.652 162.721)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="365.34" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 365.34 162.721)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="146.988" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 146.988 162.721)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="103.34" y="119.668" width="43.6605" height="43.0513" transform="rotate(180 103.34 119.668)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="103.34" y="76.6172" width="43.6605" height="43.0513" transform="rotate(180 103.34 76.6172)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="59.6758" y="119.668" width="43.6605" height="43.0513" transform="rotate(180 59.6758 119.668)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="59.6758" y="76.6172" width="43.6605" height="43.0513" transform="rotate(180 59.6758 76.6172)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="119.668" width="43.6605" height="43.0513" transform="rotate(180 452.672 119.668)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="16.0195" y="119.668" width="43.6605" height="43.0513" transform="rotate(180 16.0195 119.668)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="76.6172" width="43.6605" height="43.0513" transform="rotate(180 452.672 76.6172)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409" y="119.668" width="43.6605" height="43.0513" transform="rotate(180 409 119.668)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.652" y="119.668" width="43.6605" height="43.0513" transform="rotate(180 190.652 119.668)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="409" y="76.6172" width="43.6605" height="43.0513" transform="rotate(180 409 76.6172)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.652" y="76.6172" width="43.6605" height="43.0513" transform="rotate(180 190.652 76.6172)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="146.988" y="76.6172" width="43.6605" height="43.0513" transform="rotate(180 146.988 76.6172)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="103.34" y="33.5645" width="43.6605" height="43.0513" transform="rotate(180 103.34 33.5645)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="59.6758" y="33.5645" width="43.6605" height="43.0513" transform="rotate(180 59.6758 33.5645)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="452.672" y="33.5645" width="43.6605" height="43.0513" transform="rotate(180 452.672 33.5645)" stroke="#1C1C1C" stroke-width="0.5"/>
<rect x="190.66" y="377.975" width="43.6605" height="43.0513" transform="rotate(180 190.66 377.975)" stroke="url(#paint0_linear_1116_119782)" stroke-width="1.5"/>
<rect x="146.988" y="248.82" width="43.6605" height="43.0513" transform="rotate(180 146.988 248.82)" stroke="url(#paint1_linear_1116_119782)" stroke-width="1.5"/>
<rect x="59.6758" y="162.721" width="43.6605" height="43.0513" transform="rotate(180 59.6758 162.721)" stroke="url(#paint2_linear_1116_119782)" stroke-width="1.5"/>
<rect x="234.309" y="205.77" width="43.6605" height="43.0513" transform="rotate(180 234.309 205.77)" stroke="url(#paint3_linear_1116_119782)" stroke-width="1.5"/>
<rect x="146.988" y="119.668" width="43.6605" height="43.0513" transform="rotate(180 146.988 119.668)" stroke="url(#paint4_linear_1116_119782)" stroke-width="1.5"/>
<rect x="408.82" y="162.668" width="43.6605" height="43.0513" transform="rotate(180 408.82 162.668)" stroke="url(#paint5_linear_1116_119782)" stroke-width="1.5"/>
<g filter="url(#filter0_b_1116_119782)">
<rect x="79.4453" y="193.867" width="780.105" height="261.435" rx="16.8514" fill="url(#paint6_linear_1116_119782)"/>
<rect x="79.9719" y="194.394" width="779.052" height="260.382" rx="16.3248" stroke="#161616" stroke-width="1.05321"/>
</g>
<g filter="url(#filter1_b_1116_119782)">
<rect x="171.684" y="202.689" width="637.15" height="34.9379" rx="17.4689" fill="url(#paint7_radial_1116_119782)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M189.993 217.697H192.592V216.361C192.592 215.643 192.01 215.061 191.293 215.061C190.575 215.061 189.993 215.643 189.993 216.361V217.697ZM188.66 217.697H187.681C186.944 217.697 186.348 218.293 186.348 219.03V225.257C186.348 225.993 186.944 226.59 187.681 226.59H194.903C195.639 226.59 196.236 225.993 196.236 225.257V219.03C196.236 218.293 195.639 217.697 194.903 217.697H193.925V216.361C193.925 214.907 192.747 213.729 191.293 213.729C189.839 213.729 188.66 214.907 188.66 216.361V217.697Z" fill="#3E3E3E"/>
<path d="M215.652 221.71C215.681 220.663 216.241 219.837 217.303 219.837C218.542 219.837 218.954 220.634 218.954 221.622V225.883H220.34V221.386C220.34 219.808 219.5 218.584 217.804 218.584C216.993 218.584 216.168 218.864 215.652 219.616V215.207H214.266V225.883H215.652V221.71ZM224.403 216.549H223.135V217.699C223.135 218.319 222.811 218.79 222.044 218.79H221.66V220.044H223.017V223.936C223.017 225.219 223.784 225.957 224.993 225.957C225.465 225.957 225.819 225.868 225.937 225.824V224.644C225.819 224.674 225.568 224.703 225.391 224.703C224.668 224.703 224.403 224.379 224.403 223.73V220.044H225.937V218.79H224.403V216.549ZM229.644 216.549H228.376V217.699C228.376 218.319 228.052 218.79 227.285 218.79H226.902V220.044H228.258V223.936C228.258 225.219 229.025 225.957 230.234 225.957C230.706 225.957 231.06 225.868 231.178 225.824V224.644C231.06 224.674 230.809 224.703 230.632 224.703C229.91 224.703 229.644 224.379 229.644 223.73V220.044H231.178V218.79H229.644V216.549ZM234.255 228.684V224.924C234.639 225.558 235.464 226.074 236.555 226.074C238.634 226.074 239.858 224.438 239.858 222.329C239.858 220.265 238.723 218.628 236.6 218.628C235.45 218.628 234.609 219.189 234.226 219.896V218.79H232.884V228.684H234.255ZM238.443 222.329C238.443 223.789 237.632 224.836 236.349 224.836C235.081 224.836 234.24 223.789 234.24 222.329C234.24 220.914 235.081 219.852 236.349 219.852C237.647 219.852 238.443 220.914 238.443 222.329ZM240.961 224.04C241.079 224.851 241.905 226.104 243.851 226.104C245.606 226.104 246.446 224.91 246.446 223.907C246.446 222.86 245.768 222.079 244.485 221.798L243.335 221.548C242.789 221.43 242.524 221.12 242.524 220.693C242.524 220.206 242.996 219.749 243.703 219.749C244.824 219.749 245.119 220.56 245.178 220.929L246.402 220.471C246.254 219.837 245.65 218.569 243.703 218.569C242.317 218.569 241.182 219.601 241.182 220.811C241.182 221.813 241.846 222.565 242.951 222.801L244.161 223.067C244.75 223.199 245.075 223.538 245.075 223.981C245.075 224.482 244.647 224.924 243.866 224.924C242.863 224.924 242.303 224.335 242.214 223.597L240.961 224.04ZM248.232 224.939C248.232 225.514 248.675 225.957 249.25 225.957C249.825 225.957 250.282 225.514 250.282 224.939C250.282 224.364 249.825 223.907 249.25 223.907C248.675 223.907 248.232 224.364 248.232 224.939ZM248.218 219.749C248.218 220.324 248.66 220.766 249.235 220.766C249.81 220.766 250.267 220.324 250.267 219.749C250.267 219.174 249.81 218.717 249.235 218.717C248.66 218.717 248.218 219.174 248.218 219.749ZM257.788 215.429H256.446L251.388 225.883H252.73L257.788 215.429ZM262.122 215.429H260.78L255.723 225.883H257.064L262.122 215.429ZM261.451 224.04C261.569 224.851 262.395 226.104 264.341 226.104C266.096 226.104 266.936 224.91 266.936 223.907C266.936 222.86 266.258 222.079 264.975 221.798L263.825 221.548C263.28 221.43 263.014 221.12 263.014 220.693C263.014 220.206 263.486 219.749 264.194 219.749C265.314 219.749 265.609 220.56 265.668 220.929L266.892 220.471C266.745 219.837 266.14 218.569 264.194 218.569C262.808 218.569 261.672 219.601 261.672 220.811C261.672 221.813 262.336 222.565 263.442 222.801L264.651 223.067C265.241 223.199 265.565 223.538 265.565 223.981C265.565 224.482 265.137 224.924 264.356 224.924C263.353 224.924 262.793 224.335 262.705 223.597L261.451 224.04ZM273.384 225.028C273.384 225.323 273.413 225.721 273.443 225.883H274.77C274.74 225.632 274.696 225.131 274.696 224.571V218.79H273.31V223.067C273.31 224.143 272.75 224.88 271.629 224.88C270.464 224.88 270.022 224.025 270.022 223.052V218.79H268.636V223.258C268.636 224.865 269.639 226.104 271.29 226.104C272.116 226.104 273 225.765 273.384 225.028ZM278.433 228.684V224.924C278.816 225.558 279.642 226.074 280.733 226.074C282.812 226.074 284.036 224.438 284.036 222.329C284.036 220.265 282.9 218.628 280.777 218.628C279.627 218.628 278.786 219.189 278.403 219.896V218.79H277.061V228.684H278.433ZM282.62 222.329C282.62 223.789 281.809 224.836 280.526 224.836C279.258 224.836 278.418 223.789 278.418 222.329C278.418 220.914 279.258 219.852 280.526 219.852C281.824 219.852 282.62 220.914 282.62 222.329ZM285.359 223.981C285.359 225.101 286.288 226.104 287.733 226.104C289.001 226.104 289.709 225.426 290.019 224.924C290.019 225.44 290.063 225.706 290.092 225.883H291.449C291.42 225.706 291.361 225.337 291.361 224.718V221.164C291.361 219.778 290.535 218.569 288.412 218.569C286.878 218.569 285.654 219.513 285.507 220.87L286.834 221.179C286.922 220.353 287.468 219.749 288.441 219.749C289.517 219.749 289.975 220.324 289.975 221.017C289.975 221.268 289.857 221.489 289.429 221.548L287.512 221.828C286.288 222.005 285.359 222.713 285.359 223.981ZM287.925 224.939C287.217 224.939 286.775 224.438 286.775 223.907C286.775 223.273 287.217 222.934 287.807 222.845L289.975 222.521V222.845C289.975 224.394 289.06 224.939 287.925 224.939ZM294.345 222.315C294.345 220.855 295.171 219.823 296.439 219.823C297.707 219.823 298.474 220.825 298.474 222.285C298.474 223.745 297.693 224.851 296.425 224.851C295.097 224.851 294.345 223.774 294.345 222.315ZM298.489 2Line truncated
<rect x="172.35" y="203.356" width="635.817" height="33.6049" rx="16.8025" stroke="url(#paint8_linear_1116_119782)" stroke-width="1.33295"/>
</g>
<circle cx="105.275" cy="220.163" r="5.20446" fill="#3E3E3E"/>
<circle cx="121.353" cy="220.163" r="5.20446" fill="#3E3E3E"/>
<circle cx="137.431" cy="220.163" r="5.20446" fill="#3E3E3E"/>
<rect x="-0.0546875" y="-1.09766" width="447.055" height="402.196" fill="url(#paint9_radial_1116_119782)"/>
<g filter="url(#filter2_f_1116_119782)">
<ellipse cx="223.301" cy="-137.902" rx="349" ry="159" fill="url(#paint10_linear_1116_119782)"/>
</g>
<defs>
<filter id="filter0_b_1116_119782" x="23.4614" y="137.883" width="892.073" height="373.403" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feGaussianBlur in="BackgroundImageFix" stdDeviation="27.992"/>
<feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_1116_119782"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_backgroundBlur_1116_119782" result="shape"/>
</filter>
<filter id="filter1_b_1116_119782" x="115.7" y="146.706" width="749.116" height="146.905" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feGaussianBlur in="BackgroundImageFix" stdDeviation="27.992"/>
<feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_1116_119782"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_backgroundBlur_1116_119782" result="shape"/>
</filter>
<filter id="filter2_f_1116_119782" x="-260.576" y="-431.779" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1116_119782"/>
</filter>
<linearGradient id="paint0_linear_1116_119782" x1="212.49" y1="377.975" x2="212.49" y2="421.026" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint1_linear_1116_119782" x1="168.819" y1="248.82" x2="168.819" y2="291.872" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint2_linear_1116_119782" x1="81.506" y1="162.721" x2="81.506" y2="205.772" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint3_linear_1116_119782" x1="256.139" y1="205.77" x2="256.139" y2="248.821" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint4_linear_1116_119782" x1="168.819" y1="119.668" x2="168.819" y2="162.719" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint5_linear_1116_119782" x1="430.651" y1="162.668" x2="430.651" y2="205.719" gradientUnits="userSpaceOnUse">
<stop stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#14292C" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint6_linear_1116_119782" x1="48.7145" y1="15.0962" x2="352.247" y2="439.063" gradientUnits="userSpaceOnUse">
<stop stop-color="#222121"/>
<stop offset="1" stop-color="#131313"/>
</linearGradient>
<radialGradient id="paint7_radial_1116_119782" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(177.415 203.729) rotate(5.77818) scale(663.506 130.479)">
<stop stop-color="#040404" stop-opacity="0.4"/>
<stop offset="1" stop-color="#121212" stop-opacity="0"/>
</radialGradient>
<linearGradient id="paint8_linear_1116_119782" x1="368.751" y1="200.078" x2="374.369" y2="250.532" gradientUnits="userSpaceOnUse">
<stop stop-color="#232323"/>
<stop offset="1" stop-color="#1C1C1C"/>
</linearGradient>
<radialGradient id="paint9_radial_1116_119782" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(204.958 217.67) rotate(180) scale(209.576 183.089)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="0.630208" stop-color="#121212" stop-opacity="0.35"/>
<stop offset="1" stop-color="#121212" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint10_linear_1116_119782" x1="56.5898" y1="-435.228" x2="216.171" y2="100.725" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 25 KiB

@@ -0,0 +1,9 @@
<svg width="93" height="62" viewBox="0 0 93 62" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M31.5315 13.6425C41.0816 13.6425 48.8236 21.3844 48.8236 30.9346C48.8236 34.9202 47.4762 38.5895 45.2107 41.5142V38.4437H43.1463V43.8831L44.1785 44.9153H49.6179V42.8509L46.7862 42.8509C49.3555 39.566 50.888 35.4285 50.888 30.9346C50.888 20.2443 42.2218 11.5781 31.5315 11.5781V13.6425ZM18.8891 16.9543L19.9213 17.9865L19.9213 23.4259H17.857V20.3554C15.5915 23.28 14.2441 26.9494 14.2441 30.935C14.2441 40.4851 21.986 48.2271 31.5362 48.2271V50.2915C20.8459 50.2915 12.1797 41.6253 12.1797 30.935C12.1797 26.4411 13.7121 22.3036 16.2815 19.0187H13.4497L13.4497 16.9543L18.8891 16.9543ZM42.5667 30.9997C42.5667 36.9538 37.7399 41.7805 31.7859 41.7805C25.8318 41.7805 21.005 36.9538 21.005 30.9997C21.005 25.0456 25.8318 20.2189 31.7859 20.2189C37.7399 20.2189 42.5667 25.0456 42.5667 30.9997ZM38.2586 27.8506L30.4988 35.6104H29.039L25.3127 31.8841L26.7725 30.4244L29.7689 33.4208L36.7988 26.3909L38.2586 27.8506Z" fill="url(#paint0_linear_1221_83629)"/>
<defs>
<linearGradient id="paint0_linear_1221_83629" x1="50.888" y1="11.5781" x2="52.6893" y2="69.538" gradientUnits="userSpaceOnUse">
<stop stop-color="#373737" stop-opacity="0.85"/>
<stop offset="1" stop-color="#5D7D7B" stop-opacity="0.35"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@@ -0,0 +1,9 @@
<svg width="94" height="64" viewBox="0 0 94 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M31.5315 14.6425C41.0816 14.6425 48.8236 22.3844 48.8236 31.9346C48.8236 35.9202 47.4762 39.5895 45.2107 42.5142V39.4437H43.1463V44.8831L44.1785 45.9153H49.6179V43.8509L46.7862 43.8509C49.3555 40.566 50.888 36.4285 50.888 31.9346C50.888 21.2443 42.2218 12.5781 31.5315 12.5781V14.6425ZM18.8891 17.9543L19.9213 18.9865L19.9213 24.4259H17.857V21.3554C15.5915 24.28 14.2441 27.9494 14.2441 31.935C14.2441 41.4851 21.986 49.2271 31.5362 49.2271V51.2915C20.8459 51.2915 12.1797 42.6253 12.1797 31.935C12.1797 27.4411 13.7121 23.3036 16.2815 20.0187H13.4497L13.4497 17.9543L18.8891 17.9543ZM42.5667 31.9997C42.5667 37.9538 37.7399 42.7805 31.7859 42.7805C25.8318 42.7805 21.005 37.9538 21.005 31.9997C21.005 26.0456 25.8318 21.2189 31.7859 21.2189C37.7399 21.2189 42.5667 26.0456 42.5667 31.9997ZM38.2586 28.8506L30.4988 36.6104H29.039L25.3127 32.8841L26.7725 31.4244L29.7689 34.4208L36.7989 27.3909L38.2586 28.8506Z" fill="url(#paint0_linear_1179_212431)"/>
<defs>
<linearGradient id="paint0_linear_1179_212431" x1="5.77717" y1="47.3852" x2="66.3666" y2="46.7302" gradientUnits="userSpaceOnUse">
<stop stop-color="#F4FFFA" stop-opacity="0.76"/>
<stop offset="1" stop-color="#D8FFEC" stop-opacity="0.48"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@@ -0,0 +1,182 @@
<svg width="450" height="400" viewBox="0 0 450 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-23.2969" y="-21.0293" width="476.973" height="430.908" fill="white"/>
<path d="M225.007 25.8825L313.826 102.026V222.449L225.007 298.818L136.188 222.449M223.061 25.8825L136.188 102.023V222.447" stroke="url(#paint0_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225.008 45.9824L300.746 110.912V213.599L225.008 278.721L149.27 213.599M223.348 45.9824L149.27 110.909V213.597" stroke="url(#paint1_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225.01 7.78504L325.61 94.0279V230.424L225.01 316.922L124.41 230.424M222.806 7.78504L124.41 94.0239V230.421" stroke="url(#paint2_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225.001 -9.23146L336.675 86.5046V237.914L225.001 333.934L113.328 237.914M222.555 -9.23146L113.328 86.5002V237.911" stroke="url(#paint3_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225.012 -24.9671L346.926 79.5484V244.843L225.012 349.668L103.098 244.843M222.341 -24.9671L103.098 79.5436V244.84" stroke="url(#paint4_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225.003 -40.3923L356.958 72.7317V251.641L225.003 365.1L93.0469 251.641M222.111 -40.3923L93.0469 72.7265V251.637" stroke="url(#paint5_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225.008 -56.3278L367.336 65.688V258.66L225.008 381.037L82.6797 258.66M221.889 -56.3278L82.6797 65.6824V258.656" stroke="url(#paint6_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225.004 -71.3278L377.094 59.0569V265.265L225.004 396.035L72.9141 265.265M221.672 -71.3278L72.9141 59.0509V265.26" stroke="url(#paint7_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M224.997 -86.0041L386.635 52.566V271.719L224.997 410.699L63.3594 271.719M221.456 -86.0041L63.3594 52.5596V271.714" stroke="url(#paint8_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225.008 -99.4037L395.367 46.643V277.621L225.008 424.1L54.6484 277.621M221.275 -99.4037L54.6484 46.6363V277.616" stroke="url(#paint9_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225.002 -114.84L405.41 39.8214V284.424L225.002 439.543L44.5938 284.424M221.049 -114.84L44.5938 39.8143V284.418" stroke="url(#paint10_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M224.998 -130.571L415.644 32.8675V291.351L224.998 455.273L34.3516 291.351M220.821 -130.571L34.3516 32.86V291.345" stroke="url(#paint11_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225 -146.012L425.695 26.0419V298.15L225 470.713L24.3047 298.15M220.603 -146.012L24.3047 26.034V298.144" stroke="url(#paint12_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225 -161.49L435.769 19.1998V304.967L225 486.191L14.2305 304.967M220.382 -161.49L14.2305 19.1915V304.961" stroke="url(#paint13_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225.013 -177.192L446.004 12.2596V311.884L225.013 501.896L4.02344 311.884M220.171 -177.192L4.02344 12.2509V311.877" stroke="url(#paint14_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225.008 -192.9L456.218 5.3136V318.795L225.008 517.596L-6.20312 318.795M219.941 -192.9L-6.20312 5.3045V318.788" stroke="url(#paint15_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225.01 -211.836L468.547 -3.05467V327.14L225.01 536.539L-18.5273 327.14M219.674 -211.836L-18.5273 -3.06426V327.133" stroke="url(#paint16_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225.006 -229.284L479.899 -10.7678V334.823L225.006 553.986L-29.8867 334.823M219.421 -229.284L-29.8867 -10.7779V334.816" stroke="url(#paint17_linear_1200_88884)" stroke-width="0.425139"/>
<path d="M225.003 -247.675L491.866 -18.8972V342.922L225.003 572.377L-41.8594 342.922M219.156 -247.675L-41.8594 -18.9077V342.914" stroke="url(#paint18_linear_1200_88884)" stroke-width="0.425139"/>
<g clip-path="url(#clip0_1200_88884)">
<rect x="159.25" y="158.354" width="131.505" height="121.291" rx="16" fill="white"/>
<circle cx="249.318" cy="205.445" r="0.978774" transform="rotate(-180 249.318 205.445)" fill="#73867C"/>
<circle cx="262.291" cy="185.332" r="0.978774" transform="rotate(-180 262.291 185.332)" fill="#73867C"/>
<ellipse cx="187.668" cy="190.515" rx="0.324429" ry="0.324429" transform="rotate(-180 187.668 190.515)" fill="#73867C"/>
<circle cx="187.025" cy="203.498" r="0.978774" transform="rotate(-180 187.025 203.498)" fill="#73867C"/>
<ellipse cx="175.992" cy="205.441" rx="0.324429" ry="0.324429" transform="rotate(-180 175.992 205.441)" fill="#73867C"/>
<circle cx="172.748" cy="198.955" r="0.978774" transform="rotate(-180 172.748 198.955)" fill="#73867C"/>
<circle cx="174.049" cy="233.343" r="0.978774" transform="rotate(-180 174.049 233.343)" fill="#73867C"/>
<circle cx="167.56" cy="221.017" r="0.978774" transform="rotate(-180 167.56 221.017)" fill="#73867C"/>
<circle cx="185.732" cy="221.017" r="0.978774" transform="rotate(-180 185.732 221.017)" fill="#73867C"/>
<circle cx="217.517" cy="237.888" r="0.978774" transform="rotate(-180 217.517 237.888)" fill="#73867C"/>
<circle cx="199.998" cy="235.295" r="0.978774" transform="rotate(-180 199.998 235.295)" fill="#73867C"/>
<ellipse cx="251.254" cy="253.455" rx="0.324429" ry="0.324429" transform="rotate(-180 251.254 253.455)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 191.566 246.317)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 202.597 238.531)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 194.156 236.584)" fill="#73867C"/>
<circle cx="256.671" cy="234.212" r="0.978774" transform="rotate(-75 256.671 234.212)" fill="#73867C"/>
<circle cx="228.773" cy="249.138" r="0.978774" transform="rotate(-75 228.773 249.138)" fill="#73867C"/>
<circle cx="268.844" cy="201.121" r="0.353739" transform="rotate(105 268.844 201.121)" fill="#73867C"/>
<ellipse cx="234.387" cy="228.799" rx="0.324429" ry="0.324429" transform="rotate(-180 234.387 228.799)" fill="#73867C"/>
<circle cx="258.599" cy="242.472" r="0.978774" transform="rotate(-180 258.599 242.472)" fill="#73867C"/>
<circle cx="276.382" cy="223.409" r="0.978774" transform="rotate(-75 276.382 223.409)" fill="#73867C"/>
<path d="M155.246 135.035H297.067V289.276H155.246V135.035Z" fill="url(#paint19_radial_1200_88884)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M223.849 185.084C225.633 185.084 227.079 183.637 227.079 181.853C227.079 180.069 225.633 178.623 223.849 178.623C222.065 178.623 220.618 180.069 220.618 181.853C220.618 183.637 222.065 185.084 223.849 185.084ZM254.02 210.613C255.804 210.613 257.25 209.166 257.25 207.382C257.25 205.598 255.804 204.152 254.02 204.152C252.236 204.152 250.79 205.598 250.79 207.382C250.79 209.166 252.236 210.613 254.02 210.613ZM196.648 207.382C196.648 209.166 195.202 210.613 193.418 210.613C191.634 210.613 190.188 209.166 190.188 207.382C190.188 205.598 191.634 204.152 193.418 204.152C195.202 204.152 196.648 205.598 196.648 207.382ZM223.719 210.613C225.503 210.613 226.949 209.166 226.949 207.382C226.949 205.598 225.503 204.152 223.719 204.152C221.935 204.152 220.489 205.598 220.489 207.382C220.489 209.166 221.935 210.613 223.719 210.613ZM196.648 232.654C196.648 234.438 195.202 235.884 193.418 235.884C191.634 235.884 190.188 234.438 190.188 232.654C190.188 230.87 191.634 229.424 193.418 229.424C195.202 229.424 196.648 230.87 196.648 232.654ZM223.719 235.884C225.503 235.884 226.949 234.438 226.949 232.654C226.949 230.87 225.503 229.424 223.719 229.424C221.935 229.424 220.489 230.87 220.489 232.654C220.489 234.438 221.935 235.884 223.719 235.884ZM257.25 232.654C257.25 234.438 255.804 235.884 254.02 235.884C252.236 235.884 250.79 234.438 250.79 232.654C250.79 230.87 252.236 229.424 254.02 229.424C255.804 229.424 257.25 230.87 257.25 232.654ZM223.849 261.415C225.633 261.415 227.079 259.969 227.079 258.185C227.079 256.401 225.633 254.954 223.849 254.954C222.065 254.954 220.618 256.401 220.618 258.185C220.618 259.969 222.065 261.415 223.849 261.415ZM223.321 251.926V240.321H224.121V251.926H223.321ZM223.321 189.712V201.316H224.121V189.712H223.321ZM192.954 226.621V215.016H193.754V226.621H192.954ZM253.556 215.016V226.621H254.356V215.016H253.556ZM218.631 187.438L199.097 204.265L198.574 203.659L218.109 186.832L218.631 187.438ZM199.097 230.053L218.631 213.227L218.109 212.621L198.574 229.447L199.097 230.053ZM207.607 219.452L199.097 212.103L198.574 212.708L207.084 220.058L207.607 219.452ZM248.342 212.103L239.832 219.452L240.355 220.058L248.865 212.708L248.342 212.103ZM218.697 228.932L210.187 221.582L209.664 222.188L218.174 229.537L218.697 228.932ZM237.256 221.582L228.746 228.932L229.269 229.537L237.779 222.188L237.256 221.582ZM218.697 254.652L199.163 237.825L198.641 238.431L218.175 255.258L218.697 254.652ZM248.342 204.264L228.872 187.438L229.396 186.833L248.865 203.659L248.342 204.264ZM228.872 213.226L248.342 230.053L248.865 229.448L229.396 212.621L228.872 213.226ZM248.409 237.826L228.939 254.652L229.462 255.257L248.932 238.431L248.409 237.826Z" fill="url(#paint20_linear_1200_88884)"/>
</g>
<rect x="159.574" y="158.678" width="130.856" height="120.642" rx="15.6756" stroke="url(#paint21_linear_1200_88884)" stroke-width="0.648858"/>
<rect x="-9.625" y="-5.14062" width="469.25" height="420.284" fill="url(#paint22_radial_1200_88884)"/>
<g filter="url(#filter0_f_1200_88884)">
<ellipse cx="225" cy="-238.158" rx="688.312" ry="286.697" fill="url(#paint23_linear_1200_88884)"/>
</g>
<defs>
<filter id="filter0_f_1200_88884" x="-598.189" y="-659.732" width="1646.38" height="843.148" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_88884"/>
</filter>
<linearGradient id="paint0_linear_1200_88884" x1="259.775" y1="307.722" x2="259.775" y2="111.19" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint1_linear_1200_88884" x1="254.655" y1="286.313" x2="254.655" y2="118.726" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint2_linear_1200_88884" x1="264.39" y1="327.006" x2="264.39" y2="104.408" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint3_linear_1200_88884" x1="268.716" y1="345.128" x2="268.716" y2="98.027" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint4_linear_1200_88884" x1="272.736" y1="361.889" x2="272.736" y2="92.1276" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint5_linear_1200_88884" x1="276.657" y1="378.327" x2="276.657" y2="86.3469" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint6_linear_1200_88884" x1="280.722" y1="395.305" x2="280.722" y2="80.3735" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint7_linear_1200_88884" x1="284.54" y1="411.281" x2="284.54" y2="74.7496" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint8_linear_1200_88884" x1="288.271" y1="426.902" x2="288.271" y2="69.2438" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint9_linear_1200_88884" x1="291.695" y1="441.177" x2="291.695" y2="64.2208" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint10_linear_1200_88884" x1="295.623" y1="457.628" x2="295.623" y2="58.436" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint11_linear_1200_88884" x1="299.627" y1="474.384" x2="299.627" y2="52.5385" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint12_linear_1200_88884" x1="303.563" y1="490.831" x2="303.563" y2="46.7497" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint13_linear_1200_88884" x1="307.506" y1="507.32" x2="307.506" y2="40.9471" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint14_linear_1200_88884" x1="311.521" y1="524.049" x2="311.521" y2="35.0615" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint15_linear_1200_88884" x1="315.516" y1="540.773" x2="315.516" y2="29.17" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint16_linear_1200_88884" x1="320.344" y1="560.952" x2="320.344" y2="22.0736" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint17_linear_1200_88884" x1="324.785" y1="579.538" x2="324.785" y2="15.5321" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint18_linear_1200_88884" x1="329.467" y1="599.128" x2="329.467" y2="8.63783" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint19_radial_1200_88884" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(226.156 226.863) rotate(180) scale(105.285 57.1296)">
<stop stop-color="white" stop-opacity="0.43"/>
<stop offset="0.651042" stop-color="#FCFBFB"/>
<stop offset="1" stop-color="#F2F2F2"/>
</radialGradient>
<linearGradient id="paint20_linear_1200_88884" x1="257.25" y1="178.623" x2="262.003" y2="302.513" gradientUnits="userSpaceOnUse">
<stop stop-color="#373737" stop-opacity="0.85"/>
<stop offset="1" stop-color="#5D7D7B" stop-opacity="0.35"/>
</linearGradient>
<linearGradient id="paint21_linear_1200_88884" x1="159.25" y1="196.753" x2="204.586" y2="256.618" gradientUnits="userSpaceOnUse">
<stop stop-color="#DAE9E2"/>
<stop offset="0.588542" stop-color="#89A296"/>
<stop offset="1" stop-color="#89A296" stop-opacity="0.08"/>
</linearGradient>
<radialGradient id="paint22_radial_1200_88884" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(225 223.466) rotate(180) scale(177.464 262.48)">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="0.630208" stop-color="white" stop-opacity="0.35"/>
<stop offset="1" stop-color="white" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint23_linear_1200_88884" x1="-103.794" y1="-774.273" x2="162.841" y2="205.21" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
<clipPath id="clip0_1200_88884">
<rect x="159.25" y="158.354" width="131.505" height="121.291" rx="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1,182 @@
<svg width="450" height="400" viewBox="0 0 450 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-23.2969" y="-21.0293" width="476.973" height="430.908" fill="#131313"/>
<path d="M225.007 25.8825L313.826 102.026V222.449L225.007 298.818L136.188 222.449M223.061 25.8825L136.188 102.023V222.447" stroke="url(#paint0_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225.008 45.9824L300.746 110.912V213.599L225.008 278.721L149.27 213.599M223.348 45.9824L149.27 110.909V213.597" stroke="url(#paint1_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225.01 7.78504L325.61 94.0279V230.424L225.01 316.922L124.41 230.424M222.806 7.78504L124.41 94.0239V230.421" stroke="url(#paint2_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225.001 -9.23146L336.675 86.5046V237.914L225.001 333.934L113.328 237.914M222.555 -9.23146L113.328 86.5002V237.911" stroke="url(#paint3_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225.012 -24.9671L346.926 79.5484V244.843L225.012 349.668L103.098 244.843M222.341 -24.9671L103.098 79.5436V244.84" stroke="url(#paint4_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225.003 -40.3923L356.958 72.7317V251.641L225.003 365.1L93.0469 251.641M222.111 -40.3923L93.0469 72.7265V251.637" stroke="url(#paint5_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225.008 -56.3278L367.336 65.688V258.66L225.008 381.037L82.6797 258.66M221.889 -56.3278L82.6797 65.6824V258.656" stroke="url(#paint6_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225.004 -71.3278L377.094 59.0569V265.265L225.004 396.035L72.9141 265.265M221.672 -71.3278L72.9141 59.0509V265.26" stroke="url(#paint7_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M224.997 -86.0041L386.635 52.566V271.719L224.997 410.699L63.3594 271.719M221.456 -86.0041L63.3594 52.5596V271.714" stroke="url(#paint8_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225.008 -99.4037L395.367 46.643V277.621L225.008 424.1L54.6484 277.621M221.275 -99.4037L54.6484 46.6363V277.616" stroke="url(#paint9_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225.002 -114.84L405.41 39.8214V284.424L225.002 439.543L44.5938 284.424M221.049 -114.84L44.5938 39.8143V284.418" stroke="url(#paint10_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M224.998 -130.571L415.644 32.8675V291.351L224.998 455.273L34.3516 291.351M220.821 -130.571L34.3516 32.86V291.345" stroke="url(#paint11_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225 -146.012L425.695 26.0419V298.15L225 470.713L24.3047 298.15M220.603 -146.012L24.3047 26.034V298.144" stroke="url(#paint12_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225 -161.49L435.769 19.1998V304.967L225 486.191L14.2305 304.967M220.382 -161.49L14.2305 19.1915V304.961" stroke="url(#paint13_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225.013 -177.192L446.004 12.2596V311.884L225.013 501.896L4.02344 311.884M220.171 -177.192L4.02344 12.2509V311.877" stroke="url(#paint14_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225.008 -192.9L456.218 5.3136V318.795L225.008 517.596L-6.20312 318.795M219.941 -192.9L-6.20312 5.3045V318.788" stroke="url(#paint15_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225.01 -211.836L468.547 -3.05467V327.14L225.01 536.539L-18.5273 327.14M219.674 -211.836L-18.5273 -3.06426V327.133" stroke="url(#paint16_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225.006 -229.284L479.899 -10.7678V334.823L225.006 553.986L-29.8867 334.823M219.421 -229.284L-29.8867 -10.7779V334.816" stroke="url(#paint17_linear_1200_88648)" stroke-width="0.425139"/>
<path d="M225.003 -247.675L491.866 -18.8972V342.922L225.003 572.377L-41.8594 342.922M219.156 -247.675L-41.8594 -18.9077V342.914" stroke="url(#paint18_linear_1200_88648)" stroke-width="0.425139"/>
<g clip-path="url(#clip0_1200_88648)">
<rect x="159.25" y="158.354" width="131.505" height="121.291" rx="16" fill="#121212"/>
<circle cx="249.318" cy="205.445" r="0.978774" transform="rotate(-180 249.318 205.445)" fill="#73867C"/>
<circle cx="262.291" cy="185.332" r="0.978774" transform="rotate(-180 262.291 185.332)" fill="#73867C"/>
<ellipse cx="187.668" cy="190.515" rx="0.324429" ry="0.324429" transform="rotate(-180 187.668 190.515)" fill="#73867C"/>
<circle cx="187.025" cy="203.498" r="0.978774" transform="rotate(-180 187.025 203.498)" fill="#73867C"/>
<ellipse cx="175.992" cy="205.441" rx="0.324429" ry="0.324429" transform="rotate(-180 175.992 205.441)" fill="#73867C"/>
<circle cx="172.748" cy="198.955" r="0.978774" transform="rotate(-180 172.748 198.955)" fill="#73867C"/>
<circle cx="174.049" cy="233.343" r="0.978774" transform="rotate(-180 174.049 233.343)" fill="#73867C"/>
<circle cx="167.56" cy="221.017" r="0.978774" transform="rotate(-180 167.56 221.017)" fill="#73867C"/>
<circle cx="185.732" cy="221.017" r="0.978774" transform="rotate(-180 185.732 221.017)" fill="#73867C"/>
<circle cx="217.517" cy="237.888" r="0.978774" transform="rotate(-180 217.517 237.888)" fill="#73867C"/>
<circle cx="199.998" cy="235.295" r="0.978774" transform="rotate(-180 199.998 235.295)" fill="#73867C"/>
<ellipse cx="251.254" cy="253.455" rx="0.324429" ry="0.324429" transform="rotate(-180 251.254 253.455)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 191.566 246.317)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 202.597 238.531)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 194.156 236.584)" fill="#73867C"/>
<circle cx="256.671" cy="234.212" r="0.978774" transform="rotate(-75 256.671 234.212)" fill="#73867C"/>
<circle cx="228.773" cy="249.138" r="0.978774" transform="rotate(-75 228.773 249.138)" fill="#73867C"/>
<circle cx="268.844" cy="201.121" r="0.353739" transform="rotate(105 268.844 201.121)" fill="#73867C"/>
<ellipse cx="234.387" cy="228.799" rx="0.324429" ry="0.324429" transform="rotate(-180 234.387 228.799)" fill="#73867C"/>
<circle cx="258.599" cy="242.472" r="0.978774" transform="rotate(-180 258.599 242.472)" fill="#73867C"/>
<circle cx="276.382" cy="223.409" r="0.978774" transform="rotate(-75 276.382 223.409)" fill="#73867C"/>
<path d="M155.246 135.035H297.067V289.276H155.246V135.035Z" fill="url(#paint19_radial_1200_88648)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M223.849 185.084C225.633 185.084 227.079 183.637 227.079 181.853C227.079 180.069 225.633 178.623 223.849 178.623C222.065 178.623 220.618 180.069 220.618 181.853C220.618 183.637 222.065 185.084 223.849 185.084ZM254.02 210.613C255.804 210.613 257.25 209.166 257.25 207.382C257.25 205.598 255.804 204.152 254.02 204.152C252.236 204.152 250.79 205.598 250.79 207.382C250.79 209.166 252.236 210.613 254.02 210.613ZM196.648 207.382C196.648 209.166 195.202 210.613 193.418 210.613C191.634 210.613 190.188 209.166 190.188 207.382C190.188 205.598 191.634 204.152 193.418 204.152C195.202 204.152 196.648 205.598 196.648 207.382ZM223.719 210.613C225.503 210.613 226.949 209.166 226.949 207.382C226.949 205.598 225.503 204.152 223.719 204.152C221.935 204.152 220.489 205.598 220.489 207.382C220.489 209.166 221.935 210.613 223.719 210.613ZM196.648 232.654C196.648 234.438 195.202 235.884 193.418 235.884C191.634 235.884 190.188 234.438 190.188 232.654C190.188 230.87 191.634 229.424 193.418 229.424C195.202 229.424 196.648 230.87 196.648 232.654ZM223.719 235.884C225.503 235.884 226.949 234.438 226.949 232.654C226.949 230.87 225.503 229.424 223.719 229.424C221.935 229.424 220.489 230.87 220.489 232.654C220.489 234.438 221.935 235.884 223.719 235.884ZM257.25 232.654C257.25 234.438 255.804 235.884 254.02 235.884C252.236 235.884 250.79 234.438 250.79 232.654C250.79 230.87 252.236 229.424 254.02 229.424C255.804 229.424 257.25 230.87 257.25 232.654ZM223.849 261.415C225.633 261.415 227.079 259.969 227.079 258.185C227.079 256.401 225.633 254.954 223.849 254.954C222.065 254.954 220.618 256.401 220.618 258.185C220.618 259.969 222.065 261.415 223.849 261.415ZM223.321 251.926V240.321H224.121V251.926H223.321ZM223.321 189.712V201.316H224.121V189.712H223.321ZM192.954 226.621V215.016H193.754V226.621H192.954ZM253.556 215.016V226.621H254.356V215.016H253.556ZM218.631 187.438L199.097 204.265L198.574 203.659L218.109 186.832L218.631 187.438ZM199.097 230.053L218.631 213.227L218.109 212.621L198.574 229.447L199.097 230.053ZM207.607 219.452L199.097 212.103L198.574 212.708L207.084 220.058L207.607 219.452ZM248.342 212.103L239.832 219.452L240.355 220.058L248.865 212.708L248.342 212.103ZM218.697 228.932L210.187 221.582L209.664 222.188L218.174 229.537L218.697 228.932ZM237.256 221.582L228.746 228.932L229.269 229.537L237.779 222.188L237.256 221.582ZM218.697 254.652L199.163 237.825L198.641 238.431L218.175 255.258L218.697 254.652ZM248.342 204.264L228.872 187.438L229.396 186.833L248.865 203.659L248.342 204.264ZM228.872 213.226L248.342 230.053L248.865 229.448L229.396 212.621L228.872 213.226ZM248.409 237.826L228.939 254.652L229.462 255.257L248.932 238.431L248.409 237.826Z" fill="url(#paint20_linear_1200_88648)"/>
</g>
<rect x="159.574" y="158.678" width="130.856" height="120.642" rx="15.6756" stroke="url(#paint21_linear_1200_88648)" stroke-width="0.648858"/>
<rect x="-9.625" y="-5.14062" width="469.25" height="420.284" fill="url(#paint22_radial_1200_88648)"/>
<g filter="url(#filter0_f_1200_88648)">
<ellipse cx="225" cy="-238.158" rx="688.312" ry="286.697" fill="url(#paint23_linear_1200_88648)"/>
</g>
<defs>
<filter id="filter0_f_1200_88648" x="-598.189" y="-659.732" width="1646.38" height="843.148" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_88648"/>
</filter>
<linearGradient id="paint0_linear_1200_88648" x1="259.775" y1="307.722" x2="259.775" y2="111.19" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint1_linear_1200_88648" x1="254.655" y1="286.313" x2="254.655" y2="118.726" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint2_linear_1200_88648" x1="264.39" y1="327.006" x2="264.39" y2="104.408" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint3_linear_1200_88648" x1="268.716" y1="345.128" x2="268.716" y2="98.027" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint4_linear_1200_88648" x1="272.736" y1="361.889" x2="272.736" y2="92.1276" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint5_linear_1200_88648" x1="276.657" y1="378.327" x2="276.657" y2="86.3469" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint6_linear_1200_88648" x1="280.722" y1="395.305" x2="280.722" y2="80.3735" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint7_linear_1200_88648" x1="284.54" y1="411.281" x2="284.54" y2="74.7496" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint8_linear_1200_88648" x1="288.271" y1="426.902" x2="288.271" y2="69.2438" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint9_linear_1200_88648" x1="291.695" y1="441.177" x2="291.695" y2="64.2208" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint10_linear_1200_88648" x1="295.623" y1="457.628" x2="295.623" y2="58.436" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint11_linear_1200_88648" x1="299.627" y1="474.384" x2="299.627" y2="52.5385" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint12_linear_1200_88648" x1="303.563" y1="490.831" x2="303.563" y2="46.7497" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint13_linear_1200_88648" x1="307.506" y1="507.32" x2="307.506" y2="40.9471" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint14_linear_1200_88648" x1="311.521" y1="524.049" x2="311.521" y2="35.0615" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint15_linear_1200_88648" x1="315.516" y1="540.773" x2="315.516" y2="29.17" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint16_linear_1200_88648" x1="320.344" y1="560.952" x2="320.344" y2="22.0736" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint17_linear_1200_88648" x1="324.785" y1="579.538" x2="324.785" y2="15.5321" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint18_linear_1200_88648" x1="329.467" y1="599.128" x2="329.467" y2="8.63783" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint19_radial_1200_88648" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(226.156 226.876) rotate(-180) scale(38.2987 20.7816)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="0.630208" stop-color="#121212" stop-opacity="0.35"/>
<stop offset="1" stop-color="#121212" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint20_linear_1200_88648" x1="202.799" y1="250.871" x2="230.222" y2="250.871" gradientUnits="userSpaceOnUse">
<stop stop-color="#F4FFFA"/>
<stop offset="1" stop-color="#D8FFEC" stop-opacity="0.6"/>
</linearGradient>
<linearGradient id="paint21_linear_1200_88648" x1="159.25" y1="196.753" x2="204.586" y2="256.618" gradientUnits="userSpaceOnUse">
<stop stop-color="#DAE9E2"/>
<stop offset="0.588542" stop-color="#89A296"/>
<stop offset="1" stop-color="#89A296" stop-opacity="0.08"/>
</linearGradient>
<radialGradient id="paint22_radial_1200_88648" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(225 223.466) rotate(-180) scale(217.254 321.331)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="0.630208" stop-color="#121212" stop-opacity="0.35"/>
<stop offset="1" stop-color="#121212" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint23_linear_1200_88648" x1="-103.794" y1="-774.273" x2="162.841" y2="205.21" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
<clipPath id="clip0_1200_88648">
<rect x="159.25" y="158.354" width="131.505" height="121.291" rx="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1,182 @@
<svg width="450" height="400" viewBox="0 0 450 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-16.2969" y="-13.0293" width="476.973" height="430.908" fill="white"/>
<path d="M225.007 25.8825L313.826 102.026V222.449L225.007 298.818L136.188 222.449M223.061 25.8825L136.188 102.023V222.447" stroke="url(#paint0_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225.008 45.9824L300.746 110.912V213.599L225.008 278.721L149.27 213.599M223.348 45.9824L149.27 110.909V213.597" stroke="url(#paint1_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225.01 7.78504L325.61 94.0279V230.424L225.01 316.922L124.41 230.424M222.806 7.78504L124.41 94.0239V230.421" stroke="url(#paint2_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225.001 -9.23146L336.675 86.5046V237.914L225.001 333.934L113.328 237.914M222.555 -9.23146L113.328 86.5002V237.911" stroke="url(#paint3_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225.012 -24.9671L346.926 79.5484V244.843L225.012 349.668L103.098 244.843M222.341 -24.9671L103.098 79.5436V244.84" stroke="url(#paint4_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225.003 -40.3923L356.958 72.7317V251.641L225.003 365.1L93.0469 251.641M222.111 -40.3923L93.0469 72.7265V251.637" stroke="url(#paint5_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225.008 -56.3278L367.336 65.688V258.66L225.008 381.037L82.6797 258.66M221.889 -56.3278L82.6797 65.6824V258.656" stroke="url(#paint6_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225.004 -71.3278L377.094 59.0569V265.265L225.004 396.035L72.9141 265.265M221.672 -71.3278L72.9141 59.0509V265.26" stroke="url(#paint7_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M224.997 -86.0041L386.635 52.566V271.719L224.997 410.699L63.3594 271.719M221.456 -86.0041L63.3594 52.5596V271.714" stroke="url(#paint8_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225.008 -99.4037L395.367 46.643V277.621L225.008 424.1L54.6484 277.621M221.275 -99.4037L54.6484 46.6363V277.616" stroke="url(#paint9_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225.002 -114.84L405.41 39.8214V284.424L225.002 439.543L44.5938 284.424M221.049 -114.84L44.5938 39.8143V284.418" stroke="url(#paint10_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M224.998 -130.571L415.644 32.8675V291.351L224.998 455.273L34.3516 291.351M220.821 -130.571L34.3516 32.86V291.345" stroke="url(#paint11_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225 -146.012L425.695 26.0419V298.15L225 470.713L24.3047 298.15M220.603 -146.012L24.3047 26.034V298.144" stroke="url(#paint12_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225 -161.49L435.769 19.1998V304.967L225 486.191L14.2305 304.967M220.382 -161.49L14.2305 19.1915V304.961" stroke="url(#paint13_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225.013 -177.192L446.004 12.2596V311.884L225.013 501.896L4.02344 311.884M220.171 -177.192L4.02344 12.2509V311.877" stroke="url(#paint14_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225.008 -192.9L456.218 5.3136V318.795L225.008 517.596L-6.20312 318.795M219.941 -192.9L-6.20312 5.3045V318.788" stroke="url(#paint15_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225.01 -211.836L468.547 -3.05467V327.14L225.01 536.539L-18.5273 327.14M219.674 -211.836L-18.5273 -3.06426V327.133" stroke="url(#paint16_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225.006 -229.284L479.899 -10.7678V334.823L225.006 553.986L-29.8867 334.823M219.421 -229.284L-29.8867 -10.7779V334.816" stroke="url(#paint17_linear_1200_86637)" stroke-width="0.425139"/>
<path d="M225.003 -247.675L491.866 -18.8972V342.922L225.003 572.377L-41.8594 342.922M219.156 -247.675L-41.8594 -18.9077V342.914" stroke="url(#paint18_linear_1200_86637)" stroke-width="0.425139"/>
<g clip-path="url(#clip0_1200_86637)">
<rect x="159.25" y="158.354" width="131.505" height="121.291" rx="16" fill="white"/>
<circle cx="249.318" cy="205.445" r="0.978774" transform="rotate(-180 249.318 205.445)" fill="#73867C"/>
<circle cx="262.291" cy="185.332" r="0.978774" transform="rotate(-180 262.291 185.332)" fill="#73867C"/>
<ellipse cx="187.668" cy="190.515" rx="0.324429" ry="0.324429" transform="rotate(-180 187.668 190.515)" fill="#73867C"/>
<circle cx="187.025" cy="203.498" r="0.978774" transform="rotate(-180 187.025 203.498)" fill="#73867C"/>
<ellipse cx="175.992" cy="205.441" rx="0.324429" ry="0.324429" transform="rotate(-180 175.992 205.441)" fill="#73867C"/>
<circle cx="172.748" cy="198.955" r="0.978774" transform="rotate(-180 172.748 198.955)" fill="#73867C"/>
<circle cx="174.049" cy="233.343" r="0.978774" transform="rotate(-180 174.049 233.343)" fill="#73867C"/>
<circle cx="167.56" cy="221.017" r="0.978774" transform="rotate(-180 167.56 221.017)" fill="#73867C"/>
<circle cx="185.732" cy="221.017" r="0.978774" transform="rotate(-180 185.732 221.017)" fill="#73867C"/>
<circle cx="217.517" cy="237.888" r="0.978774" transform="rotate(-180 217.517 237.888)" fill="#73867C"/>
<circle cx="199.998" cy="235.295" r="0.978774" transform="rotate(-180 199.998 235.295)" fill="#73867C"/>
<ellipse cx="251.254" cy="253.455" rx="0.324429" ry="0.324429" transform="rotate(-180 251.254 253.455)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 191.566 246.317)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 202.597 238.531)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 194.156 236.584)" fill="#73867C"/>
<circle cx="256.671" cy="234.212" r="0.978774" transform="rotate(-75 256.671 234.212)" fill="#73867C"/>
<circle cx="228.773" cy="249.138" r="0.978774" transform="rotate(-75 228.773 249.138)" fill="#73867C"/>
<circle cx="268.844" cy="201.121" r="0.353739" transform="rotate(105 268.844 201.121)" fill="#73867C"/>
<ellipse cx="234.387" cy="228.799" rx="0.324429" ry="0.324429" transform="rotate(-180 234.387 228.799)" fill="#73867C"/>
<circle cx="258.599" cy="242.472" r="0.978774" transform="rotate(-180 258.599 242.472)" fill="#73867C"/>
<circle cx="276.382" cy="223.409" r="0.978774" transform="rotate(-75 276.382 223.409)" fill="#73867C"/>
<path d="M155.246 135.035H297.067V289.276H155.246V135.035Z" fill="url(#paint19_radial_1200_86637)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M223.849 185.084C225.633 185.084 227.079 183.637 227.079 181.853C227.079 180.069 225.633 178.623 223.849 178.623C222.065 178.623 220.618 180.069 220.618 181.853C220.618 183.637 222.065 185.084 223.849 185.084ZM254.02 210.613C255.804 210.613 257.25 209.166 257.25 207.382C257.25 205.598 255.804 204.152 254.02 204.152C252.236 204.152 250.79 205.598 250.79 207.382C250.79 209.166 252.236 210.613 254.02 210.613ZM196.648 207.382C196.648 209.166 195.202 210.613 193.418 210.613C191.634 210.613 190.188 209.166 190.188 207.382C190.188 205.598 191.634 204.152 193.418 204.152C195.202 204.152 196.648 205.598 196.648 207.382ZM223.719 210.613C225.503 210.613 226.949 209.166 226.949 207.382C226.949 205.598 225.503 204.152 223.719 204.152C221.935 204.152 220.489 205.598 220.489 207.382C220.489 209.166 221.935 210.613 223.719 210.613ZM196.648 232.654C196.648 234.438 195.202 235.884 193.418 235.884C191.634 235.884 190.188 234.438 190.188 232.654C190.188 230.87 191.634 229.424 193.418 229.424C195.202 229.424 196.648 230.87 196.648 232.654ZM223.719 235.884C225.503 235.884 226.949 234.438 226.949 232.654C226.949 230.87 225.503 229.424 223.719 229.424C221.935 229.424 220.489 230.87 220.489 232.654C220.489 234.438 221.935 235.884 223.719 235.884ZM257.25 232.654C257.25 234.438 255.804 235.884 254.02 235.884C252.236 235.884 250.79 234.438 250.79 232.654C250.79 230.87 252.236 229.424 254.02 229.424C255.804 229.424 257.25 230.87 257.25 232.654ZM223.849 261.415C225.633 261.415 227.079 259.969 227.079 258.185C227.079 256.401 225.633 254.954 223.849 254.954C222.065 254.954 220.618 256.401 220.618 258.185C220.618 259.969 222.065 261.415 223.849 261.415ZM223.321 251.926V240.321H224.121V251.926H223.321ZM223.321 189.712V201.316H224.121V189.712H223.321ZM192.954 226.621V215.016H193.754V226.621H192.954ZM253.556 215.016V226.621H254.356V215.016H253.556ZM218.631 187.438L199.097 204.265L198.574 203.659L218.109 186.832L218.631 187.438ZM199.097 230.053L218.631 213.227L218.109 212.621L198.574 229.447L199.097 230.053ZM207.607 219.452L199.097 212.103L198.574 212.708L207.084 220.058L207.607 219.452ZM248.342 212.103L239.832 219.452L240.355 220.058L248.865 212.708L248.342 212.103ZM218.697 228.932L210.187 221.582L209.664 222.188L218.174 229.537L218.697 228.932ZM237.256 221.582L228.746 228.932L229.269 229.537L237.779 222.188L237.256 221.582ZM218.697 254.652L199.163 237.825L198.641 238.431L218.175 255.258L218.697 254.652ZM248.342 204.264L228.872 187.438L229.396 186.833L248.865 203.659L248.342 204.264ZM228.872 213.226L248.342 230.053L248.865 229.448L229.396 212.621L228.872 213.226ZM248.409 237.826L228.939 254.652L229.462 255.257L248.932 238.431L248.409 237.826Z" fill="url(#paint20_linear_1200_86637)"/>
</g>
<rect x="159.574" y="158.678" width="130.856" height="120.642" rx="15.6756" stroke="url(#paint21_linear_1200_86637)" stroke-width="0.648858"/>
<rect x="-9.625" y="-5.14062" width="469.25" height="420.284" fill="url(#paint22_radial_1200_86637)"/>
<g filter="url(#filter0_f_1200_86637)">
<ellipse cx="225" cy="-284.158" rx="688.312" ry="286.697" fill="url(#paint23_linear_1200_86637)"/>
</g>
<defs>
<filter id="filter0_f_1200_86637" x="-598.189" y="-705.732" width="1646.38" height="843.148" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_86637"/>
</filter>
<linearGradient id="paint0_linear_1200_86637" x1="259.775" y1="307.722" x2="259.775" y2="111.19" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint1_linear_1200_86637" x1="254.655" y1="286.313" x2="254.655" y2="118.726" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint2_linear_1200_86637" x1="264.39" y1="327.006" x2="264.39" y2="104.408" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint3_linear_1200_86637" x1="268.716" y1="345.128" x2="268.716" y2="98.027" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint4_linear_1200_86637" x1="272.736" y1="361.889" x2="272.736" y2="92.1276" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint5_linear_1200_86637" x1="276.657" y1="378.327" x2="276.657" y2="86.3469" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint6_linear_1200_86637" x1="280.722" y1="395.305" x2="280.722" y2="80.3735" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint7_linear_1200_86637" x1="284.54" y1="411.281" x2="284.54" y2="74.7496" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint8_linear_1200_86637" x1="288.271" y1="426.902" x2="288.271" y2="69.2438" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint9_linear_1200_86637" x1="291.695" y1="441.177" x2="291.695" y2="64.2208" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint10_linear_1200_86637" x1="295.623" y1="457.628" x2="295.623" y2="58.436" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint11_linear_1200_86637" x1="299.627" y1="474.384" x2="299.627" y2="52.5385" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint12_linear_1200_86637" x1="303.563" y1="490.831" x2="303.563" y2="46.7497" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint13_linear_1200_86637" x1="307.506" y1="507.32" x2="307.506" y2="40.9471" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint14_linear_1200_86637" x1="311.521" y1="524.049" x2="311.521" y2="35.0615" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint15_linear_1200_86637" x1="315.516" y1="540.773" x2="315.516" y2="29.17" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint16_linear_1200_86637" x1="320.344" y1="560.952" x2="320.344" y2="22.0736" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint17_linear_1200_86637" x1="324.785" y1="579.538" x2="324.785" y2="15.5321" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint18_linear_1200_86637" x1="329.467" y1="599.128" x2="329.467" y2="8.63783" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#1DAC8A"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint19_radial_1200_86637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(226.156 226.863) rotate(180) scale(105.285 57.1296)">
<stop stop-color="white" stop-opacity="0.43"/>
<stop offset="0.651042" stop-color="#FCFBFB"/>
<stop offset="1" stop-color="#F2F2F2"/>
</radialGradient>
<linearGradient id="paint20_linear_1200_86637" x1="257.25" y1="178.623" x2="262.003" y2="302.513" gradientUnits="userSpaceOnUse">
<stop stop-color="#373737" stop-opacity="0.85"/>
<stop offset="1" stop-color="#5D7D7B" stop-opacity="0.35"/>
</linearGradient>
<linearGradient id="paint21_linear_1200_86637" x1="159.25" y1="196.753" x2="219.604" y2="233.788" gradientUnits="userSpaceOnUse">
<stop stop-color="#DAE9E2"/>
<stop offset="0.588542" stop-color="#89A296"/>
<stop offset="1" stop-color="#89A296" stop-opacity="0.08"/>
</linearGradient>
<radialGradient id="paint22_radial_1200_86637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(205.567 223.466) rotate(180) scale(158.031 233.737)">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="0.630208" stop-color="white" stop-opacity="0.35"/>
<stop offset="1" stop-color="white" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint23_linear_1200_86637" x1="-103.794" y1="-820.273" x2="162.841" y2="159.21" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
<clipPath id="clip0_1200_86637">
<rect x="159.25" y="158.354" width="131.505" height="121.291" rx="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1,182 @@
<svg width="450" height="400" viewBox="0 0 450 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-16.2969" y="-13.0293" width="476.973" height="430.908" fill="#131313"/>
<path d="M225.007 25.8825L313.826 102.026V222.449L225.007 298.818L136.188 222.449M223.061 25.8825L136.188 102.023V222.447" stroke="url(#paint0_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225.008 45.9824L300.746 110.912V213.599L225.008 278.721L149.27 213.599M223.348 45.9824L149.27 110.909V213.597" stroke="url(#paint1_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225.01 7.78504L325.61 94.0279V230.424L225.01 316.922L124.41 230.424M222.806 7.78504L124.41 94.0239V230.421" stroke="url(#paint2_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225.001 -9.23146L336.675 86.5046V237.914L225.001 333.934L113.328 237.914M222.555 -9.23146L113.328 86.5002V237.911" stroke="url(#paint3_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225.012 -24.9671L346.926 79.5484V244.843L225.012 349.668L103.098 244.843M222.341 -24.9671L103.098 79.5436V244.84" stroke="url(#paint4_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225.003 -40.3923L356.958 72.7317V251.641L225.003 365.1L93.0469 251.641M222.111 -40.3923L93.0469 72.7265V251.637" stroke="url(#paint5_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225.008 -56.3278L367.336 65.688V258.66L225.008 381.037L82.6797 258.66M221.889 -56.3278L82.6797 65.6824V258.656" stroke="url(#paint6_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225.004 -71.3278L377.094 59.0569V265.265L225.004 396.035L72.9141 265.265M221.672 -71.3278L72.9141 59.0509V265.26" stroke="url(#paint7_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M224.997 -86.0041L386.635 52.566V271.719L224.997 410.699L63.3594 271.719M221.456 -86.0041L63.3594 52.5596V271.714" stroke="url(#paint8_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225.008 -99.4037L395.367 46.643V277.621L225.008 424.1L54.6484 277.621M221.275 -99.4037L54.6484 46.6363V277.616" stroke="url(#paint9_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225.002 -114.84L405.41 39.8214V284.424L225.002 439.543L44.5938 284.424M221.049 -114.84L44.5938 39.8143V284.418" stroke="url(#paint10_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M224.998 -130.571L415.644 32.8675V291.351L224.998 455.273L34.3516 291.351M220.821 -130.571L34.3516 32.86V291.345" stroke="url(#paint11_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225 -146.012L425.695 26.0419V298.15L225 470.713L24.3047 298.15M220.603 -146.012L24.3047 26.034V298.144" stroke="url(#paint12_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225 -161.49L435.769 19.1998V304.967L225 486.191L14.2305 304.967M220.382 -161.49L14.2305 19.1915V304.961" stroke="url(#paint13_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225.013 -177.192L446.004 12.2596V311.884L225.013 501.896L4.02344 311.884M220.171 -177.192L4.02344 12.2509V311.877" stroke="url(#paint14_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225.008 -192.9L456.218 5.3136V318.795L225.008 517.596L-6.20312 318.795M219.941 -192.9L-6.20312 5.3045V318.788" stroke="url(#paint15_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225.01 -211.836L468.547 -3.05467V327.14L225.01 536.539L-18.5273 327.14M219.674 -211.836L-18.5273 -3.06426V327.133" stroke="url(#paint16_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225.006 -229.284L479.899 -10.7678V334.823L225.006 553.986L-29.8867 334.823M219.421 -229.284L-29.8867 -10.7779V334.816" stroke="url(#paint17_linear_1149_74759)" stroke-width="0.425139"/>
<path d="M225.003 -247.675L491.866 -18.8972V342.922L225.003 572.377L-41.8594 342.922M219.156 -247.675L-41.8594 -18.9077V342.914" stroke="url(#paint18_linear_1149_74759)" stroke-width="0.425139"/>
<g clip-path="url(#clip0_1149_74759)">
<rect x="159.25" y="158.354" width="131.505" height="121.291" rx="16" fill="#121212"/>
<circle cx="249.318" cy="205.445" r="0.978774" transform="rotate(-180 249.318 205.445)" fill="#73867C"/>
<circle cx="262.291" cy="185.332" r="0.978774" transform="rotate(-180 262.291 185.332)" fill="#73867C"/>
<ellipse cx="187.668" cy="190.515" rx="0.324429" ry="0.324429" transform="rotate(-180 187.668 190.515)" fill="#73867C"/>
<circle cx="187.025" cy="203.498" r="0.978774" transform="rotate(-180 187.025 203.498)" fill="#73867C"/>
<ellipse cx="175.992" cy="205.441" rx="0.324429" ry="0.324429" transform="rotate(-180 175.992 205.441)" fill="#73867C"/>
<circle cx="172.748" cy="198.955" r="0.978774" transform="rotate(-180 172.748 198.955)" fill="#73867C"/>
<circle cx="174.049" cy="233.343" r="0.978774" transform="rotate(-180 174.049 233.343)" fill="#73867C"/>
<circle cx="167.56" cy="221.017" r="0.978774" transform="rotate(-180 167.56 221.017)" fill="#73867C"/>
<circle cx="185.732" cy="221.017" r="0.978774" transform="rotate(-180 185.732 221.017)" fill="#73867C"/>
<circle cx="217.517" cy="237.888" r="0.978774" transform="rotate(-180 217.517 237.888)" fill="#73867C"/>
<circle cx="199.998" cy="235.295" r="0.978774" transform="rotate(-180 199.998 235.295)" fill="#73867C"/>
<ellipse cx="251.254" cy="253.455" rx="0.324429" ry="0.324429" transform="rotate(-180 251.254 253.455)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 191.566 246.317)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 202.597 238.531)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 194.156 236.584)" fill="#73867C"/>
<circle cx="256.671" cy="234.212" r="0.978774" transform="rotate(-75 256.671 234.212)" fill="#73867C"/>
<circle cx="228.773" cy="249.138" r="0.978774" transform="rotate(-75 228.773 249.138)" fill="#73867C"/>
<circle cx="268.844" cy="201.121" r="0.353739" transform="rotate(105 268.844 201.121)" fill="#73867C"/>
<ellipse cx="234.387" cy="228.799" rx="0.324429" ry="0.324429" transform="rotate(-180 234.387 228.799)" fill="#73867C"/>
<circle cx="258.599" cy="242.472" r="0.978774" transform="rotate(-180 258.599 242.472)" fill="#73867C"/>
<circle cx="276.382" cy="223.409" r="0.978774" transform="rotate(-75 276.382 223.409)" fill="#73867C"/>
<path d="M155.246 135.035H297.067V289.276H155.246V135.035Z" fill="url(#paint19_radial_1149_74759)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M223.849 185.084C225.633 185.084 227.079 183.637 227.079 181.853C227.079 180.069 225.633 178.623 223.849 178.623C222.065 178.623 220.618 180.069 220.618 181.853C220.618 183.637 222.065 185.084 223.849 185.084ZM254.02 210.613C255.804 210.613 257.25 209.166 257.25 207.382C257.25 205.598 255.804 204.152 254.02 204.152C252.236 204.152 250.79 205.598 250.79 207.382C250.79 209.166 252.236 210.613 254.02 210.613ZM196.648 207.382C196.648 209.166 195.202 210.613 193.418 210.613C191.634 210.613 190.188 209.166 190.188 207.382C190.188 205.598 191.634 204.152 193.418 204.152C195.202 204.152 196.648 205.598 196.648 207.382ZM223.719 210.613C225.503 210.613 226.949 209.166 226.949 207.382C226.949 205.598 225.503 204.152 223.719 204.152C221.935 204.152 220.489 205.598 220.489 207.382C220.489 209.166 221.935 210.613 223.719 210.613ZM196.648 232.654C196.648 234.438 195.202 235.884 193.418 235.884C191.634 235.884 190.188 234.438 190.188 232.654C190.188 230.87 191.634 229.424 193.418 229.424C195.202 229.424 196.648 230.87 196.648 232.654ZM223.719 235.884C225.503 235.884 226.949 234.438 226.949 232.654C226.949 230.87 225.503 229.424 223.719 229.424C221.935 229.424 220.489 230.87 220.489 232.654C220.489 234.438 221.935 235.884 223.719 235.884ZM257.25 232.654C257.25 234.438 255.804 235.884 254.02 235.884C252.236 235.884 250.79 234.438 250.79 232.654C250.79 230.87 252.236 229.424 254.02 229.424C255.804 229.424 257.25 230.87 257.25 232.654ZM223.849 261.415C225.633 261.415 227.079 259.969 227.079 258.185C227.079 256.401 225.633 254.954 223.849 254.954C222.065 254.954 220.618 256.401 220.618 258.185C220.618 259.969 222.065 261.415 223.849 261.415ZM223.321 251.926V240.321H224.121V251.926H223.321ZM223.321 189.712V201.316H224.121V189.712H223.321ZM192.954 226.621V215.016H193.754V226.621H192.954ZM253.556 215.016V226.621H254.356V215.016H253.556ZM218.631 187.438L199.097 204.265L198.574 203.659L218.109 186.832L218.631 187.438ZM199.097 230.053L218.631 213.227L218.109 212.621L198.574 229.447L199.097 230.053ZM207.607 219.452L199.097 212.103L198.574 212.708L207.084 220.058L207.607 219.452ZM248.342 212.103L239.832 219.452L240.355 220.058L248.865 212.708L248.342 212.103ZM218.697 228.932L210.187 221.582L209.664 222.188L218.174 229.537L218.697 228.932ZM237.256 221.582L228.746 228.932L229.269 229.537L237.779 222.188L237.256 221.582ZM218.697 254.652L199.163 237.825L198.641 238.431L218.175 255.258L218.697 254.652ZM248.342 204.264L228.872 187.438L229.396 186.833L248.865 203.659L248.342 204.264ZM228.872 213.226L248.342 230.053L248.865 229.448L229.396 212.621L228.872 213.226ZM248.409 237.826L228.939 254.652L229.462 255.257L248.932 238.431L248.409 237.826Z" fill="url(#paint20_linear_1149_74759)"/>
</g>
<rect x="159.574" y="158.678" width="130.856" height="120.642" rx="15.6756" stroke="url(#paint21_linear_1149_74759)" stroke-width="0.648858"/>
<rect x="-9.625" y="-5.14062" width="469.25" height="420.284" fill="url(#paint22_radial_1149_74759)"/>
<g filter="url(#filter0_f_1149_74759)">
<ellipse cx="225" cy="-284.158" rx="688.312" ry="286.697" fill="url(#paint23_linear_1149_74759)"/>
</g>
<defs>
<filter id="filter0_f_1149_74759" x="-598.189" y="-705.732" width="1646.38" height="843.148" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1149_74759"/>
</filter>
<linearGradient id="paint0_linear_1149_74759" x1="259.775" y1="307.722" x2="259.775" y2="111.19" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint1_linear_1149_74759" x1="254.655" y1="286.313" x2="254.655" y2="118.726" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint2_linear_1149_74759" x1="264.39" y1="327.006" x2="264.39" y2="104.408" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint3_linear_1149_74759" x1="268.716" y1="345.128" x2="268.716" y2="98.027" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint4_linear_1149_74759" x1="272.736" y1="361.889" x2="272.736" y2="92.1276" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint5_linear_1149_74759" x1="276.657" y1="378.327" x2="276.657" y2="86.3469" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint6_linear_1149_74759" x1="280.722" y1="395.305" x2="280.722" y2="80.3735" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint7_linear_1149_74759" x1="284.54" y1="411.281" x2="284.54" y2="74.7496" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint8_linear_1149_74759" x1="288.271" y1="426.902" x2="288.271" y2="69.2438" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint9_linear_1149_74759" x1="291.695" y1="441.177" x2="291.695" y2="64.2208" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint10_linear_1149_74759" x1="295.623" y1="457.628" x2="295.623" y2="58.436" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint11_linear_1149_74759" x1="299.627" y1="474.384" x2="299.627" y2="52.5385" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint12_linear_1149_74759" x1="303.563" y1="490.831" x2="303.563" y2="46.7497" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint13_linear_1149_74759" x1="307.506" y1="507.32" x2="307.506" y2="40.9471" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint14_linear_1149_74759" x1="311.521" y1="524.049" x2="311.521" y2="35.0615" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint15_linear_1149_74759" x1="315.516" y1="540.773" x2="315.516" y2="29.17" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint16_linear_1149_74759" x1="320.344" y1="560.952" x2="320.344" y2="22.0736" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint17_linear_1149_74759" x1="324.785" y1="579.538" x2="324.785" y2="15.5321" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint18_linear_1149_74759" x1="329.467" y1="599.128" x2="329.467" y2="8.63783" gradientUnits="userSpaceOnUse">
<stop stop-color="#375965" stop-opacity="0"/>
<stop offset="0.494792" stop-color="#7AFFDF"/>
<stop offset="1" stop-color="#375965" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint19_radial_1149_74759" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(226.156 226.876) rotate(-180) scale(38.2987 20.7816)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="0.630208" stop-color="#121212" stop-opacity="0.35"/>
<stop offset="1" stop-color="#121212" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint20_linear_1149_74759" x1="202.799" y1="250.871" x2="230.222" y2="250.871" gradientUnits="userSpaceOnUse">
<stop stop-color="#F4FFFA"/>
<stop offset="1" stop-color="#D8FFEC" stop-opacity="0.6"/>
</linearGradient>
<linearGradient id="paint21_linear_1149_74759" x1="159.25" y1="196.753" x2="219.604" y2="233.788" gradientUnits="userSpaceOnUse">
<stop stop-color="#DAE9E2"/>
<stop offset="0.588542" stop-color="#89A296"/>
<stop offset="1" stop-color="#89A296" stop-opacity="0.08"/>
</linearGradient>
<radialGradient id="paint22_radial_1149_74759" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(225 223.466) rotate(180) scale(136.774 170.671)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="0.630208" stop-color="#121212" stop-opacity="0.35"/>
<stop offset="1" stop-color="#121212" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint23_linear_1149_74759" x1="-103.794" y1="-820.273" x2="162.841" y2="159.21" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
<clipPath id="clip0_1149_74759">
<rect x="159.25" y="158.354" width="131.505" height="121.291" rx="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1,84 @@
<svg width="448" height="400" viewBox="0 0 448 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-8.65234" y="-8.94141" width="476.973" height="430.908" fill="white"/>
<g clip-path="url(#clip0_1200_110235)">
<rect x="158" y="158" width="132" height="122" rx="16" fill="white"/>
<circle cx="248.318" cy="200.767" r="0.978774" transform="rotate(-180 248.318 200.767)" fill="#73867C"/>
<circle cx="261.291" cy="180.654" r="0.978774" transform="rotate(-180 261.291 180.654)" fill="#73867C"/>
<ellipse cx="186.668" cy="185.838" rx="0.324429" ry="0.324429" transform="rotate(-180 186.668 185.838)" fill="#73867C"/>
<circle cx="186.025" cy="198.82" r="0.978774" transform="rotate(-180 186.025 198.82)" fill="#73867C"/>
<ellipse cx="174.992" cy="200.763" rx="0.324429" ry="0.324429" transform="rotate(-180 174.992 200.763)" fill="#73867C"/>
<circle cx="171.748" cy="194.277" r="0.978774" transform="rotate(-180 171.748 194.277)" fill="#73867C"/>
<circle cx="173.049" cy="228.666" r="0.978774" transform="rotate(-180 173.049 228.666)" fill="#73867C"/>
<circle cx="166.56" cy="216.34" r="0.978774" transform="rotate(-180 166.56 216.34)" fill="#73867C"/>
<circle cx="184.732" cy="216.34" r="0.978774" transform="rotate(-180 184.732 216.34)" fill="#73867C"/>
<circle cx="198.998" cy="230.617" r="0.978774" transform="rotate(-180 198.998 230.617)" fill="#73867C"/>
<ellipse cx="250.254" cy="248.777" rx="0.324429" ry="0.324429" transform="rotate(-180 250.254 248.777)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 190.566 241.639)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 201.597 233.854)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 193.156 231.906)" fill="#73867C"/>
<circle cx="255.671" cy="229.534" r="0.978774" transform="rotate(-75 255.671 229.534)" fill="#73867C"/>
<circle cx="227.773" cy="244.46" r="0.978774" transform="rotate(-75 227.773 244.46)" fill="#73867C"/>
<circle cx="267.844" cy="196.443" r="0.353739" transform="rotate(105 267.844 196.443)" fill="#73867C"/>
<ellipse cx="233.387" cy="224.121" rx="0.324429" ry="0.324429" transform="rotate(-180 233.387 224.121)" fill="#73867C"/>
<circle cx="257.599" cy="237.795" r="0.978774" transform="rotate(-180 257.599 237.795)" fill="#73867C"/>
<circle cx="275.382" cy="218.732" r="0.978774" transform="rotate(-75 275.382 218.732)" fill="#73867C"/>
<path d="M154.551 154.67H296.372V280H154.551V154.67Z" fill="url(#paint0_radial_1200_110235)"/>
<g filter="url(#filter0_f_1200_110235)">
<ellipse cx="233.006" cy="-24.8608" rx="312.884" ry="142.565" fill="url(#paint1_linear_1200_110235)"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M227.413 190.468C227.491 190.439 227.604 190.4 227.748 190.354C228.076 190.249 228.589 190.099 229.246 189.946C230.559 189.639 232.469 189.31 234.655 189.29C239.026 189.249 244.605 190.445 248.649 195.613L248.649 195.613C249.519 196.724 249.82 198.515 249.789 200.531C249.757 202.598 249.371 205.099 248.67 207.811C247.31 213.076 244.739 219.242 241.12 224.749C241.599 225.098 243.123 225.733 247.445 224.841C247.871 224.753 248.255 224.708 248.59 224.72C248.904 224.73 249.289 224.794 249.605 225.035C249.984 225.324 250.121 225.75 250.083 226.148C250.05 226.491 249.894 226.794 249.74 227.026C249.425 227.502 248.904 227.994 248.297 228.446C247.678 228.907 246.92 229.364 246.081 229.754C244.642 230.421 242.416 230.809 240.557 230.83C240.223 230.834 239.89 230.826 239.568 230.803C239.42 230.855 239.257 230.868 239.092 230.832C238.469 230.697 238.187 230.711 238.071 230.743C238.068 230.744 238.066 230.744 238.063 230.744C238.045 230.746 238.018 230.75 237.962 230.886C237.873 231.107 237.805 231.474 237.736 232.115C237.713 232.327 237.69 232.571 237.664 232.841L237.664 232.842C237.618 233.319 237.565 233.876 237.494 234.471C237.487 234.529 237.474 234.587 237.455 234.643L237.108 235.684C237.084 236.909 236.946 237.479 236.783 238.07L236.761 238.148C236.623 238.648 236.473 239.187 236.377 240.427L236.377 240.427C236.214 242.524 235.536 244.28 234.267 245.635C233.005 246.983 231.231 247.856 229.016 248.33C227.662 248.62 226.536 248.61 225.596 248.351C224.645 248.089 223.939 247.588 223.412 246.987C222.896 246.397 222.565 245.726 222.33 245.132C222.212 244.834 222.115 244.546 222.031 244.292L221.978 244.129L221.978 244.129C221.916 243.94 221.864 243.78 221.812 243.638C221.161 241.869 221.227 239.661 221.311 236.814L221.315 236.66C221.358 235.218 221.252 233.703 221.048 232.489C220.951 231.913 220.836 231.425 220.712 231.054C220.652 231.106 220.594 231.154 220.541 231.196C220.067 231.568 218.751 232.319 217.141 232.785C215.53 233.252 213.449 233.486 211.56 232.588C210.909 232.279 210.405 232.012 210.039 231.776C209.856 231.658 209.687 231.534 209.545 231.402C209.413 231.278 209.247 231.095 209.15 230.847C209.036 230.556 209.035 230.21 209.21 229.896C209.358 229.631 209.581 229.482 209.724 229.403C210.007 229.246 210.37 229.154 210.667 229.088C210.944 229.027 211.217 228.976 211.496 228.924C211.939 228.842 212.398 228.756 212.915 228.621C213.716 228.412 214.393 228.138 214.84 227.754C215.608 227.095 216.172 226.572 216.575 226.176C216.567 226.109 216.561 226.041 216.556 225.973C215.312 225.942 214.132 225.61 213.08 225.043L212.965 225.165C212.695 225.453 212.307 225.871 211.835 226.391C210.889 227.431 209.608 228.875 208.264 230.492C207.252 231.709 206.134 232.422 204.912 232.473C203.695 232.525 202.621 231.911 201.717 231.033C199.933 229.299 198.399 226.136 197.142 222.717C195.87 219.256 194.83 215.385 194.094 212.102C193.363 208.838 192.917 206.088 192.857 204.884C192.586 199.456 193.836 195.808 196.036 193.477C198.228 191.154 201.223 190.291 204.122 190.125C207.023 189.959 209.929 190.482 212.087 191.034C213.171 191.311 214.078 191.599 214.715 191.817C214.896 191.88 215.056 191.937 215.192 191.986C217.259 190.491 219.802 189.963 222.16 189.906C224.064 189.86 225.911 190.118 227.413 190.468ZM213.707 193.33C213.153 193.149 212.454 192.938 211.653 192.733C209.582 192.203 206.872 191.724 204.223 191.876C201.573 192.028 199.083 192.804 197.311 194.681C195.547 196.55 194.352 199.662 194.609 204.796C194.661 205.84 195.077 208.464 195.806 211.718C196.531 214.954 197.551 218.746 198.788 222.111C200.04 225.517 201.465 228.342 202.939 229.775C203.664 230.48 204.294 230.744 204.837 230.721C205.375 230.698 206.074 230.383 206.915 229.371C208.281 227.729 209.579 226.264 210.537 225.211C210.979 224.725 211.348 224.326 211.618 224.037C209.423 222.153 208.132 219.101 208.593 215.807L209.461 215.928L208.593 215.807C209.017 212.771 208.864 210.152 208.778 208.668L208.778 208.668L208.778 208.668C208.753 208.24 208.733 207.906 208.735 207.684L208.735 207.684C208.735 207.571 208.755 207.467 208.785 207.374C208.837 205.747 209.132 203.298 209.862 200.751C210.597 198.181 211.797 195.43 213.707 193.33ZM210.731 205.704C211.641 205.21 212.834 204.709 214.081 204.422C215.366 204.125 216.816 204.03 218.082 204.519C219.415 205.034 220.411 206.145 220.802 207.954L220.802 207.954C221.722 212.207 221.621 215.073 221.128 217.246C220.882 218.328 220.545 219.215 220.213 219.987C220.086 220.284 219.966 220.551 219.853 220.8C219.661 221.226 219.492 221.602 219.344 222.001C219.299 222.122 219.255 222.24 219.211 222.356C218.934 223.101 218.69 223.754 218.521 224.362C218.49 224.475 218.462 224.583 218.437 224.688C218.698 224.632 218.987 224.615 219.295 224.655C220.021 224.749 220.775 225.15 221.475 225.947C221.948 226.486 222.212 227.069 222.286 227.669C222.36 228.262 222.241 228.807 222.048 229.27C222.011 229.358 221.971 229.445 221.928 229.529C222.114 229.806 222.247 230.127 222.348 230.416C222.523 230.919 Line truncated
</g>
<rect x="158.324" y="158.324" width="131.351" height="121.351" rx="15.6756" stroke="url(#paint3_linear_1200_110235)" stroke-width="0.648858"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M139.649 185.31C140.645 169.945 141.451 169.139 156.817 168.143H156.818C141.452 167.147 140.646 166.34 139.65 150.975C138.654 166.34 137.848 167.147 122.48 168.143C137.846 169.137 138.653 169.944 139.649 185.31ZM172.376 176.609C173.008 171.966 173.52 171.455 178.164 170.823C173.52 170.191 173.008 169.68 172.376 165.036C171.746 169.68 171.233 170.191 166.591 170.823C171.233 171.455 171.745 171.966 172.376 176.609ZM146.624 210.943C147.256 206.3 147.767 205.788 152.411 205.157C147.767 204.525 147.256 204.014 146.624 199.37C145.993 204.014 145.481 204.525 140.837 205.157C145.481 205.788 145.993 206.3 146.624 210.943ZM184.182 191.21C161.134 192.703 159.924 193.913 158.431 216.961C156.938 193.913 155.728 192.703 132.68 191.21C155.728 189.717 156.938 188.507 158.431 165.459C159.924 188.507 161.134 189.718 184.182 191.21Z" fill="url(#paint4_linear_1200_110235)"/>
<rect x="-6.65234" y="-6.94141" width="463.305" height="415.885" fill="url(#paint5_radial_1200_110235)"/>
<g filter="url(#filter1_f_1200_110235)">
<ellipse cx="223.285" cy="-105.711" rx="349" ry="159" fill="url(#paint6_linear_1200_110235)"/>
</g>
<defs>
<filter id="filter0_f_1200_110235" x="-214.756" y="-302.303" width="895.523" height="554.885" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_110235"/>
</filter>
<filter id="filter1_f_1200_110235" x="-260.592" y="-399.588" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_110235"/>
</filter>
<radialGradient id="paint0_radial_1200_110235" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(225.461 229.286) rotate(180) scale(105.285 46.4213)">
<stop stop-color="white" stop-opacity="0.43"/>
<stop offset="0.651042" stop-color="#FCFBFB"/>
<stop offset="1" stop-color="#F2F2F2"/>
</radialGradient>
<linearGradient id="paint1_linear_1200_110235" x1="83.5463" y1="-291.453" x2="226.648" y2="189.091" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
<linearGradient id="paint2_linear_1200_110235" x1="250.089" y1="189.289" x2="252.942" y2="278.001" gradientUnits="userSpaceOnUse">
<stop stop-color="#373737" stop-opacity="0.85"/>
<stop offset="1" stop-color="#5D7D7B" stop-opacity="0.35"/>
</linearGradient>
<linearGradient id="paint3_linear_1200_110235" x1="158" y1="196.624" x2="203.626" y2="256.748" gradientUnits="userSpaceOnUse">
<stop stop-color="#DAE9E2"/>
<stop offset="0.588542" stop-color="#89A296"/>
<stop offset="1" stop-color="#89A296" stop-opacity="0.08"/>
</linearGradient>
<linearGradient id="paint4_linear_1200_110235" x1="184.182" y1="150.975" x2="187.464" y2="249.752" gradientUnits="userSpaceOnUse">
<stop stop-color="#373737" stop-opacity="0.85"/>
<stop offset="1" stop-color="#5D7D7B" stop-opacity="0.35"/>
</linearGradient>
<radialGradient id="paint5_radial_1200_110235" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(232.358 220.626) rotate(90) scale(259.411 263.202)">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="1" stop-color="white"/>
</radialGradient>
<linearGradient id="paint6_linear_1200_110235" x1="56.5742" y1="-403.036" x2="216.155" y2="132.917" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
<clipPath id="clip0_1200_110235">
<rect x="158" y="158" width="132" height="122" rx="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1,84 @@
<svg width="448" height="400" viewBox="0 0 448 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-8.65234" y="-8.94141" width="476.973" height="430.908" fill="#131313"/>
<g clip-path="url(#clip0_1200_89681)">
<rect x="158" y="158" width="132" height="122" rx="16" fill="#121212"/>
<circle cx="248.318" cy="200.767" r="0.978774" transform="rotate(-180 248.318 200.767)" fill="#73867C"/>
<circle cx="261.291" cy="180.654" r="0.978774" transform="rotate(-180 261.291 180.654)" fill="#73867C"/>
<ellipse cx="186.668" cy="185.838" rx="0.324429" ry="0.324429" transform="rotate(-180 186.668 185.838)" fill="#73867C"/>
<circle cx="186.025" cy="198.82" r="0.978774" transform="rotate(-180 186.025 198.82)" fill="#73867C"/>
<ellipse cx="174.992" cy="200.763" rx="0.324429" ry="0.324429" transform="rotate(-180 174.992 200.763)" fill="#73867C"/>
<circle cx="171.748" cy="194.277" r="0.978774" transform="rotate(-180 171.748 194.277)" fill="#73867C"/>
<circle cx="173.049" cy="228.666" r="0.978774" transform="rotate(-180 173.049 228.666)" fill="#73867C"/>
<circle cx="166.56" cy="216.34" r="0.978774" transform="rotate(-180 166.56 216.34)" fill="#73867C"/>
<circle cx="184.732" cy="216.34" r="0.978774" transform="rotate(-180 184.732 216.34)" fill="#73867C"/>
<circle cx="198.998" cy="230.617" r="0.978774" transform="rotate(-180 198.998 230.617)" fill="#73867C"/>
<ellipse cx="250.254" cy="248.777" rx="0.324429" ry="0.324429" transform="rotate(-180 250.254 248.777)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 190.566 241.639)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 201.597 233.854)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 193.156 231.906)" fill="#73867C"/>
<circle cx="255.671" cy="229.534" r="0.978774" transform="rotate(-75 255.671 229.534)" fill="#73867C"/>
<circle cx="227.773" cy="244.46" r="0.978774" transform="rotate(-75 227.773 244.46)" fill="#73867C"/>
<circle cx="267.844" cy="196.443" r="0.353739" transform="rotate(105 267.844 196.443)" fill="#73867C"/>
<ellipse cx="233.387" cy="224.121" rx="0.324429" ry="0.324429" transform="rotate(-180 233.387 224.121)" fill="#73867C"/>
<circle cx="257.599" cy="237.795" r="0.978774" transform="rotate(-180 257.599 237.795)" fill="#73867C"/>
<circle cx="275.382" cy="218.732" r="0.978774" transform="rotate(-75 275.382 218.732)" fill="#73867C"/>
<path d="M154.551 125.357H296.372V290.598H154.551V125.357Z" fill="url(#paint0_radial_1200_89681)"/>
<g filter="url(#filter0_f_1200_89681)">
<ellipse cx="233.006" cy="-24.8608" rx="312.884" ry="142.565" fill="url(#paint1_linear_1200_89681)"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M227.413 190.468C227.491 190.439 227.604 190.4 227.748 190.354C228.076 190.249 228.589 190.099 229.246 189.946C230.559 189.639 232.469 189.31 234.655 189.29C239.026 189.249 244.605 190.445 248.649 195.613L248.649 195.613C249.519 196.724 249.82 198.515 249.789 200.531C249.757 202.598 249.371 205.099 248.67 207.811C247.31 213.076 244.739 219.242 241.12 224.749C241.599 225.098 243.123 225.733 247.445 224.841C247.871 224.753 248.255 224.708 248.59 224.72C248.904 224.73 249.289 224.794 249.605 225.035C249.984 225.324 250.121 225.75 250.083 226.148C250.05 226.491 249.894 226.794 249.74 227.026C249.425 227.502 248.904 227.994 248.297 228.446C247.678 228.907 246.92 229.364 246.081 229.754C244.642 230.421 242.416 230.809 240.557 230.83C240.223 230.834 239.89 230.826 239.568 230.803C239.42 230.855 239.257 230.868 239.092 230.832C238.469 230.697 238.187 230.711 238.071 230.743C238.068 230.744 238.066 230.744 238.063 230.744C238.045 230.746 238.018 230.75 237.962 230.886C237.873 231.107 237.805 231.474 237.736 232.115C237.713 232.327 237.69 232.571 237.664 232.841L237.664 232.842C237.618 233.319 237.565 233.876 237.494 234.471C237.487 234.529 237.474 234.587 237.455 234.643L237.108 235.684C237.084 236.909 236.946 237.479 236.783 238.07L236.761 238.148C236.623 238.648 236.473 239.187 236.377 240.427L236.377 240.427C236.214 242.524 235.536 244.28 234.267 245.635C233.005 246.983 231.231 247.856 229.016 248.33C227.662 248.62 226.536 248.61 225.596 248.351C224.645 248.089 223.939 247.588 223.412 246.987C222.896 246.397 222.565 245.726 222.33 245.132C222.212 244.834 222.115 244.546 222.031 244.292L221.978 244.129L221.978 244.129C221.916 243.94 221.864 243.78 221.812 243.638C221.161 241.869 221.227 239.661 221.311 236.814L221.315 236.66C221.358 235.218 221.252 233.703 221.048 232.489C220.951 231.913 220.836 231.425 220.712 231.054C220.652 231.106 220.594 231.154 220.541 231.196C220.067 231.568 218.751 232.319 217.141 232.785C215.53 233.252 213.449 233.486 211.56 232.588C210.909 232.279 210.405 232.012 210.039 231.776C209.856 231.658 209.687 231.534 209.545 231.402C209.413 231.278 209.247 231.095 209.15 230.847C209.036 230.556 209.035 230.21 209.21 229.896C209.358 229.631 209.581 229.482 209.724 229.403C210.007 229.246 210.37 229.154 210.667 229.088C210.944 229.027 211.217 228.976 211.496 228.924C211.939 228.842 212.398 228.756 212.915 228.621C213.716 228.412 214.393 228.138 214.84 227.754C215.608 227.095 216.172 226.572 216.575 226.176C216.567 226.109 216.561 226.041 216.556 225.973C215.312 225.942 214.132 225.61 213.08 225.043L212.965 225.165C212.695 225.453 212.307 225.871 211.835 226.391C210.889 227.431 209.608 228.875 208.264 230.492C207.252 231.709 206.134 232.422 204.912 232.473C203.695 232.525 202.621 231.911 201.717 231.033C199.933 229.299 198.399 226.136 197.142 222.717C195.87 219.256 194.83 215.385 194.094 212.102C193.363 208.838 192.917 206.088 192.857 204.884C192.586 199.456 193.836 195.808 196.036 193.477C198.228 191.154 201.223 190.291 204.122 190.125C207.023 189.959 209.929 190.482 212.087 191.034C213.171 191.311 214.078 191.599 214.715 191.817C214.896 191.88 215.056 191.937 215.192 191.986C217.259 190.491 219.802 189.963 222.16 189.906C224.064 189.86 225.911 190.118 227.413 190.468ZM213.707 193.33C213.153 193.149 212.454 192.938 211.653 192.733C209.582 192.203 206.872 191.724 204.223 191.876C201.573 192.028 199.083 192.804 197.311 194.681C195.547 196.55 194.352 199.662 194.609 204.796C194.661 205.84 195.077 208.464 195.806 211.718C196.531 214.954 197.551 218.746 198.788 222.111C200.04 225.517 201.465 228.342 202.939 229.775C203.664 230.48 204.294 230.744 204.837 230.721C205.375 230.698 206.074 230.383 206.915 229.371C208.281 227.729 209.579 226.264 210.537 225.211C210.979 224.725 211.348 224.326 211.618 224.037C209.423 222.153 208.132 219.101 208.593 215.807L209.461 215.928L208.593 215.807C209.017 212.771 208.864 210.152 208.778 208.668L208.778 208.668L208.778 208.668C208.753 208.24 208.733 207.906 208.735 207.684L208.735 207.684C208.735 207.571 208.755 207.467 208.785 207.374C208.837 205.747 209.132 203.298 209.862 200.751C210.597 198.181 211.797 195.43 213.707 193.33ZM210.731 205.704C211.641 205.21 212.834 204.709 214.081 204.422C215.366 204.125 216.816 204.03 218.082 204.519C219.415 205.034 220.411 206.145 220.802 207.954L220.802 207.954C221.722 212.207 221.621 215.073 221.128 217.246C220.882 218.328 220.545 219.215 220.213 219.987C220.086 220.284 219.966 220.551 219.853 220.8C219.661 221.226 219.492 221.602 219.344 222.001C219.299 222.122 219.255 222.24 219.211 222.356C218.934 223.101 218.69 223.754 218.521 224.362C218.49 224.475 218.462 224.583 218.437 224.688C218.698 224.632 218.987 224.615 219.295 224.655C220.021 224.749 220.775 225.15 221.475 225.947C221.948 226.486 222.212 227.069 222.286 227.669C222.36 228.262 222.241 228.807 222.048 229.27C222.011 229.358 221.971 229.445 221.928 229.529C222.114 229.806 222.247 230.127 222.348 230.416C222.523 230.919 Line truncated
</g>
<rect x="158.324" y="158.324" width="131.351" height="121.351" rx="15.6756" stroke="url(#paint3_linear_1200_89681)" stroke-width="0.648858"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M139.649 185.31C140.645 169.945 141.451 169.139 156.817 168.143H156.818C141.452 167.147 140.646 166.34 139.65 150.975C138.654 166.34 137.848 167.147 122.48 168.143C137.846 169.137 138.653 169.944 139.649 185.31ZM172.376 176.609C173.008 171.966 173.52 171.455 178.164 170.823C173.52 170.191 173.008 169.68 172.376 165.036C171.746 169.68 171.233 170.191 166.591 170.823C171.233 171.455 171.745 171.966 172.376 176.609ZM146.624 210.943C147.256 206.3 147.767 205.788 152.411 205.157C147.767 204.525 147.256 204.014 146.624 199.37C145.993 204.014 145.481 204.525 140.837 205.157C145.481 205.788 145.993 206.3 146.624 210.943ZM184.182 191.21C161.134 192.703 159.924 193.913 158.431 216.961C156.938 193.913 155.728 192.703 132.68 191.21C155.728 189.717 156.938 188.507 158.431 165.459C159.924 188.507 161.134 189.718 184.182 191.21Z" fill="url(#paint4_linear_1200_89681)"/>
<rect x="-6.65234" y="-6.94141" width="463.305" height="415.885" fill="url(#paint5_radial_1200_89681)"/>
<g filter="url(#filter1_f_1200_89681)">
<ellipse cx="223.285" cy="-105.711" rx="349" ry="159" fill="url(#paint6_linear_1200_89681)"/>
</g>
<defs>
<filter id="filter0_f_1200_89681" x="-167.395" y="-254.942" width="800.801" height="460.163" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="43.758" result="effect1_foregroundBlur_1200_89681"/>
</filter>
<filter id="filter1_f_1200_89681" x="-260.592" y="-399.588" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_89681"/>
</filter>
<radialGradient id="paint0_radial_1200_89681" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(225.461 223.748) rotate(-180) scale(38.2987 22.2637)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="0.630208" stop-color="#121212" stop-opacity="0.35"/>
<stop offset="1" stop-color="#121212" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint1_linear_1200_89681" x1="83.5463" y1="-291.453" x2="226.648" y2="189.091" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
<linearGradient id="paint2_linear_1200_89681" x1="203.59" y1="241" x2="227.008" y2="241" gradientUnits="userSpaceOnUse">
<stop stop-color="#F4FFFA"/>
<stop offset="1" stop-color="#D8FFEC" stop-opacity="0.6"/>
</linearGradient>
<linearGradient id="paint3_linear_1200_89681" x1="158" y1="196.624" x2="203.626" y2="256.748" gradientUnits="userSpaceOnUse">
<stop stop-color="#DAE9E2"/>
<stop offset="0.588542" stop-color="#89A296"/>
<stop offset="1" stop-color="#89A296" stop-opacity="0.08"/>
</linearGradient>
<linearGradient id="paint4_linear_1200_89681" x1="134.084" y1="208.557" x2="159.314" y2="208.557" gradientUnits="userSpaceOnUse">
<stop stop-color="#F4FFFA"/>
<stop offset="1" stop-color="#D8FFEC"/>
</linearGradient>
<radialGradient id="paint5_radial_1200_89681" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(232.358 220.626) rotate(90) scale(259.411 263.202)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="1" stop-color="#121212"/>
</radialGradient>
<linearGradient id="paint6_linear_1200_89681" x1="56.5742" y1="-403.036" x2="216.155" y2="132.917" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
<clipPath id="clip0_1200_89681">
<rect x="158" y="158" width="132" height="122" rx="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1,84 @@
<svg width="449" height="400" viewBox="0 0 449 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-11.8555" y="-22.1562" width="476.973" height="430.908" fill="white"/>
<g clip-path="url(#clip0_1200_107392)">
<rect x="158.129" y="158" width="132" height="122" rx="16" fill="white"/>
<circle cx="248.447" cy="200.767" r="0.978774" transform="rotate(-180 248.447 200.767)" fill="#73867C"/>
<circle cx="261.42" cy="180.654" r="0.978774" transform="rotate(-180 261.42 180.654)" fill="#73867C"/>
<ellipse cx="186.797" cy="185.838" rx="0.324429" ry="0.324429" transform="rotate(-180 186.797 185.838)" fill="#73867C"/>
<circle cx="186.154" cy="198.82" r="0.978774" transform="rotate(-180 186.154 198.82)" fill="#73867C"/>
<ellipse cx="175.121" cy="200.763" rx="0.324429" ry="0.324429" transform="rotate(-180 175.121 200.763)" fill="#73867C"/>
<circle cx="171.877" cy="194.277" r="0.978774" transform="rotate(-180 171.877 194.277)" fill="#73867C"/>
<circle cx="173.177" cy="228.666" r="0.978774" transform="rotate(-180 173.177 228.666)" fill="#73867C"/>
<circle cx="166.689" cy="216.34" r="0.978774" transform="rotate(-180 166.689 216.34)" fill="#73867C"/>
<circle cx="184.861" cy="216.34" r="0.978774" transform="rotate(-180 184.861 216.34)" fill="#73867C"/>
<circle cx="199.127" cy="230.617" r="0.978774" transform="rotate(-180 199.127 230.617)" fill="#73867C"/>
<ellipse cx="250.383" cy="248.777" rx="0.324429" ry="0.324429" transform="rotate(-180 250.383 248.777)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 190.695 241.639)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 201.726 233.854)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 193.285 231.906)" fill="#73867C"/>
<circle cx="255.8" cy="229.534" r="0.978774" transform="rotate(-75 255.8 229.534)" fill="#73867C"/>
<circle cx="227.902" cy="244.46" r="0.978774" transform="rotate(-75 227.902 244.46)" fill="#73867C"/>
<circle cx="267.973" cy="196.443" r="0.353739" transform="rotate(105 267.973 196.443)" fill="#73867C"/>
<ellipse cx="233.515" cy="224.121" rx="0.324429" ry="0.324429" transform="rotate(-180 233.515 224.121)" fill="#73867C"/>
<circle cx="257.728" cy="237.795" r="0.978774" transform="rotate(-180 257.728 237.795)" fill="#73867C"/>
<circle cx="275.511" cy="218.732" r="0.978774" transform="rotate(-75 275.511 218.732)" fill="#73867C"/>
<path d="M154.68 154.738H296.5V283.721H154.68V154.738Z" fill="url(#paint0_radial_1200_107392)"/>
<g filter="url(#filter0_f_1200_107392)">
<ellipse cx="233.134" cy="-24.8608" rx="312.884" ry="142.565" fill="url(#paint1_linear_1200_107392)"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M227.542 190.468C227.62 190.439 227.733 190.4 227.877 190.354C228.205 190.249 228.718 190.099 229.375 189.946C230.688 189.639 232.598 189.31 234.784 189.29C239.155 189.249 244.733 190.445 248.778 195.613L248.778 195.613C249.648 196.724 249.949 198.515 249.918 200.531C249.886 202.598 249.499 205.099 248.799 207.811C247.439 213.076 244.868 219.242 241.249 224.749C241.727 225.098 243.252 225.733 247.574 224.841C248 224.753 248.384 224.708 248.719 224.72C249.033 224.73 249.418 224.794 249.734 225.035C250.113 225.324 250.25 225.75 250.212 226.148C250.179 226.491 250.023 226.794 249.869 227.026C249.554 227.502 249.033 227.994 248.426 228.446C247.807 228.907 247.048 229.364 246.21 229.754C244.771 230.421 242.545 230.809 240.686 230.83C240.352 230.834 240.019 230.826 239.697 230.803C239.549 230.855 239.385 230.868 239.221 230.832C238.598 230.697 238.316 230.711 238.199 230.743C238.197 230.744 238.195 230.744 238.192 230.744C238.174 230.746 238.147 230.75 238.091 230.886C238.002 231.107 237.934 231.474 237.865 232.115C237.842 232.327 237.819 232.571 237.793 232.841L237.793 232.842C237.747 233.319 237.694 233.876 237.623 234.471C237.616 234.529 237.603 234.587 237.584 234.643L237.237 235.684C237.213 236.909 237.074 237.479 236.911 238.07L236.89 238.148C236.752 238.648 236.602 239.187 236.506 240.427L236.506 240.427C236.343 242.524 235.665 244.28 234.396 245.635C233.133 246.983 231.36 247.856 229.145 248.33C227.791 248.62 226.665 248.61 225.725 248.351C224.774 248.089 224.068 247.588 223.541 246.987C223.024 246.397 222.694 245.726 222.459 245.132C222.341 244.834 222.244 244.546 222.16 244.292L222.107 244.129L222.107 244.129C222.045 243.94 221.993 243.78 221.94 243.638C221.29 241.869 221.356 239.661 221.44 236.814L221.444 236.66C221.487 235.218 221.381 233.703 221.177 232.489C221.08 231.913 220.965 231.425 220.841 231.054C220.781 231.106 220.723 231.154 220.67 231.196C220.196 231.568 218.88 232.319 217.269 232.785C215.659 233.252 213.578 233.486 211.689 232.588C211.038 232.279 210.533 232.012 210.168 231.776C209.985 231.658 209.816 231.534 209.674 231.402C209.542 231.278 209.376 231.095 209.279 230.847C209.165 230.556 209.163 230.21 209.339 229.896C209.487 229.631 209.71 229.482 209.853 229.403C210.136 229.246 210.499 229.154 210.796 229.088C211.073 229.027 211.346 228.976 211.625 228.924C212.068 228.842 212.527 228.756 213.044 228.621C213.845 228.412 214.522 228.138 214.969 227.754C215.737 227.095 216.301 226.572 216.703 226.176C216.696 226.109 216.69 226.041 216.685 225.973C215.441 225.942 214.261 225.61 213.208 225.043L213.094 225.165C212.824 225.453 212.436 225.871 211.964 226.391C211.018 227.431 209.737 228.875 208.393 230.492C207.381 231.709 206.263 232.422 205.041 232.473C203.824 232.525 202.75 231.911 201.846 231.033C200.062 229.299 198.528 226.136 197.271 222.717C195.999 219.256 194.959 215.385 194.223 212.102C193.492 208.838 193.046 206.088 192.986 204.884C192.714 199.456 193.964 195.808 196.165 193.477C198.357 191.154 201.351 190.291 204.251 190.125C207.152 189.959 210.058 190.482 212.216 191.034C213.3 191.311 214.207 191.599 214.844 191.817C215.025 191.88 215.185 191.937 215.321 191.986C217.388 190.491 219.931 189.963 222.289 189.906C224.193 189.86 226.04 190.118 227.542 190.468ZM213.836 193.33C213.282 193.149 212.583 192.938 211.781 192.733C209.711 192.203 207.001 191.724 204.352 191.876C201.702 192.028 199.212 192.804 197.44 194.681C195.676 196.55 194.481 199.662 194.738 204.796C194.79 205.84 195.206 208.464 195.935 211.718C196.66 214.954 197.68 218.746 198.917 222.111C200.169 225.517 201.594 228.342 203.068 229.775C203.793 230.48 204.423 230.744 204.966 230.721C205.504 230.698 206.203 230.383 207.044 229.371C208.409 227.729 209.708 226.264 210.666 225.211C211.107 224.725 211.477 224.326 211.747 224.037C209.552 222.153 208.261 219.101 208.722 215.807L209.59 215.928L208.722 215.807C209.146 212.771 208.993 210.152 208.907 208.668L208.907 208.668L208.907 208.668C208.882 208.24 208.862 207.906 208.863 207.684L208.863 207.684C208.864 207.571 208.884 207.467 208.914 207.374C208.966 205.747 209.261 203.298 209.991 200.751C210.726 198.181 211.926 195.43 213.836 193.33ZM210.86 205.704C211.77 205.21 212.963 204.709 214.21 204.422C215.495 204.125 216.945 204.03 218.211 204.519C219.544 205.034 220.54 206.145 220.931 207.954L220.931 207.954C221.851 212.207 221.75 215.073 221.257 217.246C221.011 218.328 220.674 219.215 220.342 219.987C220.215 220.284 220.095 220.551 219.982 220.8C219.79 221.226 219.621 221.602 219.472 222.001C219.428 222.122 219.384 222.24 219.34 222.356C219.063 223.101 218.819 223.754 218.65 224.362C218.619 224.475 218.591 224.583 218.566 224.688C218.827 224.632 219.116 224.615 219.424 224.655C220.15 224.749 220.904 225.15 221.604 225.947C222.077 226.486 222.341 227.069 222.415 227.669C222.489 228.262 222.37 228.807 222.177 229.27C222.14 229.358 222.1 229.445 222.057 229.529C222.243 229.806 222.376 230.127 222.477 230.416C222.652 230.919 222.795 231.53Line truncated
</g>
<rect x="158.453" y="158.324" width="131.351" height="121.351" rx="15.6756" stroke="url(#paint3_linear_1200_107392)" stroke-width="0.648858"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M139.778 185.31C140.773 169.945 141.58 169.139 156.946 168.143H156.947C141.581 167.147 140.775 166.34 139.779 150.975C138.783 166.34 137.977 167.147 122.609 168.143C137.975 169.137 138.782 169.944 139.778 185.31ZM172.505 176.609C173.137 171.966 173.649 171.455 178.293 170.823C173.649 170.191 173.137 169.68 172.505 165.036C171.875 169.68 171.362 170.191 166.719 170.823C171.362 171.455 171.874 171.966 172.505 176.609ZM146.753 210.943C147.385 206.3 147.896 205.788 152.54 205.157C147.896 204.525 147.385 204.014 146.753 199.37C146.121 204.014 145.61 204.525 140.966 205.157C145.61 205.788 146.121 206.3 146.753 210.943ZM184.311 191.21C161.263 192.703 160.053 193.913 158.56 216.961C157.067 193.913 155.857 192.703 132.809 191.21C155.857 189.717 157.067 188.507 158.56 165.459C160.053 188.507 161.263 189.718 184.311 191.21Z" fill="url(#paint4_linear_1200_107392)"/>
<rect x="-6.52344" y="-6.94141" width="463.305" height="415.885" fill="url(#paint5_radial_1200_107392)"/>
<g filter="url(#filter1_f_1200_107392)">
<ellipse cx="223.414" cy="-153.711" rx="349" ry="159" fill="url(#paint6_linear_1200_107392)"/>
</g>
<defs>
<filter id="filter0_f_1200_107392" x="-214.627" y="-302.303" width="895.523" height="554.885" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_107392"/>
</filter>
<filter id="filter1_f_1200_107392" x="-260.463" y="-447.588" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1200_107392"/>
</filter>
<radialGradient id="paint0_radial_1200_107392" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(225.59 231.529) rotate(180) scale(105.285 47.7741)">
<stop stop-color="white" stop-opacity="0.43"/>
<stop offset="0.651042" stop-color="#FCFBFB"/>
<stop offset="1" stop-color="#F2F2F2"/>
</radialGradient>
<linearGradient id="paint1_linear_1200_107392" x1="83.6752" y1="-291.453" x2="226.777" y2="189.091" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
<linearGradient id="paint2_linear_1200_107392" x1="250.218" y1="189.289" x2="253.071" y2="278.001" gradientUnits="userSpaceOnUse">
<stop stop-color="#373737" stop-opacity="0.85"/>
<stop offset="1" stop-color="#5D7D7B" stop-opacity="0.35"/>
</linearGradient>
<linearGradient id="paint3_linear_1200_107392" x1="158.129" y1="196.624" x2="218.778" y2="233.764" gradientUnits="userSpaceOnUse">
<stop stop-color="#DAE9E2"/>
<stop offset="0.588542" stop-color="#89A296"/>
<stop offset="1" stop-color="#89A296" stop-opacity="0.08"/>
</linearGradient>
<linearGradient id="paint4_linear_1200_107392" x1="184.311" y1="150.975" x2="187.593" y2="249.752" gradientUnits="userSpaceOnUse">
<stop stop-color="#39A9A2" stop-opacity="0.85"/>
<stop offset="1" stop-color="#88D1CD" stop-opacity="0"/>
</linearGradient>
<radialGradient id="paint5_radial_1200_107392" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(232.487 220.626) rotate(90) scale(165.234 167.648)">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="1" stop-color="white"/>
</radialGradient>
<linearGradient id="paint6_linear_1200_107392" x1="56.7031" y1="-451.036" x2="216.284" y2="84.9167" gradientUnits="userSpaceOnUse">
<stop stop-color="#39617D" stop-opacity="0.49"/>
<stop offset="0.9999" stop-color="#00DED1" stop-opacity="0.46"/>
<stop offset="1" stop-color="white" stop-opacity="0.51"/>
</linearGradient>
<clipPath id="clip0_1200_107392">
<rect x="158.129" y="158" width="132" height="122" rx="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1,84 @@
<svg width="448" height="400" viewBox="0 0 448 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="-11.9844" y="-22.1562" width="476.973" height="430.908" fill="#131313"/>
<g clip-path="url(#clip0_1179_137399)">
<rect x="158" y="158" width="132" height="122" rx="16" fill="#121212"/>
<circle cx="248.318" cy="200.767" r="0.978774" transform="rotate(-180 248.318 200.767)" fill="#73867C"/>
<circle cx="261.291" cy="180.654" r="0.978774" transform="rotate(-180 261.291 180.654)" fill="#73867C"/>
<ellipse cx="186.668" cy="185.838" rx="0.324429" ry="0.324429" transform="rotate(-180 186.668 185.838)" fill="#73867C"/>
<circle cx="186.025" cy="198.82" r="0.978774" transform="rotate(-180 186.025 198.82)" fill="#73867C"/>
<ellipse cx="174.992" cy="200.763" rx="0.324429" ry="0.324429" transform="rotate(-180 174.992 200.763)" fill="#73867C"/>
<circle cx="171.748" cy="194.277" r="0.978774" transform="rotate(-180 171.748 194.277)" fill="#73867C"/>
<circle cx="173.049" cy="228.666" r="0.978774" transform="rotate(-180 173.049 228.666)" fill="#73867C"/>
<circle cx="166.56" cy="216.34" r="0.978774" transform="rotate(-180 166.56 216.34)" fill="#73867C"/>
<circle cx="184.732" cy="216.34" r="0.978774" transform="rotate(-180 184.732 216.34)" fill="#73867C"/>
<circle cx="198.998" cy="230.617" r="0.978774" transform="rotate(-180 198.998 230.617)" fill="#73867C"/>
<ellipse cx="250.254" cy="248.777" rx="0.324429" ry="0.324429" transform="rotate(-180 250.254 248.777)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 190.566 241.639)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 201.597 233.854)" fill="#73867C"/>
<ellipse rx="0.324429" ry="0.324429" transform="matrix(-1 -8.18178e-08 -8.18178e-08 1 193.156 231.906)" fill="#73867C"/>
<circle cx="255.671" cy="229.534" r="0.978774" transform="rotate(-75 255.671 229.534)" fill="#73867C"/>
<circle cx="227.773" cy="244.46" r="0.978774" transform="rotate(-75 227.773 244.46)" fill="#73867C"/>
<circle cx="267.844" cy="196.443" r="0.353739" transform="rotate(105 267.844 196.443)" fill="#73867C"/>
<ellipse cx="233.387" cy="224.121" rx="0.324429" ry="0.324429" transform="rotate(-180 233.387 224.121)" fill="#73867C"/>
<circle cx="257.599" cy="237.795" r="0.978774" transform="rotate(-180 257.599 237.795)" fill="#73867C"/>
<circle cx="275.382" cy="218.732" r="0.978774" transform="rotate(-75 275.382 218.732)" fill="#73867C"/>
<path d="M154.551 125.357H296.372V290.598H154.551V125.357Z" fill="url(#paint0_radial_1179_137399)"/>
<g filter="url(#filter0_f_1179_137399)">
<ellipse cx="233.006" cy="-24.8608" rx="312.884" ry="142.565" fill="url(#paint1_linear_1179_137399)"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M227.413 190.468C227.491 190.439 227.604 190.4 227.748 190.354C228.076 190.249 228.589 190.099 229.246 189.946C230.559 189.639 232.469 189.31 234.655 189.29C239.026 189.249 244.605 190.445 248.649 195.613L248.649 195.613C249.519 196.724 249.82 198.515 249.789 200.531C249.757 202.598 249.371 205.099 248.67 207.811C247.31 213.076 244.739 219.242 241.12 224.749C241.599 225.098 243.123 225.733 247.445 224.841C247.871 224.753 248.255 224.708 248.59 224.72C248.904 224.73 249.289 224.794 249.605 225.035C249.984 225.324 250.121 225.75 250.083 226.148C250.05 226.491 249.894 226.794 249.74 227.026C249.425 227.502 248.904 227.994 248.297 228.446C247.678 228.907 246.92 229.364 246.081 229.754C244.642 230.421 242.416 230.809 240.557 230.83C240.223 230.834 239.89 230.826 239.568 230.803C239.42 230.855 239.257 230.868 239.092 230.832C238.469 230.697 238.187 230.711 238.071 230.743C238.068 230.744 238.066 230.744 238.063 230.744C238.045 230.746 238.018 230.75 237.962 230.886C237.873 231.107 237.805 231.474 237.736 232.115C237.713 232.327 237.69 232.571 237.664 232.841L237.664 232.842C237.618 233.319 237.565 233.876 237.494 234.471C237.487 234.529 237.474 234.587 237.455 234.643L237.108 235.684C237.084 236.909 236.946 237.479 236.783 238.07L236.761 238.148C236.623 238.648 236.473 239.187 236.377 240.427L236.377 240.427C236.214 242.524 235.536 244.28 234.267 245.635C233.005 246.983 231.231 247.856 229.016 248.33C227.662 248.62 226.536 248.61 225.596 248.351C224.645 248.089 223.939 247.588 223.412 246.987C222.896 246.397 222.565 245.726 222.33 245.132C222.212 244.834 222.115 244.546 222.031 244.292L221.978 244.129L221.978 244.129C221.916 243.94 221.864 243.78 221.812 243.638C221.161 241.869 221.227 239.661 221.311 236.814L221.315 236.66C221.358 235.218 221.252 233.703 221.048 232.489C220.951 231.913 220.836 231.425 220.712 231.054C220.652 231.106 220.594 231.154 220.541 231.196C220.067 231.568 218.751 232.319 217.141 232.785C215.53 233.252 213.449 233.486 211.56 232.588C210.909 232.279 210.405 232.012 210.039 231.776C209.856 231.658 209.687 231.534 209.545 231.402C209.413 231.278 209.247 231.095 209.15 230.847C209.036 230.556 209.035 230.21 209.21 229.896C209.358 229.631 209.581 229.482 209.724 229.403C210.007 229.246 210.37 229.154 210.667 229.088C210.944 229.027 211.217 228.976 211.496 228.924C211.939 228.842 212.398 228.756 212.915 228.621C213.716 228.412 214.393 228.138 214.84 227.754C215.608 227.095 216.172 226.572 216.575 226.176C216.567 226.109 216.561 226.041 216.556 225.973C215.312 225.942 214.132 225.61 213.08 225.043L212.965 225.165C212.695 225.453 212.307 225.871 211.835 226.391C210.889 227.431 209.608 228.875 208.264 230.492C207.252 231.709 206.134 232.422 204.912 232.473C203.695 232.525 202.621 231.911 201.717 231.033C199.933 229.299 198.399 226.136 197.142 222.717C195.87 219.256 194.83 215.385 194.094 212.102C193.363 208.838 192.917 206.088 192.857 204.884C192.586 199.456 193.836 195.808 196.036 193.477C198.228 191.154 201.223 190.291 204.122 190.125C207.023 189.959 209.929 190.482 212.087 191.034C213.171 191.311 214.078 191.599 214.715 191.817C214.896 191.88 215.056 191.937 215.192 191.986C217.259 190.491 219.802 189.963 222.16 189.906C224.064 189.86 225.911 190.118 227.413 190.468ZM213.707 193.33C213.153 193.149 212.454 192.938 211.653 192.733C209.582 192.203 206.872 191.724 204.223 191.876C201.573 192.028 199.083 192.804 197.311 194.681C195.547 196.55 194.352 199.662 194.609 204.796C194.661 205.84 195.077 208.464 195.806 211.718C196.531 214.954 197.551 218.746 198.788 222.111C200.04 225.517 201.465 228.342 202.939 229.775C203.664 230.48 204.294 230.744 204.837 230.721C205.375 230.698 206.074 230.383 206.915 229.371C208.281 227.729 209.579 226.264 210.537 225.211C210.979 224.725 211.348 224.326 211.618 224.037C209.423 222.153 208.132 219.101 208.593 215.807L209.461 215.928L208.593 215.807C209.017 212.771 208.864 210.152 208.778 208.668L208.778 208.668L208.778 208.668C208.753 208.24 208.733 207.906 208.735 207.684L208.735 207.684C208.735 207.571 208.755 207.467 208.785 207.374C208.837 205.747 209.132 203.298 209.862 200.751C210.597 198.181 211.797 195.43 213.707 193.33ZM210.731 205.704C211.641 205.21 212.834 204.709 214.081 204.422C215.366 204.125 216.816 204.03 218.082 204.519C219.415 205.034 220.411 206.145 220.802 207.954L220.802 207.954C221.722 212.207 221.621 215.073 221.128 217.246C220.882 218.328 220.545 219.215 220.213 219.987C220.086 220.284 219.966 220.551 219.853 220.8C219.661 221.226 219.492 221.602 219.344 222.001C219.299 222.122 219.255 222.24 219.211 222.356C218.934 223.101 218.69 223.754 218.521 224.362C218.49 224.475 218.462 224.583 218.437 224.688C218.698 224.632 218.987 224.615 219.295 224.655C220.021 224.749 220.775 225.15 221.475 225.947C221.948 226.486 222.212 227.069 222.286 227.669C222.36 228.262 222.241 228.807 222.048 229.27C222.011 229.358 221.971 229.445 221.928 229.529C222.114 229.806 222.247 230.127 222.348 230.416C222.523 230.919 Line truncated
</g>
<rect x="158.324" y="158.324" width="131.351" height="121.351" rx="15.6756" stroke="url(#paint3_linear_1179_137399)" stroke-width="0.648858"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M139.649 185.31C140.645 169.945 141.451 169.139 156.817 168.143H156.818C141.452 167.147 140.646 166.34 139.65 150.975C138.654 166.34 137.848 167.147 122.48 168.143C137.846 169.137 138.653 169.944 139.649 185.31ZM172.376 176.609C173.008 171.966 173.52 171.455 178.164 170.823C173.52 170.191 173.008 169.68 172.376 165.036C171.746 169.68 171.233 170.191 166.591 170.823C171.233 171.455 171.745 171.966 172.376 176.609ZM146.624 210.943C147.256 206.3 147.767 205.788 152.411 205.157C147.767 204.525 147.256 204.013 146.624 199.37C145.993 204.013 145.481 204.525 140.837 205.157C145.481 205.788 145.993 206.3 146.624 210.943ZM184.182 191.21C161.134 192.703 159.924 193.913 158.431 216.961C156.938 193.913 155.728 192.703 132.68 191.21C155.728 189.717 156.938 188.507 158.431 165.459C159.924 188.507 161.134 189.718 184.182 191.21Z" fill="url(#paint4_linear_1179_137399)"/>
<rect x="-6.65234" y="-6.94141" width="463.305" height="415.885" fill="url(#paint5_radial_1179_137399)"/>
<g filter="url(#filter1_f_1179_137399)">
<ellipse cx="223.285" cy="-153.711" rx="349" ry="159" fill="url(#paint6_linear_1179_137399)"/>
</g>
<defs>
<filter id="filter0_f_1179_137399" x="-167.395" y="-254.942" width="800.801" height="460.163" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="43.758" result="effect1_foregroundBlur_1179_137399"/>
</filter>
<filter id="filter1_f_1179_137399" x="-260.592" y="-447.588" width="967.754" height="587.754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="67.4384" result="effect1_foregroundBlur_1179_137399"/>
</filter>
<radialGradient id="paint0_radial_1179_137399" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(225.461 223.748) rotate(-180) scale(38.2987 22.2637)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="0.630208" stop-color="#121212" stop-opacity="0.35"/>
<stop offset="1" stop-color="#121212" stop-opacity="0.88"/>
</radialGradient>
<linearGradient id="paint1_linear_1179_137399" x1="83.5463" y1="-291.453" x2="226.648" y2="189.091" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
<linearGradient id="paint2_linear_1179_137399" x1="203.59" y1="241" x2="227.008" y2="241" gradientUnits="userSpaceOnUse">
<stop stop-color="#F4FFFA"/>
<stop offset="1" stop-color="#D8FFEC" stop-opacity="0.6"/>
</linearGradient>
<linearGradient id="paint3_linear_1179_137399" x1="158" y1="196.624" x2="218.65" y2="233.764" gradientUnits="userSpaceOnUse">
<stop stop-color="#DAE9E2"/>
<stop offset="0.588542" stop-color="#89A296"/>
<stop offset="1" stop-color="#89A296" stop-opacity="0.08"/>
</linearGradient>
<linearGradient id="paint4_linear_1179_137399" x1="134.084" y1="208.557" x2="159.314" y2="208.557" gradientUnits="userSpaceOnUse">
<stop stop-color="#F4FFFA"/>
<stop offset="1" stop-color="#D8FFEC"/>
</linearGradient>
<radialGradient id="paint5_radial_1179_137399" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(232.358 220.626) rotate(90) scale(165.234 167.648)">
<stop stop-color="#121212" stop-opacity="0"/>
<stop offset="1" stop-color="#121212"/>
</radialGradient>
<linearGradient id="paint6_linear_1179_137399" x1="56.5742" y1="-451.036" x2="216.155" y2="84.9167" gradientUnits="userSpaceOnUse">
<stop offset="0.25" stop-color="#39617D" stop-opacity="0.32"/>
<stop offset="0.630208" stop-color="#00DED1" stop-opacity="0.12"/>
<stop offset="1" stop-color="#343434" stop-opacity="0.51"/>
</linearGradient>
<clipPath id="clip0_1179_137399">
<rect x="158" y="158" width="132" height="122" rx="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

+148 -141
View File
File diff suppressed because it is too large. Load diff
+33 -33
View File
@@ -11,7 +11,7 @@
- [x] হোস্ট করা পোস্টগ্রেস ডাটাবেস. [ডক্স](https://supabase.com/docs/guides/database)
- [x] অথেনটিকেশন এবং অথরাইজড . [ডক্স](https://supabase.com/docs/guides/auth)
- [x] স্বয়ংক্রিয়ভাবে তৈরি APIs.
- [x] স্বয়ংক্রিয়ভাবে তৈরি এপিআই.
- [x] রেস্ট. [ডক্স](https://supabase.com/docs/guides/api#rest-api)
- [x] রিয়েলটাইম সাবস্ক্রিপশন. [ডক্স](https://supabase.com/docs/guides/api#realtime-api)
- [x] গ্রাফকিউএল (বেটা). [ডক্স](https://supabase.com/docs/guides/api#graphql-api)
@@ -31,10 +31,10 @@
## কমিউনিটি ও সাপোর্ট
- [কমিউনিটি ফোরাম](https://github.com/supabase/supabase/discussions). এর জন্য সর্বোত্তম: তৈরিতে সহায়তা, ডাটাবেস সেরা অনুশীলন সম্পর্কে আলোচনা।
- [গিঠাব ইস্যু](https://github.com/supabase/supabase/issues). এর জন্য সেরা: সুপাবেস ব্যবহার করে আপনি যে বাগ এবং ত্রুটির সম্মুখীন হন।
- [ইমেইল সাপোর্ট](https://supabase.com/docs/support#business-support). এর জন্য সেরা: আপনার ডাটাবেস বা অবকাঠামো নিয়ে সমস্যা।
- [ডিসকোর্ড](https://discord.supabase.com). এর জন্য সর্বোত্তম: আপনার অ্যাপ্লিকেশনগুলি ভাগ করা এবং সম্প্রদায়ের সাথে হ্যাঙ্গআউট করা৷
- [কমিউনিটি ফোরাম](https://github.com/supabase/supabase/discussions)। সর্বোত্তম: তৈরি করতে সহায়তা, ডাটাবেস সেরা অনুশীলন সম্পর্কে আলোচনা।
- [গিটহাব ইস্যু](https://github.com/supabase/supabase/issues)। সর্বোত্তম: সুপাবেস ব্যবহার করতে আপনি যে বাগ এবং ত্রুটির সম্মুখীন হন।
- [ইমেইল সাপোর্ট](https://supabase.com/docs/support#business-support)। সর্বোত্তম: আপনার ডাটাবেস বা অবকাঠামো নিয়ে সমস্যা।
- [ডিসকোর্ড](https://discord.supabase.com)। সর্বোত্তম: আপনার অ্যাপ্লিকেশনগুলি শেয়ার করা এবং কমিউনিটির সাথে দেখা সাক্ষাৎ করা৷
## স্ট্যাটাস
@@ -43,30 +43,30 @@
- [x] পাবলিক বেটা: বেশিরভাগ নন-এন্টারপ্রাইজ ব্যবহারের ক্ষেত্রে যথেষ্ট স্থিতিশীল
- [ ] পাবলিক: প্রোডাকশন রেডি
আমরা বর্তমানে পাবলিক বেটাতে আছি। বড় আপডেটের বিজ্ঞপ্তি পেতে এই রেপোর "রিলিজ" দেখুন।
আমরা বর্তমানে পাবলিক বেটাতে আছি। বড় আপডেটের বিজ্ঞপ্তি পেতে এই রিপুর "রিলিজ" দেখুন।
<kbd><img src="https://raw.githubusercontent.com/supabase/supabase/d5f7f413ab356dc1a92075cb3cee4e40a957d5b1/web/static/watch-repo.gif" alt="এই রেপো দেখুন"/></kbd>
<kbd><img src="https://raw.githubusercontent.com/supabase/supabase/d5f7f413ab356dc1a92075cb3cee4e40a957d5b1/web/static/watch-repo.gif" alt="এই রিপু দেখুন"/></kbd>
---
## কিভাবে এটা কাজ করে
Supabase হল ওপেন সোর্স টুলের সংমিশ্রণ। আমরা এন্টারপ্রাইজ-গ্রেড, ওপেন সোর্স পণ্য ব্যবহার করে Firebase-এর বৈশিষ্ট্য তৈরি করছি। যদি MIT, Apache 2, বা সমতুল্য ওপেন লাইসেন্স সহ টুল এবং সম্প্রদায়গুলি বিদ্যমান থাকে, আমরা সেই টুলটি ব্যবহার করব এবং সমর্থন করব। যদি টুলটি বিদ্যমান না থাকে, তাহলে আমরা নিজেরাই এটি তৈরি এবং ওপেন সোর্স করি। Supabase Firebase-এর 1-থেকে-1 ম্যাপিং নয়। ওপেন সোর্স টুল ব্যবহার করে ডেভেলপারদের ফায়ারবেসের মতো ডেভেলপার অভিজ্ঞতা দেওয়াই আমাদের লক্ষ্য।
Supabase হল ওপেন সোর্স টুলের সংমিশ্রণ। আমরা এন্টারপ্রাইজ-গ্রেড, ওপেন সোর্স পণ্য ব্যবহার করে Firebase-এর ফিচারসমুহ তৈরি করছি। যদি MIT, Apache 2, বা সমতুল্য ওপেন লাইসেন্স সহ টুল এবং সম্প্রদায়গুলি বিদ্যমান থাকে, আমরা সেই টুলটি ব্যবহার করব এবং সমর্থন করব। যদি টুলটি বিদ্যমান না থাকে, তাহলে আমরা নিজেরাই এটি তৈরি এবং ওপেন সোর্স করি। Supabase Firebase-এর 1-থেকে-1 ম্যাপিং নয়। ওপেন সোর্স টুল ব্যবহার করে ডেভেলপারদের ফায়ারবেসের মতো ডেভেলপার অভিজ্ঞতা দেওয়াই আমাদের লক্ষ্য।
**স্থাপত্য**
সুপাবেস হল একটি [হোস্ট করা প্ল্যাটফর্ম](https://app.supabase.com)। আপনি সাইন আপ করতে পারেন এবং কিছু ইনস্টল না করে সুপাবেস ব্যবহার শুরু করতে পারেন।
সুপাবেস হল একটি [হোস্ট করা প্ল্যাটফর্ম](https://app.supabase.com)। আপনি সাইন আপ করে এবং কিছু ইনস্টল না করে সুপাবেস ব্যবহার শুরু করতে পারেন।
এছাড়াও আপনি [স্ব-হোস্ট](https://supabase.com/docs/guides/hosting/overview) এবং [ডেভেলপ লোকালি](https://supabase.com/docs/guides/local-development) করতে পারেন।
![আর্কিটেকচার](https://user-images.githubusercontent.com/70828596/187547862-ffa9d058-0c3a-4851-a3e7-92ccfca4b596.png)
- [PostgreSQL](https://www.postgresql.org/) হল একটি অবজেক্ট-রিলেশনাল ডাটাবেস সিস্টেম যার 30 বছরের বেশি সক্রিয় বিকাশ রয়েছে যা এটিকে নির্ভরযোগ্যতা, বৈশিষ্ট্যের দৃঢ়তা এবং কর্মক্ষমতার জন্য একটি শক্তিশালী খ্যাতি অর্জন করেছে।
- [রিয়েলটাইম](https://github.com/supabase/realtime) হল একটি Elixir সার্ভার যা আপনাকে ওয়েবসকেট ব্যবহার করে PostgreSQL সন্নিবেশ, আপডেট এবং মুছে ফেলা শুনতে দেয়। ডাটাবেস পরিবর্তনের জন্য রিয়েলটাইম পোল পোস্টগ্রেসের অন্তর্নির্মিত প্রতিলিপি কার্যকারিতা, পরিবর্তনগুলিকে JSON-এ রূপান্তরিত করে, তারপর অনুমোদিত ক্লায়েন্টদের কাছে ওয়েবসকেটের মাধ্যমে JSON সম্প্রচার করে।
- [PostgREST](http://postgrest.org/) একটি ওয়েব সার্ভার যা আপনার PostgreSQL ডাটাবেসকে সরাসরি একটি RESTful API-তে পরিণত করে
- [স্টোরেজ](https://github.com/supabase/storage-api) অনুমতিগুলি পরিচালনা করতে Postgres ব্যবহার করে S3-এ সঞ্চিত ফাইলগুলি পরিচালনা করার জন্য একটি RESTful ইন্টারফেস প্রদান করে।
- [postgres-meta](https://github.com/supabase/postgres-meta) হল আপনার পোস্টগ্রেস পরিচালনা করার জন্য একটি RESTful API, যা আপনাকে টেবিল আনতে, ভূমিকা যোগ করতে এবং কোয়েরি চালানোর অনুমতি দেয়।
- [GoTrue](https://github.com/netlify/gotrue) ব্যবহারকারীদের পরিচালনা এবং SWT টোকেন ইস্যু করার জন্য একটি SWT ভিত্তিক API।
- [কং](https://github.com/Kong/kong) হল একটি ক্লাউড-নেটিভ API গেটওয়ে।
- [PostgREST](http://postgrest.org/) একটি ওয়েব সার্ভার যা আপনার PostgreSQL ডাটাবেসকে সরাসরি একটি রেস্টফুল এপিআইতে পরিণত করে।
- [স্টোরেজ](https://github.com/supabase/storage-api) অনুমতিগুলি পরিচালনা করতে পোস্টগ্রেস ব্যবহার করে S3-এ সঞ্চিত ফাইলগুলি পরিচালনা করার জন্য একটি রেস্টফুল ইন্টারফেস প্রদান করে।
- [পোস্টগ্রেস-মেটা](https://github.com/supabase/postgres-meta) হল আপনার পোস্টগ্রেস পরিচালনা করার জন্য একটি রেস্টফুল এপিআই, যা আপনাকে টেবিল আনতে, ভূমিকা যোগ করতে এবং কোয়েরি চালানোর অনুমতি দেয়।
- [গোট্রু](https://github.com/netlify/gotrue) ব্যবহারকারীদের পরিচালনা এবং SWT টোকেন ইস্যু করার জন্য একটি SWT ভিত্তিক এপিআই
- [কং](https://github.com/Kong/kong) হল একটি ক্লাউড-নেটিভ এপিআই গেটওয়ে।
#### ক্লায়েন্ট লাইব্রেরি
@@ -82,7 +82,7 @@ Supabase হল ওপেন সোর্স টুলের সংমিশ্
<th></th>
<th>Supabase</th>
<th><a href="https://github.com/postgrest/postgrest" target="_blank" rel="noopener noreferrer">PostgREST</a></th>
<th><a href="https://github.com/supabase/gotrue" target="_blank" rel="noopener noreferrer">GoTrue</a></th>
<th><a href="https://github.com/supabase/gotrue" target="_blank" rel="noopener noreferrer">গোট্রু</a></th>
<th><a href="https://github.com/supabase/realtime" target="_blank" rel="noopener noreferrer">রিয়েলটাইম</a></th>
<th><a href="https://github.com/supabase/storage-api" target="_blank" rel="noopener noreferrer">স্টোরেজ</a></th>
</tr>
@@ -100,28 +100,28 @@ Supabase হল ওপেন সোর্স টুলের সংমিশ্
<th colspan="6">⚡️ অফিসিয়াল ⚡️</th>
<tr>
<td>জাভাস্ক্রিপ্ট (টাইপস্ক্রিপ্ট)</td>
<td><a href="https://github.com/supabase/supabase-js" target="_blank" rel="noopener noreferrer">supabase-js</a></td>
<td><a href="https://github.com/supabase/supabase-js" target="_blank" rel="noopener noreferrer">সুপাবেস-জেএস</a></td>
<td><a href="https://github.com/supabase/postgrest-js" target="_blank" rel="noopener noreferrer">postgrest-js</a></td>
<td><a href="https://github.com/supabase/gotrue-js" target="_blank" rel="noopener noreferrer">gotrue-js</a></td>
<td><a href="https://github.com/supabase/gotrue-js" target="_blank" rel="noopener noreferrer">গোট্রু-জেএস</a></td>
<td><a href="https://github.com/supabase/realtime-js" target="_blank" rel="noopener noreferrer">রিয়েলটাইম-জেএস</a></td>
<td><a href="https://github.com/supabase/storage-js" target="_blank" rel="noopener noreferrer">storage-js</a></td>
<td><a href="https://github.com/supabase/storage-js" target="_blank" rel="noopener noreferrer">স্টোরেজ-জেএস</a></td>
</tr>
<th colspan="6">💚 সম্প্রদায় 💚</th>
<tr>
<td>C#</td>
<td><a href="https://github.com/supabase-community/supabase-csharp" target="_blank" rel="noopener noreferrer">supabase-csharp</a></td>
<td><a href="https://github.com/supabase-community/postgrest-csharp" target="_blank" rel="noopener noreferrer">postgrest-csharp</a></td>
<td><a href="https://github.com/supabase-community/gotrue-csharp" target="_blank" rel="noopener noreferrer">gotrue-csharp</a></td>
<td><a href="https://github.com/supabase-community/gotrue-csharp" target="_blank" rel="noopener noreferrer">গোট্রু-csharp</a></td>
<td><a href="https://github.com/supabase-community/realtime-csharp" target="_blank" rel="noopener noreferrer">রিয়েলটাইম-csharp</a></td>
<td>-</td>
</tr>
<tr>
<td>ডার্ট (ফ্লাটার)</td>
<td><a href="https://github.com/supabase/supabase-Flutter" target="_blank" rel="noopener noreferrer">supabase-dart</a></td>
<td><a href="https://github.com/supabase/postgrest-dart" target="_blank" rel="noopener noreferrer">postgrest-dart</a></td>
<td><a href="https://github.com/supabase/gotrue-dart" target="_blank" rel="noopener noreferrer">gotrue-dart</a></td>
<td><a href="https://github.com/supabase/supabase-Flutter" target="_blank" rel="noopener noreferrer">সুপাবেস-ডার্ট</a></td>
<td><a href="https://github.com/supabase/postgrest-dart" target="_blank" rel="noopener noreferrer">postgrest-ডার্ট</a></td>
<td><a href="https://github.com/supabase/gotrue-dart" target="_blank" rel="noopener noreferrer">গোট্রু-ডার্ট</a></td>
<td><a href="https://github.com/supabase/realtime-dart" target="_blank" rel="noopener noreferrer">রিয়েলটাইম-ডার্ট</a></td>
<td><a href="https://github.com/supabase/storage-dart" target="_blank" rel="noopener noreferrer">storage-dart</a></td>
<td><a href="https://github.com/supabase/storage-dart" target="_blank" rel="noopener noreferrer">স্টোরেজ-ডার্ট</a></td>
</tr>
<tr>
<td>গো</td>
@@ -135,7 +135,7 @@ Supabase হল ওপেন সোর্স টুলের সংমিশ্
<td>জাভা</td>
<td>-</td>
<td>-</td>
<td><a href="https://github.com/supabase-community/gotrue-java" target="_blank" rel="noopener noreferrer">gotrue-java</a></td>
<td><a href="https://github.com/supabase-community/gotrue-java" target="_blank" rel="noopener noreferrer">গোট্রু-জাভা</a></td>
<td>-</td>
<td>-</td>
</tr>
@@ -143,7 +143,7 @@ Supabase হল ওপেন সোর্স টুলের সংমিশ্
<td>কোটলিন</td>
<td>-</td>
<td><a href="https://github.com/supabase-community/postgrest-kt" target="_blank" rel="noopener noreferrer">postgrest-kt</a></td>
<td><a href="https://github.com/supabase-community/gotrue-kt" target="_blank" rel="noopener noreferrer">gotrue-kt</a></td>
<td><a href="https://github.com/supabase-community/gotrue-kt" target="_blank" rel="noopener noreferrer">গোট্রু-kt</a></td>
<td>-</td>
<td>-</td>
</tr>
@@ -151,13 +151,13 @@ Supabase হল ওপেন সোর্স টুলের সংমিশ্
<td>পাইথন</td>
<td><a href="https://github.com/supabase-community/supabase-py" target="_blank" rel="noopener noreferrer">supabase-py</a></td>
<td><a href="https://github.com/supabase-community/postgrest-py" target="_blank" rel="noopener noreferrer">postgrest-py</a></td>
<td><a href="https://github.com/supabase-community/gotrue-py" target="_blank" rel="noopener noreferrer">gotrue-py</a></td>
<td><a href="https://github.com/supabase-community/realtime-py" target="_blank" rel="noopener noreferrer">realtime-py</a></td>
<td><a href="https://github.com/supabase-community/gotrue-py" target="_blank" rel="noopener noreferrer">গোট্রু-py</a></td>
<td><a href="https://github.com/supabase-community/realtime-py" target="_blank" rel="noopener noreferrer">রিয়েলটাইম-py</a></td>
<td>-</td>
</tr>
<tr>
<td>রুবি</td>
<td><a href="https://github.com/supabase-community/supabase-rb" target="_blank" rel="noopener noreferrer">supabase-rb</a></td>
<td><a href="https://github.com/supabase-community/supabase-rb" target="_blank" rel="noopener noreferrer">সুপাবেস-rb</a></td>
<td><a href="https://github.com/supabase-community/postgrest-rb" target="_blank" rel="noopener noreferrer">postgrest-rb</a></td>
<td>-</td>
<td>-</td>
@@ -173,9 +173,9 @@ Supabase হল ওপেন সোর্স টুলের সংমিশ্
</tr>
<tr>
<td>সুইফট</td>
<td><a href="https://github.com/supabase-community/supabase-swift" target="_blank" rel="noopener noreferrer">supabase-swift</a></td>
<td><a href="https://github.com/supabase-community/postgrest-swift" target="_blank" rel="noopener noreferrer">postgrest-swift</a></td>
<td><a href="https://github.com/supabase-community/gotrue-swift" target="_blank" rel="noopener noreferrer">gotrue-swift</a></td>
<td><a href="https://github.com/supabase-community/supabase-swift" target="_blank" rel="noopener noreferrer">সুপাবেস-সুইফট</a></td>
<td><a href="https://github.com/supabase-community/postgrest-swift" target="_blank" rel="noopener noreferrer">postgrest-সুইফট</a></td>
<td><a href="https://github.com/supabase-community/gotrue-swift" target="_blank" rel="noopener noreferrer">গোট্রু-সুইফট</a></td>
<td><a href="https://github.com/supabase-community/realtime-swift" target="_blank" rel="noopener noreferrer">রিয়েলটাইম-সুইফট</a></td>
<td><a href="https://github.com/supabase-community/storage-swift" target="_blank" rel="noopener noreferrer">স্টোরেজ-সুইফট</a></td>
</tr>
@@ -185,6 +185,6 @@ Supabase হল ওপেন সোর্স টুলের সংমিশ্
- [অনুবাদের তালিকা](/i18n/languages.md) <!--- Keep only this -->
## স্পনসর
## পৃষ্ঠপোষক
[![নতুন স্পনসর](https://user-images.githubusercontent.com/10214025/90518111-e74bbb00-e198-11ea-8f88-c9e3c1aa4b5b.png)](https://github.com/sponsors/supabase)
[![নতুন পৃষ্ঠপোষক](https://user-images.githubusercontent.com/10214025/90518111-e74bbb00-e198-11ea-8f88-c9e3c1aa4b5b.png)](https://github.com/sponsors/supabase)
+1 -2
View File
@@ -17,8 +17,7 @@
"title": "Initializing",
"id": "initializing",
"slug": "initializing",
"type": "markdown",
"libs": ["dart", "dart_v0"]
"type": "function"
},
{
"title": "Typescript Support",
@@ -123,12 +123,6 @@
"title": "Returns the updated user",
"type": "operation"
},
{
"id": "verifies-a-sign-up",
"slug": "verifies-a-sign-up",
"title": "Verifies a sign up",
"type": "operation"
},
{
"id": "verifies-a-sign-up",
"slug": "verifies-a-sign-up",
+62
View File
@@ -16,6 +16,68 @@ info:
version: '0.0.1'
functions:
- id: initializing
title: 'Initializing'
$ref: '@supabase/supabase-js.index.SupabaseClient.constructor'
examples:
- id: create-client
name: Create Client
code: |
```js
import { createClient } from '@supabase/supabase-js'
// Create a single supabase client for interacting with your database
const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key')
```
- id: with-additional-parameters
name: With Additional Parameters
code: |
```js
import { createClient } from '@supabase/supabase-js'
const options = {
schema: 'public',
headers: { 'x-my-custom-header': 'my-app-name' },
autoRefreshToken: true,
persistSession: true,
detectSessionInUrl: true,
}
const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', options)
```
- id: api-schemas
name: API schemas
code: |
```js
import { createClient } from '@supabase/supabase-js'
const options = {
schema: 'public',
headers: { 'x-my-custom-header': 'my-app-name' },
autoRefreshToken: true,
persistSession: true,
detectSessionInUrl: true,
}
const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', options)
```
description: |
By default the API server points to the `public` schema. You can enable other database schemas within the Dashboard.
Go to `Settings > API > Schema` and add the schema which you want to expose to the API. You also need to grant `USAGE` on your new schema with the grants you desire, such as `SELECT, INSERT, UPDATE, DELETE`.
Note: each client connection can only access a single schema, so the code above can access the `other_schema` schema but cannot access the `public` schema.
- id: custom-fetch-implementation
name: Custom Fetch Implementation
code: |
```js
import { createClient } from '@supabase/supabase-js'
const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', {
fetch: fetch.bind(globalThis),
})
```
description: |
`supabase-js` uses the [`cross-fetch`](https://www.npmjs.com/package/cross-fetch) library to make HTTP requests,
but an alternative `fetch` implementation can be provided as an option.
This is most useful in environments where `cross-fetch` is not compatible (for instance Cloudflare Workers).
- id: sign-up
title: 'signUp()'
$ref: '@supabase/gotrue-js.GoTrueClient.signUp'
+11
View File
@@ -968,6 +968,17 @@ functions:
name: Query foreign tables
description: |
If your database has foreign key relationships, you can query related tables too.
code: |
```js
const { data, error } = await supabase
.from('countries')
.select(`
name,
cities (
name
)
`)
```
- id: query-foreign-tables-through-a-join-table
name: Query foreign tables through a join table
code: |
@@ -25,7 +25,7 @@ const FunctionsEmptyState = () => {
</Link>
<Link
passHref
href="https://github.com/supabase/supabase/tree/chore/stripe-issue/examples/edge-functions/supabase/functions"
href="https://github.com/supabase/supabase/tree/master/examples/edge-functions/supabase/functions"
>
<a target="_blank" rel="noreferrer">
<Button type="default" iconRight={<IconCode />}>
Loaded 100 of 109 files, more files were not shown because too many files have changed in this diff. Show more