This commit is contained in:
2026-08-16 20:48:03 +04:00
parent 451d6d1f65
commit af3cd284f6
12 changed files with 35 additions and 11 deletions

View File

@@ -20,21 +20,21 @@
"dependencies": {
"@astrojs/check": "^0.9.6",
"@astrojs/cloudflare": "^12.6.12",
"@astrojs/node": "^9.5.2",
"@astrojs/rss": "^4.0.15",
"@astrojs/sitemap": "^3.7.0",
"@astrojs/svelte": "7.2.5",
"@astrojs/vercel": "^9.0.4",
"@astrojs/node": "^9.5.2",
"@expressive-code/core": "^0.41.6",
"@expressive-code/plugin-collapsible-sections": "^0.41.6",
"@expressive-code/plugin-line-numbers": "^0.41.6",
"@fancyapps/ui": "^6.1.10",
"@fontsource-variable/jetbrains-mono": "^5.2.8",
"@fontsource/roboto": "^5.2.9",
"@iconify-json/devicon": "^1.2.5",
"@iconify-json/fa6-brands": "^1.2.6",
"@iconify-json/fa6-regular": "^1.2.4",
"@iconify-json/fa6-solid": "^1.2.4",
"@iconify-json/devicon": "^1.2.5",
"@iconify-json/game-icons": "^1.2.3",
"@iconify-json/hugeicons": "^1.2.18",
"@iconify-json/iconoir": "^1.2.10",
@@ -43,6 +43,7 @@
"@iconify-json/material-symbols": "^1.2.53",
"@iconify-json/mdi": "^1.2.3",
"@iconify-json/mingcute": "^1.2.5",
"@iconify-json/simple-icons": "^1.2.93",
"@iconify-json/skill-icons": "^1.2.3",
"@iconify-json/vscode-icons": "^1.2.40",
"@swup/astro": "^1.7.0",
@@ -88,13 +89,13 @@
"devDependencies": {
"@astrojs/ts-plugin": "^1.10.6",
"@biomejs/biome": "2.3.13",
"@iconify/utils": "^2.3.0",
"@rollup/plugin-yaml": "^4.1.2",
"@types/hast": "^3.0.4",
"@types/markdown-it": "^14.1.2",
"@types/mdast": "^4.0.4",
"@types/sanitize-html": "^2.16.0",
"postcss-import": "^16.1.1",
"@iconify/utils": "^2.3.0"
"postcss-import": "^16.1.1"
},
"packageManager": "pnpm@9.14.4"
}

10
pnpm-lock.yaml generated
View File

@@ -83,6 +83,9 @@ importers:
'@iconify-json/mingcute':
specifier: ^1.2.5
version: 1.2.7
'@iconify-json/simple-icons':
specifier: ^1.2.93
version: 1.2.93
'@iconify-json/skill-icons':
specifier: ^1.2.3
version: 1.2.4
@@ -1383,6 +1386,9 @@ packages:
'@iconify-json/mingcute@1.2.7':
resolution: {integrity: sha512-bp4z6F53KAQp99aSL7qPCHL7HWUNGMNKIhfo/dx9pwVHiad/WusUbTOFXEZfpA44syJPzSOxa3O6Pwiq7qZz1g==}
'@iconify-json/simple-icons@1.2.93':
resolution: {integrity: sha512-/XhANjfGYOuqvSR3TmUnkQkINvQ4GVjVuukvymRbxtVFBvIq/yiXJqCDycKcQPT401OYT9H2vIY6ihAlz1QIAw==}
'@iconify-json/skill-icons@1.2.4':
resolution: {integrity: sha512-S6iRKHGlGCb/zfx3Isv1TBe5PunbDE5FEwJcaXji60+yRZMrcFFtYEI1xivKqaGKXyVZ508yjGDItsehQdJmSg==}
@@ -6927,6 +6933,10 @@ snapshots:
dependencies:
'@iconify/types': 2.0.0
'@iconify-json/simple-icons@1.2.93':
dependencies:
'@iconify/types': 2.0.0
'@iconify-json/skill-icons@1.2.4':
dependencies:
'@iconify/types': 2.0.0

View File

@@ -27,6 +27,7 @@ const KNOWN_PREFIXES = new Set([
"material-icon-theme",
"game-icons",
"iconoir",
"simple-icons",
]);
const ICON_PATTERN =

View File

@@ -24,6 +24,7 @@ const PACKAGE_BY_PREFIX = {
"material-icon-theme": "@iconify-json/material-icon-theme",
"game-icons": "@iconify-json/game-icons",
iconoir: "@iconify-json/iconoir",
"simple-icons": "@iconify-json/simple-icons",
};
function loadIconSet(prefix) {

View File

@@ -5,15 +5,16 @@ cover: /images/screenshot_4.png
tags: []
draft: false
---
В какой-то момент блокировки Telegram достали меня и моих близких окончательно. \
\
Непоймите меня неправильно - тот кто хочет всегда найдёт обходной путь, но постоянно изобретать велосипед, который ломается каждый раз, когда тебе срочно нужно с кем-то связаться очень утомляет. Поэтому я начал искать альтернативы. \
\
Раз уж у меня есть сервер и домен, было бы логичным придумать решение, которое бы смогло хотя бы частично заменить Telegram, при этом сохранив нашу приватность. Выбор пал на протокол Matrix, а если конкретнее то на основную его реализацию - сервер [Synapse](https://github.com/matrix-org/synapse) и клиенты [Element](https://element.io) (Web) и [Element X](https://github.com/element-hq/element-x-android) (Android).
По разумным причинам сервер было решено сделать приватным и отрезанным от общей сети Matrix - получился доступ только для "своих". Для управления пользователями отлично подошёл [Synapse Admin](https://github.com/Awesome-Technologies/synapse-admin). Более подробную настройку вы можете посмотреть в моём репозитории посвящённому домашнему серверу. \
По разумным причинам сервер было решено сделать приватным и отрезанным от общей сети Matrix - получился доступ только для "своих". Для управления пользователями отлично подошёл [Synapse Admin](https://github.com/Awesome-Technologies/synapse-admin). Более подробную настройку вы можете посмотреть в моём репозитории посвящённому домашнему серверу.
::github{repo="StepanovPlaton/HomeServerServices"}
\
Искушённым пользователям такая замена покажется неудобной. Нету привычных всем кружков и стикеров. Даже поиск по сообщениям, и тот работает через всем известное место. Но даже такая альтернатива лучше постоянных проблем с подключением и доступностью сервиса.
В заключении скажем, что опыт получился удачный. Сервер стабильно работает уже более полу года и разросся до пары десятков пользователей - близких круг друзей и родственников. Могу рекомендовать тем, кто ищет способ всегда оставаться на связи
В заключении скажем, что опыт получился удачный. Сервер стабильно работает уже более полу года и разросся до пары десятков пользователей - близкий круг друзей и родственников. Могу рекомендовать тем, кто ищет способ всегда оставаться на связи

View File

@@ -8,7 +8,7 @@
"ASM"
],
"status": "completed",
"title": "BrainFuckRISC-V",
"title": "BrainFuck RISC-V",
"tags": [],
"description": "Интерпретатор языка Brainfuck на ассемблере RISC-V (RV32I). 300 байт и никакого мошенничества!",
"category": "actual"

View File

@@ -7,7 +7,7 @@
"Cursor"
],
"status": "in-progress",
"title": "OpenProjectBoardWidgets",
"title": "OpenProject Board Widgets",
"tags": [],
"description": "Расширение для Chrome, которое обогащает карточки досок OpenProject через REST API\n\n",
"category": "actual"

View File

@@ -11,7 +11,7 @@
"endDate": "2026-06-30T20:00:00.000+04:00",
"startDate": "2026-05-01T10:00:00.000+04:00",
"title": "Производственная практика в \"Simbirsoft\", OpenSource Contributor",
"icon": "elusive-icons:opensource",
"icon": "simple-icons:opensourceinitiative",
"links": [
{
"name": "Сайт OpenEverest",

View File

@@ -5,10 +5,10 @@
"endDate": "2026-05-31T20:00:00.000+04:00",
"startDate": "2026-01-01T10:00:00.000+04:00",
"title": "Финалист акселерационной программы Самарского университета \"Студенческий стартап\"",
"icon": "mdi:education-outline",
"icon": "mdi:book-education-outline",
"links": [
{
"name": "Диплом",
"name": "Фото с защиты проекта",
"url": "https://stepanovplaton.ru/albums/защита-акселерационной-программы-студенческий-стартап-самгу/",
"type": "certificate"
}

View File

@@ -80,6 +80,7 @@ export default {
"telegram"
],
"mdi": [
"book-education-outline",
"car-outline",
"certificate-outline",
"pin"
@@ -133,5 +134,8 @@ export default {
],
"game-icons": [
"podium-winner"
],
"simple-icons": [
"opensourceinitiative"
]
};

View File

@@ -79,6 +79,7 @@
"telegram"
],
"mdi": [
"book-education-outline",
"car-outline",
"certificate-outline",
"pin"
@@ -132,5 +133,8 @@
],
"game-icons": [
"podium-winner"
],
"simple-icons": [
"opensourceinitiative"
]
}

View File

@@ -100,6 +100,7 @@ export const siteIconSvgs: Record<string, string> = {
"material-symbols:wallpaper": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M5 21q-.825 0-1.412-.587T3 19v-6h2v6h6v2zm8 0v-2h6v-6h2v6q0 .825-.587 1.413T19 21zm-7-4l3-4l2.25 3l3-4L18 17zm-3-6V5q0-.825.588-1.412T5 3h6v2H5v6zm16 0V5h-6V3h6q.825 0 1.413.588T21 5v6zm-3.5-1q-.65 0-1.075-.425T14 8.5t.425-1.075T15.5 7t1.075.425T17 8.5t-.425 1.075T15.5 10\"/></svg>",
"material-symbols:wb-sunny-outline-rounded": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M11 3V2q0-.425.288-.712T12 1t.713.288T13 2v1q0 .425-.288.713T12 4t-.712-.288T11 3m0 19v-1q0-.425.288-.712T12 20t.713.288T13 21v1q0 .425-.288.713T12 23t-.712-.288T11 22m11-9h-1q-.425 0-.712-.288T20 12t.288-.712T21 11h1q.425 0 .713.288T23 12t-.288.713T22 13M3 13H2q-.425 0-.712-.288T1 12t.288-.712T2 11h1q.425 0 .713.288T4 12t-.288.713T3 13m16.75-7.325l-.35.35q-.275.275-.687.275T18 6q-.275-.275-.288-.687t.263-.713l.375-.375q.275-.3.7-.3t.725.3t.288.725t-.313.725M6.025 19.4l-.375.375q-.275.3-.7.3t-.725-.3t-.288-.725t.313-.725l.35-.35q.275-.275.688-.275T6 18q.275.275.288.688t-.263.712m12.3.35l-.35-.35q-.275-.275-.275-.687T18 18q.275-.275.688-.287t.712.262l.375.375q.3.275.3.7t-.3.725t-.725.288t-.725-.313M4.6 6.025l-.375-.375q-.3-.275-.3-.7t.3-.725t.725-.288t.725.313l.35.35q.275.275.275.688T6 6q-.275.275-.687.288T4.6 6.025M12 18q-2.5 0-4.25-1.75T6 12t1.75-4.25T12 6t4.25 1.75T18 12t-1.75 4.25T12 18m0-2q1.675 0 2.838-1.162T16 12t-1.162-2.838T12 8T9.162 9.163T8 12t1.163 2.838T12 16m0-4\"/></svg>",
"material-symbols:work": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M4 21q-.825 0-1.412-.587T2 19V8q0-.825.588-1.412T4 6h4V4q0-.825.588-1.412T10 2h4q.825 0 1.413.588T16 4v2h4q.825 0 1.413.588T22 8v11q0 .825-.587 1.413T20 21zm6-15h4V4h-4z\"/></svg>",
"mdi:book-education-outline": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6 20h7v2H6c-1.11 0-2-.89-2-2V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8.54l-1.5-.82l-.5.28V4h-5v8l-2.5-2.25L8 12V4H6zm18-3l-5.5-3l-5.5 3l5.5 3zm-9 2.09v2L18.5 23l3.5-1.91v-2L18.5 21z\"/></svg>",
"mdi:car-outline": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M18.9 6c-.2-.6-.8-1-1.4-1h-11c-.7 0-1.2.4-1.4 1L3 12v8c0 .5.5 1 1 1h1c.6 0 1-.5 1-1v-1h12v1c0 .5.5 1 1 1h1c.5 0 1-.5 1-1v-8zM6.8 7h10.3l1.1 3H5.8zM19 17H5v-5h14zM7.5 13c.8 0 1.5.7 1.5 1.5S8.3 16 7.5 16S6 15.3 6 14.5S6.7 13 7.5 13m9 0c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5\"/></svg>",
"mdi:certificate-outline": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"m13 21l2-1l2 1v-7h-4m4-5V7l-2 1l-2-1v2l-2 1l2 1v2l2-1l2 1v-2l2-1m1-7H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h7v-2H4V5h16v10h-1v2h1a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2m-9 5H5V6h6m-2 5H5V9h4m2 5H5v-2h6Z\"/></svg>",
"mdi:pin": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M16 12V4h1V2H7v2h1v8l-2 2v2h5.2v6h1.6v-6H18v-2z\"/></svg>",
@@ -107,6 +108,7 @@ export const siteIconSvgs: Record<string, string> = {
"mingcute:robot-line": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\"><path d=\"m12.594 23.258l-.012.002l-.071.035l-.02.004l-.014-.004l-.071-.036q-.016-.004-.024.006l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.016-.018m.264-.113l-.014.002l-.184.093l-.01.01l-.003.011l.018.43l.005.012l.008.008l.201.092q.019.005.029-.008l.004-.014l-.034-.614q-.005-.019-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.003-.011l.018-.43l-.003-.012l-.01-.01z\"/><path fill=\"currentColor\" d=\"M18 10a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM8 14v-2a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0m6 0v-2a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0m0-10c0 .74-.403 1.383-1 1.73V6h3a4 4 0 0 1 4 4v.05a2.501 2.501 0 0 1 0 4.9V16a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4v-1.05a2.5 2.5 0 0 1 0-4.9V10a4 4 0 0 1 4-4h3v-.27A2 2 0 1 1 14 4\"/></g></svg>",
"mingcute:volleyball-fill": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\"><path d=\"m12.594 23.258l-.012.002l-.071.035l-.02.004l-.014-.004l-.071-.036q-.016-.004-.024.006l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.016-.018m.264-.113l-.014.002l-.184.093l-.01.01l-.003.011l.018.43l.005.012l.008.008l.201.092q.019.005.029-.008l.004-.014l-.034-.614q-.005-.019-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.003-.011l.018-.43l-.003-.012l-.01-.01z\"/><path fill=\"currentColor\" d=\"M17.68 14.175a6 6 0 0 1 2.112 4.093A9.98 9.98 0 0 1 12 22q-.813 0-1.59-.126a11 11 0 0 0 2.126-.946a10.97 10.97 0 0 0 5.145-6.754Zm-1.81-1.05a8.98 8.98 0 0 1-4.334 6.071a8.96 8.96 0 0 1-4.979 1.194a10 10 0 0 1-2.479-2.286a7.97 7.97 0 0 0 5.16-.988a7.97 7.97 0 0 0 3.544-4.265a5.97 5.97 0 0 1 3.088.274M4.244 5.688C4.084 6.433 4 7.207 4 8a10.97 10.97 0 0 0 3.277 7.832a6 6 0 0 1-4.605-.22A10 10 0 0 1 2 12c0-2.394.841-4.59 2.244-6.312m14.22 3.116a8.96 8.96 0 0 1 3.523 3.713a10 10 0 0 1-.739 3.294a7.97 7.97 0 0 0-3.436-3.977a7.97 7.97 0 0 0-5.467-.937a5.97 5.97 0 0 1-1.306-2.81a8.98 8.98 0 0 1 7.425.717m-7.789-6.717A7.97 7.97 0 0 0 8.95 7.05c0 1.986.725 3.804 1.922 5.202a5.97 5.97 0 0 1-1.78 2.537A8.98 8.98 0 0 1 6 7.999a8.96 8.96 0 0 1 1.456-4.91a9.9 9.9 0 0 1 3.22-1.002Zm2.859.03a10.01 10.01 0 0 1 7.815 6.325a11 11 0 0 0-1.885-1.37a10.97 10.97 0 0 0-8.421-1.079a6 6 0 0 1 2.49-3.876Z\"/></g></svg>",
"mingcute:vue-fill": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\"><path d=\"m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z\"/><path fill=\"currentColor\" d=\"M19.707 3.94a1.5 1.5 0 0 1 2.653 1.393l-.067.128l-9 15.3a1.5 1.5 0 0 1-2.507.12l-.079-.12l-9-15.3a1.5 1.5 0 0 1 2.507-1.642l.079.12L12 17.043zm-4.88-.005a1.5 1.5 0 0 1 2.653 1.393l-.067.128l-4.12 7.004a1.5 1.5 0 0 1-2.507.121l-.079-.12L6.59 5.46a1.5 1.5 0 0 1 2.507-1.642l.079.12L12 8.743z\"/></g></svg>",
"simple-icons:opensourceinitiative": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M11.959.447A11.94 11.94 0 0 0 0 12.407c0 5.576 3.874 10.097 7.783 11.114c.193.05.392-.05.467-.234l2.771-6.822a.396.396 0 0 0-.246-.528C9.365 15.47 8.53 14.32 8.48 12.4c-.024-1.828 1.5-3.45 3.561-3.447c1.931.003 3.479 1.632 3.479 3.453c0 .966-.203 1.687-.575 2.238c-.371.552-.922.951-1.695 1.239a.396.396 0 0 0-.23.515l2.685 6.903a.396.396 0 0 0 .465.24C20.163 22.534 24 18.062 24 12.406C24 5.804 18.603.447 11.959.447m0 .791c6.22 0 11.25 4.997 11.25 11.168c0 5.138-3.423 9.208-6.895 10.272L13.9 16.47c.703-.308 1.302-.79 1.702-1.384c.477-.708.709-1.602.709-2.68c0-2.266-1.898-4.24-4.27-4.244c-2.48-.004-4.382 1.976-4.352 4.25c.023 1.995.934 3.492 2.451 4.13L7.648 22.66C4.251 21.592.791 17.458.791 12.406A11.13 11.13 0 0 1 11.959 1.238m10.617 20.149a1.03 1.03 0 0 0 0 2.058a1.03 1.03 0 0 0 0-2.058m0 .162c.48 0 .865.388.865.867a.86.86 0 0 1-.271.623l-.172-.342a1 1 0 0 0-.111-.178a.26.26 0 0 0-.114-.084a.3.3 0 0 0 .17-.117a.36.36 0 0 0 .061-.21q0-.195-.113-.292q-.114-.096-.346-.095h-.41v1.343h.181v-.568h.2q.107 0 .17.045a.5.5 0 0 1 .129.18l.171.343l.157.001a.88.88 0 0 1-.567.216a.865.865 0 0 1 0-1.732m-.26.322h.229q.132-.001.2.059q.066.06.066.177q0 .12-.067.18q-.066.06-.2.06h-.228z\"/></svg>",
"skill-icons:neovim-dark": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 256 256\"><g fill=\"none\"><rect width=\"256\" height=\"256\" fill=\"#242938\" rx=\"60\"/><path fill=\"url(#SVGdXFdtdlv)\" fill-rule=\"evenodd\" d=\"M46 71.006L88.595 28v199.957L46 185.45z\" clip-rule=\"evenodd\"/><path fill=\"url(#SVGgB9w6b9I)\" fill-rule=\"evenodd\" d=\"m210.584 71.41l-43.178-43.387l.876 199.935l42.596-42.508z\" clip-rule=\"evenodd\"/><path fill=\"url(#SVGOP6w7DEf)\" fill-rule=\"evenodd\" d=\"M88.567 28.033L199.31 197.012L168.32 228L57.52 59.395z\" clip-rule=\"evenodd\"/><path fill=\"#000\" fill-opacity=\".13\" fill-rule=\"evenodd\" d=\"m88.605 106.416l-.059 6.656l-34.193-50.48l3.166-3.224z\" clip-rule=\"evenodd\"/><defs><linearGradient id=\"SVGdXFdtdlv\" x1=\"67.297\" x2=\"67.297\" y1=\"28\" y2=\"227.958\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#16b0ed\" stop-opacity=\".8\"/><stop offset=\"1\" stop-color=\"#0f59b2\" stop-opacity=\".837\"/></linearGradient><linearGradient id=\"SVGgB9w6b9I\" x1=\"189.14\" x2=\"189.14\" y1=\"28.023\" y2=\"227.957\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#7db643\"/><stop offset=\"1\" stop-color=\"#367533\"/></linearGradient><linearGradient id=\"SVGOP6w7DEf\" x1=\"128.414\" x2=\"128.414\" y1=\"28.033\" y2=\"228.01\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#88c649\" stop-opacity=\".8\"/><stop offset=\"1\" stop-color=\"#439240\" stop-opacity=\".84\"/></linearGradient></defs></g></svg>",
"vscode-icons:file-type-cursorrules": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 32 32\"><path fill=\"#444\" d=\"M3.75 9v14h24.5V9L16 2\"/><path fill=\"#939393\" d=\"M16 16V2L3.75 9l24.5 14L16 30L3.75 23\"/><path fill=\"#e3e3e3\" d=\"M28.25 9H16v21\"/><path fill=\"#fff\" d=\"M3.75 9h24.5L16 16\"/></svg>",
};