Merge branch 'master' into np_newsfeed_timestamp

This commit is contained in:
NoPlagiarism 2023-04-01 16:22:35 +05:00 committed by GitHub
commit 3f898a2901
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
151 changed files with 6483 additions and 446 deletions

15
.github/workflows/codeberg-mirror.yml vendored Normal file
View file

@ -0,0 +1,15 @@
name: Codeberg Mirroring
on: push
jobs:
to_codeberg:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: pixta-dev/repository-mirroring-action@v1
with:
target_repo_url: "git@codeberg.org:openvk/openvk.git"
ssh_private_key: ${{ secrets.CODEBERG_MIRRORSSH }}

2
.gitignore vendored
View file

@ -14,3 +14,5 @@ themepacks/*
!themepacks/midnight !themepacks/midnight
storage/* storage/*
!storage/.gitkeep !storage/.gitkeep
.idea

View file

@ -2,29 +2,30 @@
_[Русский](README_RU.md)_ _[Русский](README_RU.md)_
**OpenVK** is an attempt to create a simple CMS that ~~cosplays~~ imitates old VK. Code provided here is not stable yet. **OpenVK** is an attempt to create a simple CMS that ~~cosplays~~ imitates old VKontakte. Code provided here is not stable yet.
VKontakte belongs to Pavel Durov and VK Group. VKontakte belongs to Pavel Durov and VK Group.
To be honest, we don't know whether it even works. However, this version is maintained and we will be happy to accept your bugreports [in our bug-tracker](https://github.com/openvk/openvk/projects/1). You should also be able to submit them using [ticketing system](https://openvk.su/support?act=new) (you will need an OVK account for this). To be honest, we don't know whether if it even works. However, this version is maintained and we will be happy to accept your bugreports [in our bug tracker](https://github.com/openvk/openvk/projects/1). You should also be able to submit them using [ticketing system](https://openvk.su/support?act=new) (you will need an OpenVK account for this).
## When's the release? ## When's the release?
We will release OpenVK as soon as it's ready. As for now you can: We will release OpenVK as soon as it's ready. As for now, you can:
* `git clone` this repo's master branch (use `git pull` to update) * `git clone` this repo's master branch (use `git pull` to update)
* Grab a prebuilt OpenVK distro from [GitHub artifacts](https://nightly.link/openvk/archive/workflows/nightly/master/OpenVK%20Archive.zip) * Grab a prebuilt OpenVK distro from [GitHub artifacts](https://nightly.link/openvk/archive/workflows/nightly/master/OpenVK%20Archive.zip)
## Instances ## Instances
* **[openvk.su](https://openvk.su/)** * **[openvk.su](https://openvk.su/)**
* **[openvk.uk](https://openvk.uk)** - official mirror of openvk.su (<https://t.me/openvk/1609>) * **[openvk.uk](https://openvk.uk)** ([mirror](https://t.me/openvk/1609))
* **[openvk.co](http://openvk.co)** - yet another official mirror of openvk.su without TLS (<https://t.me/openvk/1654>) * **[openvk.co](http://openvk.co)** (mirror [without TLS](https://t.me/openvk/1654))
* [social.fetbuk.ru](http://social.fetbuk.ru/) * [social.fetbuk.ru](http://social.fetbuk.ru/)
* [vepurovk.xyz](http://vepurovk.xyz/) * [vepurovk.xyz](http://vepurovk.xyz/)
* [vepurovk.fun](http://vepurovk.fun/) (mirror without TLS)
## Can I create my own OpenVK instance? ## Can I create my own OpenVK instance?
Yes! And you're very welcome to. Yes! And you are very welcome to.
However, OVK makes use of Chandler Application Server. This software requires extensions, that may not be provided by your hosting provider (namely, sodium and yaml. these extensions are available on most of ISPManager hostings). However, OVK makes use of Chandler Application Server. This software requires extensions, that may not be provided by your hosting provider (namely, sodium and yaml. these extensions are available on most of ISPManager hostings).
@ -34,12 +35,12 @@ If you want, you can add your instance to the list above so that people can regi
1. Install PHP 7.4, web-server, Composer, Node.js, Yarn and [Chandler](https://github.com/openvk/chandler) 1. Install PHP 7.4, web-server, Composer, Node.js, Yarn and [Chandler](https://github.com/openvk/chandler)
* PHP 8.1 is supported, but it was not tested carefully, be aware of that. * PHP 8.1 is supported too, however it was not tested carefully, so be aware.
2. Install MySQL-compatible database. 2. Install MySQL-compatible database.
* We recommend using Percona Server, but any MySQL-compatible server should work * We recommend using Percona Server, but any MySQL-compatible server should work too.
* Server should be compatible with at least MySQL 5.6, MySQL 8.0+ recommended. * Server should be compatible with at least MySQL 5.6, MySQL 8.0+ is recommended.
* Support for MySQL 4.1+ is WIP, replace `utf8mb4` and `utf8mb4_unicode_520_ci` with `utf8` and `utf8_unicode_ci` in SQLs. * Support for MySQL 4.1+ is WIP, replace `utf8mb4` and `utf8mb4_unicode_520_ci` with `utf8` and `utf8_unicode_ci` in SQLs.
3. Install [commitcaptcha](https://github.com/openvk/commitcaptcha) and OpenVK as Chandler extensions like this: 3. Install [commitcaptcha](https://github.com/openvk/commitcaptcha) and OpenVK as Chandler extensions like this:
@ -77,20 +78,20 @@ See `install/automated/docker/README.md` and `install/automated/kubernetes/READM
### If my website uses OpenVK, should I release it's sources? ### If my website uses OpenVK, should I release it's sources?
It depends. You can keep the sources to yourself if you do not plan to distribute your website binaries. If your website software must be distributed, it can stay non-OSS provided the OpenVK is not used as a primary application and is not modified. If you modified OpenVK for your needs or your work is based on it and you're planning to redistribute this, then you should license it under terms of any LGPL-compatible license (like OSL, GPL, LGPL etc). It depends. You can keep the sources to yourself if you do not plan to distribute your website binaries. If your website software must be distributed, it can stay non-OSS provided the OpenVK is not used as a primary application and is not modified. If you modified OpenVK for your needs or your work is based on it and you are planning to redistribute this, then you should license it under terms of any LGPL-compatible license (like OSL, GPL, LGPL etc).
## Where can I get assistance? ## Where can I get assistance?
You may reach out to us via: You may reach out to us via:
* [Bug-tracker](https://github.com/openvk/openvk/projects/1) * [Bug Tracker](https://github.com/openvk/openvk/projects/1)
* [Ticketing system](https://openvk.su/support?act=new) * [Ticketing System](https://openvk.su/support?act=new)
* Telegram chat: Go to [our channel](https://t.me/openvkenglish) and open discussion in our channel menu. * Telegram Chat: Go to [our channel](https://t.me/openvkenglish) and open discussion in our channel menu.
* [Reddit](https://www.reddit.com/r/openvk/) * [Reddit](https://www.reddit.com/r/openvk/)
* [Discussions](https://github.com/openvk/openvk/discussions) * [GitHub Discussions](https://github.com/openvk/openvk/discussions)
* Matrix chat: #openvk:matrix.org * Matrix Chat: #openvk:matrix.org
**Attention**: bug tracker, board, telegram and matrix chat are public places. And ticketing system is being served by volunteers. If you need to report something, that shouldn't be immediately disclosed to general public (for instance, vulnerability report), please use contact us directly at this email: **openvk [at] tutanota [dot] com** **Attention**: bug tracker, board, Telegram and Matrix chat are public places, ticketing system is being served by volunteers. If you need to report something that should not be immediately disclosed to general public (for instance, a vulnerability), please contact us directly via this email: **openvk [at] tutanota [dot] com**
<a href="https://codeberg.org/OpenVK/openvk"> <a href="https://codeberg.org/OpenVK/openvk">
<img alt="Get it on Codeberg" src="https://codeberg.org/Codeberg/GetItOnCodeberg/media/branch/main/get-it-on-blue-on-white.png" height="60"> <img alt="Get it on Codeberg" src="https://codeberg.org/Codeberg/GetItOnCodeberg/media/branch/main/get-it-on-blue-on-white.png" height="60">

View file

@ -2,11 +2,11 @@
_[English](README.md)_ _[English](README.md)_
**OpenVK** - это попытка создать простую CMS, которая ~~косплеит~~ имитирует старый ВКонтакте. На данный момент представленный здесь исходный код проекта пока не является стабильным. **OpenVK** это попытка создать простую CMS, которая ~~косплеит~~ имитирует старый ВКонтакте. На данный момент, представленный здесь исходный код проекта пока не является стабильным.
ВКонтакте принадлежит Павлу Дурову и VK Group. ВКонтакте принадлежит Павлу Дурову и VK Group.
Честно говоря, мы даже не знаем, работает ли она вообще. Однако, эта версия поддерживается, и мы будем рады принять ваши сообщения об ошибках [в нашем баг-трекере](https://github.com/openvk/openvk/projects/1). Вы также можете отправлять их через [вкладку "Помощь"](https://openvk.su/support?act=new) (для этого вам понадобится учетная запись OVK). Честно говоря, мы даже не знаем, работает ли она вообще. Однако, эта версия поддерживается, и мы будем рады принять ваши сообщения об ошибках [в нашем баг-трекере](https://github.com/openvk/openvk/projects/1). Вы также можете отправлять их через [вкладку "Помощь"](https://openvk.su/support?act=new) (для этого вам понадобится учетная запись OpenVK).
## Когда выйдет релизная версия? ## Когда выйдет релизная версия?
@ -17,18 +17,19 @@ _[English](README.md)_
## Инстанции ## Инстанции
* **[openvk.su](https://openvk.su/)** * **[openvk.su](https://openvk.su/)**
* **[openvk.uk](https://openvk.uk)** - официальное зеркало openvk.su (<https://t.me/openvk/1609>) * **[openvk.uk](https://openvk.uk)** ([зеркало](<https://t.me/openvk/1609>))
* **[openvk.co](http://openvk.co)** - ещё одно официальное зеркало openvk.su без TLS (<https://t.me/openvk/1654>) * **[openvk.co](http://openvk.co)** (зеркало [без TLS](<https://t.me/openvk/1654>))
* [social.fetbuk.ru](http://social.fetbuk.ru/) * [social.fetbuk.ru](http://social.fetbuk.ru/)
* [vepurovk.xyz](http://vepurovk.xyz/) * [vepurovk.xyz](http://vepurovk.xyz/)
* **[vepurovk.fun](http://vepurovk.fun)** (зеркало без TLS)
## Могу ли я создать свою собственную инстанцию OpenVK? ## Могу ли я создать свою собственную инстанцию OpenVK?
Да! И всегда пожалуйста. Да! И всегда пожалуйста.
Однако, OVK использует Chandler Application Server. Это программное обеспечение требует расширений, которые могут быть не предоставлены вашим хостинг-провайдером (а именно, sodium и yaml. эти расширения доступны на большинстве хостингов ISPManager). Однако, OpenVK использует Chandler Application Server. Это программное обеспечение требует расширений, которые могут быть не предоставлены вашим хостинг-провайдером (а именно, sodium и yaml. Эти расширения доступны на большинстве хостингов ISPManager).
Если вы хотите, вы можете добавить вашу инстанцию в список выше, чтобы люди могли зарегистрироваться там. Если хотите, вы можете добавить вашу инстанцию в список выше, чтобы люди могли зарегистрироваться там.
### Процедура установки ### Процедура установки
@ -38,7 +39,7 @@ _[English](README.md)_
2. Установите MySQL-совместимую базу данных. 2. Установите MySQL-совместимую базу данных.
* Мы рекомендуем использовать Persona Server, но любая MySQL-совместимая база данных должна работать * Мы рекомендуем использовать Persona Server, но любая MySQL-совместимая база данных должна работать.
* Сервер должен поддерживать хотя бы MySQL 5.6, рекомендуется использовать MySQL 8.0+. * Сервер должен поддерживать хотя бы MySQL 5.6, рекомендуется использовать MySQL 8.0+.
* Поддержка для MySQL 4.1+ находится в процессе, а пока замените `utf8mb4` и `utf8mb4_unicode_520_ci` на `utf8` и `utf8_unicode_ci` в SQL-файлах, соответственно. * Поддержка для MySQL 4.1+ находится в процессе, а пока замените `utf8mb4` и `utf8mb4_unicode_520_ci` на `utf8` и `utf8_unicode_ci` в SQL-файлах, соответственно.
@ -87,10 +88,10 @@ ln -s /path/to/chandler/extensions/available/openvk /path/to/chandler/extensions
* [Помощь в OVK](https://openvk.su/support?act=new) * [Помощь в OVK](https://openvk.su/support?act=new)
* Telegram-чат: Перейдите на [наш канал](https://t.me/openvk) и откройте обсуждение в меню нашего канала. * Telegram-чат: Перейдите на [наш канал](https://t.me/openvk) и откройте обсуждение в меню нашего канала.
* [Reddit](https://www.reddit.com/r/openvk/) * [Reddit](https://www.reddit.com/r/openvk/)
* [Обсуждения](https://github.com/openvk/openvk/discussions) * [GitHub Discussions](https://github.com/openvk/openvk/discussions)
* Чат в Matrix: #ovk:matrix.org * Чат в Matrix: #ovk:matrix.org
**Внимание**: баг-трекер, форум, телеграм- и matrix-чат являются публичными местами, и жалобы в OVK обслуживается волонтерами. Если вам нужно сообщить о чем-то, что не должно быть раскрыто широкой публике (например, сообщение об уязвимости), пожалуйста, свяжитесь с нами напрямую по этому адресу: **openvk [собака] tutanota [точка] com**. **Внимание**: баг-трекер, форум, Telegram- и Matrix-чат являются публичными местами, и жалобы в OVK обслуживается волонтерами. Если вам нужно сообщить о чем-то, что не должно быть раскрыто широкой публике (например, сообщение об уязвимости), пожалуйста, свяжитесь с нами напрямую по этому адресу: **openvk [собачка] tutanota [точка] com**.
<a href="https://codeberg.org/OpenVK/openvk"> <a href="https://codeberg.org/OpenVK/openvk">
<img alt="Get it on Codeberg" src="https://codeberg.org/Codeberg/GetItOnCodeberg/media/branch/main/get-it-on-blue-on-white.png" height="60"> <img alt="Get it on Codeberg" src="https://codeberg.org/Codeberg/GetItOnCodeberg/media/branch/main/get-it-on-blue-on-white.png" height="60">

View file

@ -45,13 +45,12 @@ final class Account extends VKAPIRequestHandler
{ {
$this->requireUser(); $this->requireUser();
$this->getUser()->setOnline(time()); $this->getUser()->updOnline($this->getPlatform());
$this->getUser()->save();
return 1; return 1;
} }
function setOffline(): object function setOffline(): int
{ {
$this->requireUser(); $this->requireUser();
@ -79,6 +78,8 @@ final class Account extends VKAPIRequestHandler
function saveProfileInfo(string $first_name = "", string $last_name = "", string $screen_name = "", int $sex = -1, int $relation = -1, string $bdate = "", int $bdate_visibility = -1, string $home_town = "", string $status = ""): object function saveProfileInfo(string $first_name = "", string $last_name = "", string $screen_name = "", int $sex = -1, int $relation = -1, string $bdate = "", int $bdate_visibility = -1, string $home_town = "", string $status = ""): object
{ {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
$user = $this->getUser(); $user = $this->getUser();
$output = [ $output = [

View file

@ -66,6 +66,7 @@ final class Friends extends VKAPIRequestHandler
function add(string $user_id): int function add(string $user_id): int
{ {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
$users = new UsersRepo; $users = new UsersRepo;
$user = $users->get(intval($user_id)); $user = $users->get(intval($user_id));
@ -96,6 +97,7 @@ final class Friends extends VKAPIRequestHandler
function delete(string $user_id): int function delete(string $user_id): int
{ {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
$users = new UsersRepo; $users = new UsersRepo;
@ -152,10 +154,7 @@ final class Friends extends VKAPIRequestHandler
$response = $followers; $response = $followers;
$usersApi = new Users($this->getUser()); $usersApi = new Users($this->getUser());
if($extended == 1) $response = $usersApi->get(implode(',', $followers), $fields, 0, $count);
$response = $usersApi->get(implode(',', $followers), $fields, 0, $count);
else
$response = $usersApi->get(implode(',', $followers), "", 0, $count);
foreach($response as $user) foreach($response as $user)
$user->user_id = $user->id; $user->user_id = $user->id;

View file

@ -185,7 +185,7 @@ final class Groups extends VKAPIRequestHandler
$response[$i]->site = $clb->getWebsite(); $response[$i]->site = $clb->getWebsite();
break; break;
case "description": case "description":
$response[$i]->desctiption = $clb->getDescription(); $response[$i]->description = $clb->getDescription();
break; break;
case "contacts": case "contacts":
$contacts; $contacts;
@ -237,6 +237,7 @@ final class Groups extends VKAPIRequestHandler
function join(int $group_id) function join(int $group_id)
{ {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
$club = (new ClubsRepo)->get($group_id); $club = (new ClubsRepo)->get($group_id);
@ -251,6 +252,7 @@ final class Groups extends VKAPIRequestHandler
function leave(int $group_id) function leave(int $group_id)
{ {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
$club = (new ClubsRepo)->get($group_id); $club = (new ClubsRepo)->get($group_id);

View file

@ -8,6 +8,7 @@ final class Likes extends VKAPIRequestHandler
function add(string $type, int $owner_id, int $item_id): object function add(string $type, int $owner_id, int $item_id): object
{ {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
switch($type) { switch($type) {
case "post": case "post":
@ -28,6 +29,7 @@ final class Likes extends VKAPIRequestHandler
function delete(string $type, int $owner_id, int $item_id): object function delete(string $type, int $owner_id, int $item_id): object
{ {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
switch($type) { switch($type) {
case "post": case "post":

View file

@ -65,9 +65,15 @@ final class Messages extends VKAPIRequestHandler
]; ];
} }
function send(int $user_id = -1, int $peer_id = -1, string $domain = "", int $chat_id = -1, string $user_ids = "", string $message = "", int $sticker_id = -1) function send(int $user_id = -1, int $peer_id = -1, string $domain = "", int $chat_id = -1, string $user_ids = "", string $message = "", int $sticker_id = -1, int $forGodSakePleaseDoNotReportAboutMyOnlineActivity = 0)
{ {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
if($forGodSakePleaseDoNotReportAboutMyOnlineActivity == 0)
{
$this->getUser()->updOnline($this->getPlatform());
}
if($chat_id !== -1) if($chat_id !== -1)
$this->fail(946, "Chats are not implemented"); $this->fail(946, "Chats are not implemented");
@ -117,6 +123,7 @@ final class Messages extends VKAPIRequestHandler
function delete(string $message_ids, int $spam = 0, int $delete_for_all = 0): object function delete(string $message_ids, int $spam = 0, int $delete_for_all = 0): object
{ {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
$msgs = new MSGRepo; $msgs = new MSGRepo;
$ids = preg_split("%, ?%", $message_ids); $ids = preg_split("%, ?%", $message_ids);
@ -136,6 +143,7 @@ final class Messages extends VKAPIRequestHandler
function restore(int $message_id): int function restore(int $message_id): int
{ {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
$msg = (new MSGRepo)->get($message_id); $msg = (new MSGRepo)->get($message_id);
if(!$msg) if(!$msg)

View file

@ -11,6 +11,11 @@ final class Newsfeed extends VKAPIRequestHandler
{ {
$this->requireUser(); $this->requireUser();
if($forGodSakePleaseDoNotReportAboutMyOnlineActivity == 0)
{
$this->getUser()->updOnline($this->getPlatform());
}
$id = $this->getUser()->getId(); $id = $this->getUser()->getId();
$subs = DatabaseConnection::i() $subs = DatabaseConnection::i()
->getContext() ->getContext()

View file

@ -66,6 +66,7 @@ final class Polls extends VKAPIRequestHandler
function addVote(int $poll_id, string $answers_ids) function addVote(int $poll_id, string $answers_ids)
{ {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
$poll = (new PollsRepo)->get($poll_id); $poll = (new PollsRepo)->get($poll_id);
@ -87,6 +88,7 @@ final class Polls extends VKAPIRequestHandler
function deleteVote(int $poll_id) function deleteVote(int $poll_id)
{ {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
$poll = (new PollsRepo)->get($poll_id); $poll = (new PollsRepo)->get($poll_id);

View file

@ -108,11 +108,31 @@ final class Users extends VKAPIRequestHandler
} }
break; break;
case "last_seen": case "last_seen":
if ($usr->onlineStatus() == 0) if ($usr->onlineStatus() == 0) {
$platform = $usr->getOnlinePlatform(true);
switch ($platform) {
case 'iphone':
$platform = 2;
break;
case 'android':
$platform = 4;
break;
case NULL:
$platform = 7;
break;
default:
$platform = 1;
break;
}
$response[$i]->last_seen = (object) [ $response[$i]->last_seen = (object) [
"platform" => 1, "platform" => $platform,
"time" => $usr->getOnline()->timestamp() "time" => $usr->getOnline()->timestamp()
]; ];
}
case "music": case "music":
$response[$i]->music = $usr->getFavoriteMusic(); $response[$i]->music = $usr->getFavoriteMusic();
break; break;

View file

@ -1,15 +1,19 @@
<?php declare(strict_types=1); <?php declare(strict_types=1);
namespace openvk\VKAPI\Handlers; namespace openvk\VKAPI\Handlers;
use openvk\VKAPI\Exceptions\APIErrorException; use openvk\VKAPI\Exceptions\APIErrorException;
use openvk\Web\Models\Entities\IP;
use openvk\Web\Models\Entities\User; use openvk\Web\Models\Entities\User;
use openvk\Web\Models\Repositories\IPs;
abstract class VKAPIRequestHandler abstract class VKAPIRequestHandler
{ {
protected $user; protected $user;
protected $platform;
function __construct(?User $user = NULL) function __construct(?User $user = NULL, ?string $platform = NULL)
{ {
$this->user = $user; $this->user = $user;
$this->platform = $platform;
} }
protected function fail(int $code, string $message): void protected function fail(int $code, string $message): void
@ -22,6 +26,11 @@ abstract class VKAPIRequestHandler
return $this->user; return $this->user;
} }
protected function getPlatform(): ?string
{
return $this->platform;
}
protected function userAuthorized(): bool protected function userAuthorized(): bool
{ {
return !is_null($this->getUser()); return !is_null($this->getUser());
@ -32,4 +41,19 @@ abstract class VKAPIRequestHandler
if(!$this->userAuthorized()) if(!$this->userAuthorized())
$this->fail(5, "User authorization failed: no access_token passed."); $this->fail(5, "User authorization failed: no access_token passed.");
} }
protected function willExecuteWriteAction(): void
{
$ip = (new IPs)->get(CONNECTING_IP);
$res = $ip->rateLimit();
if(!($res === IP::RL_RESET || $res === IP::RL_CANEXEC)) {
if($res === IP::RL_BANNED && OPENVK_ROOT_CONF["openvk"]["preferences"]["security"]["rateLimits"]["autoban"]) {
$this->user->ban("User account has been suspended for breaking API terms of service", false);
$this->fail(18, "User account has been suspended due to repeated violation of API rate limits.");
}
$this->fail(29, "You have been rate limited.");
}
}
} }

37
VKAPI/Handlers/Video.php Executable file
View file

@ -0,0 +1,37 @@
<?php declare(strict_types=1);
namespace openvk\VKAPI\Handlers;
use openvk\Web\Models\Entities\User;
use openvk\Web\Models\Repositories\Users as UsersRepo;
use openvk\Web\Models\Entities\Club;
use openvk\Web\Models\Repositories\Clubs as ClubsRepo;
use openvk\Web\Models\Entities\Video as VideoEntity;
use openvk\Web\Models\Repositories\Videos as VideosRepo;
use openvk\Web\Models\Entities\Comment;
use openvk\Web\Models\Repositories\Comments as CommentsRepo;
final class Video extends VKAPIRequestHandler
{
function get(string $videos, int $offset = 0, int $count = 30, int $extended = 0): object
{
$this->requireUser();
$vids = explode(',', $videos);
foreach($vids as $vid)
{
$id = explode("_", $vid);
$items = [];
$video = (new VideosRepo)->getByOwnerAndVID(intval($id[0]), intval($id[1]));
if($video) {
$items[] = $video->getApiStructure();
}
}
return (object) [
"count" => count($items),
"items" => $items
];
}
}

View file

@ -14,6 +14,8 @@ final class Wall extends VKAPIRequestHandler
{ {
function get(int $owner_id, string $domain = "", int $offset = 0, int $count = 30, int $extended = 0): object function get(int $owner_id, string $domain = "", int $offset = 0, int $count = 30, int $extended = 0): object
{ {
$this->requireUser();
$posts = new PostsRepo; $posts = new PostsRepo;
$items = []; $items = [];
@ -46,6 +48,8 @@ final class Wall extends VKAPIRequestHandler
$attachments[] = $this->getApiPhoto($attachment); $attachments[] = $this->getApiPhoto($attachment);
} else if($attachment instanceof \openvk\Web\Models\Entities\Poll) { } else if($attachment instanceof \openvk\Web\Models\Entities\Poll) {
$attachments[] = $this->getApiPoll($attachment, $this->getUser()); $attachments[] = $this->getApiPoll($attachment, $this->getUser());
} else if ($attachment instanceof \openvk\Web\Models\Entities\Video) {
$attachments[] = $attachment->getApiStructure();
} else if ($attachment instanceof \openvk\Web\Models\Entities\Post) { } else if ($attachment instanceof \openvk\Web\Models\Entities\Post) {
$repostAttachments = []; $repostAttachments = [];
@ -64,6 +68,17 @@ final class Wall extends VKAPIRequestHandler
else else
$profiles[] = $attachment->getOwner()->getId(); $profiles[] = $attachment->getOwner()->getId();
$post_source = [];
if($attachment->getPlatform(true) === NULL) {
$post_source = (object)["type" => "vk"];
} else {
$post_source = (object)[
"type" => "api",
"platform" => $attachment->getPlatform(true)
];
}
$repost[] = [ $repost[] = [
"id" => $attachment->getVirtualId(), "id" => $attachment->getVirtualId(),
"owner_id" => $attachment->isPostedOnBehalfOfGroup() ? $attachment->getOwner()->getId() * -1 : $attachment->getOwner()->getId(), "owner_id" => $attachment->isPostedOnBehalfOfGroup() ? $attachment->getOwner()->getId() * -1 : $attachment->getOwner()->getId(),
@ -72,13 +87,22 @@ final class Wall extends VKAPIRequestHandler
"post_type" => "post", "post_type" => "post",
"text" => $attachment->getText(false), "text" => $attachment->getText(false),
"attachments" => $repostAttachments, "attachments" => $repostAttachments,
"post_source" => [ "post_source" => $post_source,
"type" => "vk"
],
]; ];
} }
} }
$post_source = [];
if($post->getPlatform(true) === NULL) {
$post_source = (object)["type" => "vk"];
} else {
$post_source = (object)[
"type" => "api",
"platform" => $post->getPlatform(true)
];
}
$items[] = (object)[ $items[] = (object)[
"id" => $post->getVirtualId(), "id" => $post->getVirtualId(),
"from_id" => $from_id, "from_id" => $from_id,
@ -94,7 +118,7 @@ final class Wall extends VKAPIRequestHandler
"is_archived" => false, "is_archived" => false,
"is_pinned" => $post->isPinned(), "is_pinned" => $post->isPinned(),
"attachments" => $attachments, "attachments" => $attachments,
"post_source" => (object)["type" => "vk"], "post_source" => $post_source,
"comments" => (object)[ "comments" => (object)[
"count" => $post->getCommentsCount(), "count" => $post->getCommentsCount(),
"can_post" => 1 "can_post" => 1
@ -194,6 +218,8 @@ final class Wall extends VKAPIRequestHandler
$attachments[] = $this->getApiPhoto($attachment); $attachments[] = $this->getApiPhoto($attachment);
} else if($attachment instanceof \openvk\Web\Models\Entities\Poll) { } else if($attachment instanceof \openvk\Web\Models\Entities\Poll) {
$attachments[] = $this->getApiPoll($attachment, $user); $attachments[] = $this->getApiPoll($attachment, $user);
} else if ($attachment instanceof \openvk\Web\Models\Entities\Video) {
$attachments[] = $attachment->getApiStructure();
} else if ($attachment instanceof \openvk\Web\Models\Entities\Post) { } else if ($attachment instanceof \openvk\Web\Models\Entities\Post) {
$repostAttachments = []; $repostAttachments = [];
@ -212,6 +238,17 @@ final class Wall extends VKAPIRequestHandler
else else
$profiles[] = $attachment->getOwner()->getId(); $profiles[] = $attachment->getOwner()->getId();
$post_source = [];
if($attachment->getPlatform(true) === NULL) {
$post_source = (object)["type" => "vk"];
} else {
$post_source = (object)[
"type" => "api",
"platform" => $attachment->getPlatform(true)
];
}
$repost[] = [ $repost[] = [
"id" => $attachment->getVirtualId(), "id" => $attachment->getVirtualId(),
"owner_id" => $attachment->isPostedOnBehalfOfGroup() ? $attachment->getOwner()->getId() * -1 : $attachment->getOwner()->getId(), "owner_id" => $attachment->isPostedOnBehalfOfGroup() ? $attachment->getOwner()->getId() * -1 : $attachment->getOwner()->getId(),
@ -220,13 +257,22 @@ final class Wall extends VKAPIRequestHandler
"post_type" => "post", "post_type" => "post",
"text" => $attachment->getText(false), "text" => $attachment->getText(false),
"attachments" => $repostAttachments, "attachments" => $repostAttachments,
"post_source" => [ "post_source" => $post_source,
"type" => "vk"
],
]; ];
} }
} }
$post_source = [];
if($post->getPlatform(true) === NULL) {
$post_source = (object)["type" => "vk"];
} else {
$post_source = (object)[
"type" => "api",
"platform" => $post->getPlatform(true)
];
}
$items[] = (object)[ $items[] = (object)[
"id" => $post->getVirtualId(), "id" => $post->getVirtualId(),
"from_id" => $from_id, "from_id" => $from_id,
@ -241,7 +287,7 @@ final class Wall extends VKAPIRequestHandler
"can_archive" => false, # TODO MAYBE "can_archive" => false, # TODO MAYBE
"is_archived" => false, "is_archived" => false,
"is_pinned" => $post->isPinned(), "is_pinned" => $post->isPinned(),
"post_source" => (object)["type" => "vk"], "post_source" => $post_source,
"attachments" => $attachments, "attachments" => $attachments,
"comments" => (object)[ "comments" => (object)[
"count" => $post->getCommentsCount(), "count" => $post->getCommentsCount(),
@ -320,6 +366,7 @@ final class Wall extends VKAPIRequestHandler
function post(string $owner_id, string $message = "", int $from_group = 0, int $signed = 0): object function post(string $owner_id, string $message = "", int $from_group = 0, int $signed = 0): object
{ {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
$owner_id = intval($owner_id); $owner_id = intval($owner_id);
@ -384,6 +431,7 @@ final class Wall extends VKAPIRequestHandler
$post->setCreated(time()); $post->setCreated(time());
$post->setContent($message); $post->setContent($message);
$post->setFlags($flags); $post->setFlags($flags);
$post->setApi_Source_Name($this->getPlatform());
$post->save(); $post->save();
} catch(\LogicException $ex) { } catch(\LogicException $ex) {
$this->fail(100, "One of the parameters specified was missing or invalid"); $this->fail(100, "One of the parameters specified was missing or invalid");
@ -403,6 +451,7 @@ final class Wall extends VKAPIRequestHandler
function repost(string $object, string $message = "") { function repost(string $object, string $message = "") {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
$postArray; $postArray;
if(preg_match('/wall((?:-?)[0-9]+)_([0-9]+)/', $object, $postArray) == 0) if(preg_match('/wall((?:-?)[0-9]+)_([0-9]+)/', $object, $postArray) == 0)
@ -415,6 +464,7 @@ final class Wall extends VKAPIRequestHandler
$nPost->setOwner($this->user->getId()); $nPost->setOwner($this->user->getId());
$nPost->setWall($this->user->getId()); $nPost->setWall($this->user->getId());
$nPost->setContent($message); $nPost->setContent($message);
$nPost->setApi_Source_Name($this->getPlatform());
$nPost->save(); $nPost->save();
$nPost->attach($post); $nPost->attach($post);
@ -446,6 +496,14 @@ final class Wall extends VKAPIRequestHandler
if($owner instanceof Club) if($owner instanceof Club)
$oid *= -1; $oid *= -1;
$attachments = [];
foreach($comment->getChildren() as $attachment) {
if($attachment instanceof \openvk\Web\Models\Entities\Photo) {
$attachments[] = $this->getApiPhoto($attachment);
}
}
$item = [ $item = [
"id" => $comment->getId(), "id" => $comment->getId(),
"from_id" => $oid, "from_id" => $oid,
@ -454,6 +512,7 @@ final class Wall extends VKAPIRequestHandler
"post_id" => $post->getVirtualId(), "post_id" => $post->getVirtualId(),
"owner_id" => $post->isPostedOnBehalfOfGroup() ? $post->getOwner()->getId() * -1 : $post->getOwner()->getId(), "owner_id" => $post->isPostedOnBehalfOfGroup() ? $post->getOwner()->getId() * -1 : $post->getOwner()->getId(),
"parents_stack" => [], "parents_stack" => [],
"attachments" => $attachments,
"thread" => [ "thread" => [
"count" => 0, "count" => 0,
"items" => [], "items" => [],
@ -474,6 +533,9 @@ final class Wall extends VKAPIRequestHandler
$items[] = $item; $items[] = $item;
if($extended == true) if($extended == true)
$profiles[] = $comment->getOwner()->getId(); $profiles[] = $comment->getOwner()->getId();
$attachments = null;
// Reset $attachments to not duplicate prikols
} }
$response = [ $response = [
@ -500,6 +562,14 @@ final class Wall extends VKAPIRequestHandler
$profiles = []; $profiles = [];
$attachments = [];
foreach($comment->getChildren() as $attachment) {
if($attachment instanceof \openvk\Web\Models\Entities\Photo) {
$attachments[] = $this->getApiPhoto($attachment);
}
}
$item = [ $item = [
"id" => $comment->getId(), "id" => $comment->getId(),
"from_id" => $comment->getOwner()->getId(), "from_id" => $comment->getOwner()->getId(),
@ -508,6 +578,7 @@ final class Wall extends VKAPIRequestHandler
"post_id" => $comment->getTarget()->getVirtualId(), "post_id" => $comment->getTarget()->getVirtualId(),
"owner_id" => $comment->getTarget()->isPostedOnBehalfOfGroup() ? $comment->getTarget()->getOwner()->getId() * -1 : $comment->getTarget()->getOwner()->getId(), "owner_id" => $comment->getTarget()->isPostedOnBehalfOfGroup() ? $comment->getTarget()->getOwner()->getId() * -1 : $comment->getTarget()->getOwner()->getId(),
"parents_stack" => [], "parents_stack" => [],
"attachments" => $attachments,
"likes" => [ "likes" => [
"can_like" => 1, "can_like" => 1,
"count" => $comment->getLikesCount(), "count" => $comment->getLikesCount(),
@ -538,10 +609,15 @@ final class Wall extends VKAPIRequestHandler
$response['profiles'] = (!empty($profiles) ? (new Users)->get(implode(',', $profiles), $fields) : []); $response['profiles'] = (!empty($profiles) ? (new Users)->get(implode(',', $profiles), $fields) : []);
} }
return $response; return $response;
} }
function createComment(int $owner_id, int $post_id, string $message, int $from_group = 0) { function createComment(int $owner_id, int $post_id, string $message, int $from_group = 0) {
$this->requireUser();
$this->willExecuteWriteAction();
$post = (new PostsRepo)->getPostById($owner_id, $post_id); $post = (new PostsRepo)->getPostById($owner_id, $post_id);
if(!$post || $post->isDeleted()) $this->fail(100, "One of the parameters specified was missing or invalid"); if(!$post || $post->isDeleted()) $this->fail(100, "One of the parameters specified was missing or invalid");
@ -577,6 +653,7 @@ final class Wall extends VKAPIRequestHandler
function deleteComment(int $comment_id) { function deleteComment(int $comment_id) {
$this->requireUser(); $this->requireUser();
$this->willExecuteWriteAction();
$comment = (new CommentsRepo)->get($comment_id); $comment = (new CommentsRepo)->get($comment_id);
if(!$comment) $this->fail(100, "One of the parameters specified was missing or invalid");; if(!$comment) $this->fail(100, "One of the parameters specified was missing or invalid");;
@ -596,7 +673,7 @@ final class Wall extends VKAPIRequestHandler
"date" => $attachment->getPublicationTime()->timestamp(), "date" => $attachment->getPublicationTime()->timestamp(),
"id" => $attachment->getVirtualId(), "id" => $attachment->getVirtualId(),
"owner_id" => $attachment->getOwner()->getId(), "owner_id" => $attachment->getOwner()->getId(),
"sizes" => array_values($attachment->getVkApiSizes()), "sizes" => !is_null($attachment->getVkApiSizes()) ? array_values($attachment->getVkApiSizes()) : NULL,
"text" => "", "text" => "",
"has_tags" => false "has_tags" => false
] ]

View file

@ -23,6 +23,11 @@ class APIToken extends RowModel
return $this->getId() . "-" . chunk_split($this->getSecret(), 8, "-") . "jill"; return $this->getId() . "-" . chunk_split($this->getSecret(), 8, "-") . "jill";
} }
function getPlatform(): ?string
{
return $this->getRecord()->platform;
}
function isRevoked(): bool function isRevoked(): bool
{ {
return $this->isDeleted(); return $this->isDeleted();

View file

@ -30,7 +30,7 @@ class Photo extends Media
$px = (int) $props[0]; $px = (int) $props[0];
$py = (int) $props[1]; $py = (int) $props[1];
if(($image->getImageWidth() / $image->getImageHeight()) > ($px / $py)) { if(($image->getImageWidth() / $image->getImageHeight()) > ($px / $py)) {
$height = ceil(($px * $image->getImageWidth()) / $py); $height = (int) ceil(($px * $image->getImageWidth()) / $py);
$image->cropImage($image->getImageWidth(), $height, 0, 0); $image->cropImage($image->getImageWidth(), $height, 0, 0);
$res[0] = true; $res[0] = true;
} }
@ -156,7 +156,7 @@ class Photo extends Media
foreach($sizes as $id => $meta) { foreach($sizes as $id => $meta) {
if(isset($meta[3]) && !$meta[3]) { if(isset($meta[3]) && !$meta[3]) {
$res[$id] = (object) [ $res[$id] = (object) [
"url" => "/photos/thumbnails/" . $this->getId() . "_$id.jpeg", "url" => ovk_scheme(true) . $_SERVER["HTTP_HOST"] . "/photos/thumbnails/" . $this->getId() . "_$id.jpeg",
"width" => NULL, "width" => NULL,
"height" => NULL, "height" => NULL,
"crop" => NULL "crop" => NULL
@ -283,6 +283,14 @@ class Photo extends Media
return [$x, $y]; return [$x, $y];
} }
function getPageURL(): string
{
if($this->isAnonymous())
return "/photos/" . base_convert((string) $this->getId(), 10, 32);
return "/photo" . $this->getPrettyId();
}
function getAlbum(): ?Album function getAlbum(): ?Album
{ {
return (new Albums)->getAlbumByPhotoId($this); return (new Albums)->getAlbumByPhotoId($this);

View file

@ -114,6 +114,63 @@ class Post extends Postable
return $this->getOwner(false)->getId(); return $this->getOwner(false)->getId();
} }
function getPlatform(bool $forAPI = false): ?string
{
$platform = $this->getRecord()->api_source_name;
if($forAPI) {
switch ($platform) {
case 'openvk_refresh_android':
case 'openvk_legacy_android':
return 'android';
break;
case 'openvk_ios':
case 'openvk_legacy_ios':
return 'iphone';
break;
case 'vika_touch': // кика хохотач ахахахаххахахахахах
case 'vk4me':
return 'mobile';
break;
case NULL:
return NULL;
break;
default:
return 'api';
break;
}
} else {
return $platform;
}
}
function getPlatformDetails(): array
{
$clients = simplexml_load_file(OPENVK_ROOT . "/data/clients.xml");
foreach($clients as $client) {
if($client['tag'] == $this->getPlatform()) {
return [
"tag" => $client['tag'],
"name" => $client['name'],
"url" => $client['url'],
"img" => $client['img']
];
break;
}
}
return [
"tag" => $this->getPlatform(),
"name" => NULL,
"url" => NULL,
"img" => NULL
];
}
function pin(): void function pin(): void
{ {
DB::i() DB::i()

View file

@ -36,9 +36,9 @@ trait TRichText
"%(([A-z]++):\/\/(\S*?\.\S*?))([\s)\[\]{},\"\'<]|\.\s|$)%", "%(([A-z]++):\/\/(\S*?\.\S*?))([\s)\[\]{},\"\'<]|\.\s|$)%",
(function (array $matches): string { (function (array $matches): string {
$href = str_replace("#", "&num;", $matches[1]); $href = str_replace("#", "&num;", $matches[1]);
$href = rawurlencode(str_replace(";", "&#59;", $matches[1])); $href = rawurlencode(str_replace(";", "&#59;", $href));
$link = str_replace("#", "&num;", $matches[3]); $link = str_replace("#", "&num;", $matches[3]);
$link = str_replace(";", "&#59;", $matches[3]); $link = str_replace(";", "&#59;", $link);
$rel = $this->isAd() ? "sponsored" : "ugc"; $rel = $this->isAd() ? "sponsored" : "ugc";
return "<a href='/away.php?to=$href' rel='$rel' target='_blank'>$link</a>" . htmlentities($matches[4]); return "<a href='/away.php?to=$href' rel='$rel' target='_blank'>$link</a>" . htmlentities($matches[4]);
@ -49,7 +49,7 @@ trait TRichText
private function removeZalgo(string $text): string private function removeZalgo(string $text): string
{ {
return preg_replace("%[\x{0300}-\x{036F}]{3,}%Xu", "<EFBFBD>", $text); return preg_replace("%\p{M}{3,}%Xu", "", $text);
} }
function resolveMentions(array $skipUsers = []): \Traversable function resolveMentions(array $skipUsers = []): \Traversable

View file

@ -751,6 +751,63 @@ class User extends RowModel
return time() - $this->getRecord()->online <= 300; return time() - $this->getRecord()->online <= 300;
} }
function getOnlinePlatform(bool $forAPI = false): ?string
{
$platform = $this->getRecord()->client_name;
if($forAPI) {
switch ($platform) {
case 'openvk_refresh_android':
case 'openvk_legacy_android':
return 'android';
break;
case 'openvk_ios':
case 'openvk_legacy_ios':
return 'iphone';
break;
case 'vika_touch': // кика хохотач ахахахаххахахахахах
case 'vk4me':
return 'mobile';
break;
case NULL:
return NULL;
break;
default:
return 'api';
break;
}
} else {
return $platform;
}
}
function getOnlinePlatformDetails(): array
{
$clients = simplexml_load_file(OPENVK_ROOT . "/data/clients.xml");
foreach($clients as $client) {
if($client['tag'] == $this->getOnlinePlatform()) {
return [
"tag" => $client['tag'],
"name" => $client['name'],
"url" => $client['url'],
"img" => $client['img']
];
break;
}
}
return [
"tag" => $this->getOnlinePlatform(),
"name" => NULL,
"url" => NULL,
"img" => NULL
];
}
function prefersNotToSeeRating(): bool function prefersNotToSeeRating(): bool
{ {
return !((bool) $this->getRecord()->show_rating); return !((bool) $this->getRecord()->show_rating);
@ -952,6 +1009,15 @@ class User extends RowModel
return true; return true;
} }
function updOnline(string $platform): bool
{
$this->setOnline(time());
$this->setClient_name($platform);
$this->save();
return true;
}
function changeEmail(string $email): void function changeEmail(string $email): void
{ {
DatabaseConnection::i()->getContext()->table("ChandlerUsers") DatabaseConnection::i()->getContext()->table("ChandlerUsers")

View file

@ -13,7 +13,7 @@ class Video extends Media
const TYPE_EMBED = 1; const TYPE_EMBED = 1;
protected $tableName = "videos"; protected $tableName = "videos";
protected $fileExtension = "ogv"; protected $fileExtension = "mp4";
protected $processingPlaceholder = "video/rendering"; protected $processingPlaceholder = "video/rendering";
@ -30,7 +30,7 @@ class Video extends Media
throw new \DomainException("$filename does not contain any video streams"); throw new \DomainException("$filename does not contain any video streams");
$durations = []; $durations = [];
preg_match('%duration=([0-9\.]++)%', $streams, $durations); preg_match_all('%duration=([0-9\.]++)%', $streams, $durations);
if(sizeof($durations[1]) === 0) if(sizeof($durations[1]) === 0)
throw new \DomainException("$filename does not contain any meaningful video streams"); throw new \DomainException("$filename does not contain any meaningful video streams");
@ -104,7 +104,7 @@ class Video extends Media
if(!$this->isProcessed()) if(!$this->isProcessed())
return "/assets/packages/static/openvk/video/rendering.apng"; return "/assets/packages/static/openvk/video/rendering.apng";
return preg_replace("%\.[A-z]++$%", ".gif", $this->getURL()); return preg_replace("%\.[A-z0-9]++$%", ".gif", $this->getURL());
} else { } else {
return $this->getVideoDriver()->getThumbnailURL(); return $this->getVideoDriver()->getThumbnailURL();
} }
@ -115,6 +115,56 @@ class Video extends Media
return $this->getRecord()->owner; return $this->getRecord()->owner;
} }
function getApiStructure(): object
{
return (object)[
"type" => "video",
"video" => [
"can_comment" => 1,
"can_like" => 0, // we don't h-have wikes in videos
"can_repost" => 0,
"can_subscribe" => 1,
"can_add_to_faves" => 0,
"can_add" => 0,
"comments" => $this->getCommentsCount(),
"date" => $this->getPublicationTime()->timestamp(),
"description" => $this->getDescription(),
"duration" => 0, // я хуй знает как получить длину видео
"image" => [
[
"url" => $this->getThumbnailURL(),
"width" => 320,
"height" => 240,
"with_padding" => 1
]
],
"width" => 640,
"height" => 480,
"id" => $this->getVirtualId(),
"owner_id" => $this->getOwner()->getId(),
"user_id" => $this->getOwner()->getId(),
"title" => $this->getName(),
"is_favorite" => false,
"player" => $this->getURL(),
"files" => [
"mp4_480" => $this->getURL()
],
"added" => 0,
"repeat" => 0,
"type" => "video",
"views" => 0,
"likes" => [
"count" => 0,
"user_likes" => 0
],
"reposts" => [
"count" => 0,
"user_reposted" => 0
]
]
];
}
function setLink(string $link): string function setLink(string $link): string
{ {
if(preg_match(file_get_contents(__DIR__ . "/../VideoDrivers/regex/youtube.txt"), $link, $matches)) { if(preg_match(file_get_contents(__DIR__ . "/../VideoDrivers/regex/youtube.txt"), $link, $matches)) {

View file

@ -14,5 +14,5 @@ abstract class VideoDriver
abstract function getURL(): string; abstract function getURL(): string;
abstract function getEmbed(): string; abstract function getEmbed(string $w = "600", string $h = "340"): string;
} }

View file

@ -13,12 +13,12 @@ final class YouTubeVideoDriver extends VideoDriver
return "https://youtu.be/$this->id"; return "https://youtu.be/$this->id";
} }
function getEmbed(): string function getEmbed(string $w = "600", string $h = "340"): string
{ {
return <<<CODE return <<<CODE
<iframe <iframe
width="600" width="$w"
height="340" height="$h"
src="https://www.youtube-nocookie.com/embed/$this->id" src="https://www.youtube-nocookie.com/embed/$this->id"
frameborder="0" frameborder="0"
sandbox="allow-same-origin allow-scripts allow-popups" sandbox="allow-same-origin allow-scripts allow-popups"

View file

@ -13,8 +13,8 @@ Move-Item $file $temp
# video stub logic was implicitly deprecated, so we start processing at once # video stub logic was implicitly deprecated, so we start processing at once
ffmpeg -i $temp -ss 00:00:01.000 -vframes 1 "$dir$hashT/$hash.gif" ffmpeg -i $temp -ss 00:00:01.000 -vframes 1 "$dir$hashT/$hash.gif"
ffmpeg -i $temp -c:v libtheora -q:v 7 -c:a libvorbis -q:a 4 -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2,setsar=1" -y $temp2 ffmpeg -i $temp -c:v libx264 -q:v 7 -c:a libmp3lame -q:a 4 -tune zerolatency -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2,setsar=1" -y $temp2
Move-Item $temp2 "$dir$hashT/$hash.ogv" Move-Item $temp2 "$dir$hashT/$hash.mp4"
Remove-Item $temp Remove-Item $temp
Remove-Item $temp2 Remove-Item $temp2

View file

@ -1,14 +1,12 @@
tmpfile="$RANDOM-$(date +%s%N)" tmpfile="$RANDOM-$(date +%s%N)"
cp $2 "/tmp/vid_$tmpfile.bin" cp $2 "/tmp/vid_$tmpfile.bin"
cp ../files/video/rendering.apng $3${4:0:2}/$4.gif
cp ../files/video/rendering.ogv $3/${4:0:2}/$4.ogv
nice ffmpeg -i "/tmp/vid_$tmpfile.bin" -ss 00:00:01.000 -vframes 1 $3${4:0:2}/$4.gif nice ffmpeg -i "/tmp/vid_$tmpfile.bin" -ss 00:00:01.000 -vframes 1 $3${4:0:2}/$4.gif
nice -n 20 ffmpeg -i "/tmp/vid_$tmpfile.bin" -c:v libtheora -q:v 7 -c:a libvorbis -q:a 4 -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2,setsar=1" -y "/tmp/ffmOi$tmpfile.ogv" nice -n 20 ffmpeg -i "/tmp/vid_$tmpfile.bin" -c:v libx264 -q:v 7 -c:a libmp3lame -q:a 4 -tune zerolatency -vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2,setsar=1" -y "/tmp/ffmOi$tmpfile.mp4"
rm -rf $3${4:0:2}/$4.ogv rm -rf $3${4:0:2}/$4.mp4
mv "/tmp/ffmOi$tmpfile.ogv" $3${4:0:2}/$4.ogv mv "/tmp/ffmOi$tmpfile.mp4" $3${4:0:2}/$4.mp4
rm -f "/tmp/ffmOi$tmpfile.ogv" rm -f "/tmp/ffmOi$tmpfile.mp4"
rm -f "/tmp/vid_$tmpfile.bin" rm -f "/tmp/vid_$tmpfile.bin"

View file

@ -38,6 +38,9 @@ final class AboutPresenter extends OpenVKPresenter
function renderBB(): void function renderBB(): void
{} {}
function renderTour(): void
{}
function renderInvite(): void function renderInvite(): void
{ {
$this->assertUserLoggedIn(); $this->assertUserLoggedIn();

View file

@ -58,6 +58,11 @@ final class MessengerPresenter extends OpenVKPresenter
if(!$correspondent) if(!$correspondent)
$this->notFound(); $this->notFound();
if(!$this->user->identity->getPrivacyPermission('messages.write', $correspondent))
{
$this->flash("err", tr("warning"), tr("user_may_not_reply"));
}
$this->template->selId = $sel; $this->template->selId = $sel;
$this->template->correspondent = $correspondent; $this->template->correspondent = $correspondent;
} }

View file

@ -254,6 +254,7 @@ abstract class OpenVKPresenter extends SimplePresenter
$cacheTime = 0; # Force no cache $cacheTime = 0; # Force no cache
if($this->user->identity->onlineStatus() == 0 && !($this->user->identity->isDeleted() || $this->user->identity->isBanned())) { if($this->user->identity->onlineStatus() == 0 && !($this->user->identity->isDeleted() || $this->user->identity->isBanned())) {
$this->user->identity->setOnline(time()); $this->user->identity->setOnline(time());
$this->user->identity->setClient_name(NULL);
$this->user->identity->save(); $this->user->identity->save();
} }

View file

@ -195,19 +195,24 @@ final class VKAPIPresenter extends OpenVKPresenter
$identity = NULL; $identity = NULL;
} else { } else {
$token = (new APITokens)->getByCode($this->requestParam("access_token")); $token = (new APITokens)->getByCode($this->requestParam("access_token"));
if(!$token) if(!$token) {
$identity = NULL; $identity = NULL;
else } else {
$identity = $token->getUser(); $identity = $token->getUser();
$platform = $token->getPlatform();
}
} }
} }
if(!is_null($identity) && $identity->isBanned())
$this->fail(18, "User account is deactivated", $object, $method);
$object = ucfirst(strtolower($object)); $object = ucfirst(strtolower($object));
$handlerClass = "openvk\\VKAPI\\Handlers\\$object"; $handlerClass = "openvk\\VKAPI\\Handlers\\$object";
if(!class_exists($handlerClass)) if(!class_exists($handlerClass))
$this->badMethod($object, $method); $this->badMethod($object, $method);
$handler = new $handlerClass($identity); $handler = new $handlerClass($identity, $platform);
if(!is_callable([$handler, $method])) if(!is_callable([$handler, $method]))
$this->badMethod($object, $method); $this->badMethod($object, $method);
@ -274,8 +279,11 @@ final class VKAPIPresenter extends OpenVKPresenter
$this->fail(28, "Invalid 2FA code", "internal", "acquireToken"); $this->fail(28, "Invalid 2FA code", "internal", "acquireToken");
} }
$platform = $this->requestParam("client_name");
$token = new APIToken; $token = new APIToken;
$token->setUser($user); $token->setUser($user);
$token->setPlatform(is_null($platform) ? "api" : $platform);
$token->save(); $token->save();
$payload = json_encode([ $payload = json_encode([

View file

@ -169,7 +169,7 @@
</a> </a>
<div class="floating_sidebar"> <div class="floating_sidebar">
<a class="minilink" href="/friends{$thisUser->getId()}"> <a id="minilink-friends" class="minilink" href="/friends{$thisUser->getId()}">
<object type="internal/link" n:if="$thisUser->getFollowersCount() > 0"> <object type="internal/link" n:if="$thisUser->getFollowersCount() > 0">
<div class="counter"> <div class="counter">
+{$thisUser->getFollowersCount()} +{$thisUser->getFollowersCount()}
@ -177,10 +177,10 @@
</object> </object>
<img src="/assets/packages/static/openvk/img/friends.svg"> <img src="/assets/packages/static/openvk/img/friends.svg">
</a> </a>
<a class="minilink" href="/albums{$thisUser->getId()}"> <a id="minilink-albums" class="minilink" href="/albums{$thisUser->getId()}">
<img src="/assets/packages/static/openvk/img/photos.svg"> <img src="/assets/packages/static/openvk/img/photos.svg">
</a> </a>
<a class="minilink" href="/im"> <a id="minilink-messenger" class="minilink" href="/im">
<object type="internal/link" n:if="$thisUser->getUnreadMessagesCount() > 0"> <object type="internal/link" n:if="$thisUser->getUnreadMessagesCount() > 0">
<div class="counter"> <div class="counter">
+{$thisUser->getUnreadMessagesCount()} +{$thisUser->getUnreadMessagesCount()}
@ -188,10 +188,10 @@
</object> </object>
<img src="/assets/packages/static/openvk/img/messages.svg"> <img src="/assets/packages/static/openvk/img/messages.svg">
</a> </a>
<a class="minilink" href="/groups{$thisUser->getId()}"> <a id="minilink-groups" class="minilink" href="/groups{$thisUser->getId()}">
<img src="/assets/packages/static/openvk/img/groups.svg"> <img src="/assets/packages/static/openvk/img/groups.svg">
</a> </a>
<a class="minilink" href="/notifications"> <a id="minilink-notifications" class="minilink" href="/notifications">
<object type="internal/link" n:if="$thisUser->getNotificationsCount() > 0"> <object type="internal/link" n:if="$thisUser->getNotificationsCount() > 0">
<div class="counter"> <div class="counter">
+{$thisUser->getNotificationsCount()} +{$thisUser->getNotificationsCount()}
@ -294,6 +294,7 @@
{script "js/messagebox.js"} {script "js/messagebox.js"}
{script "js/notifications.js"} {script "js/notifications.js"}
{script "js/scroll.js"} {script "js/scroll.js"}
{script "js/player.js"}
{script "js/al_wall.js"} {script "js/al_wall.js"}
{script "js/al_api.js"} {script "js/al_api.js"}
{script "js/al_mentions.js"} {script "js/al_mentions.js"}
@ -310,6 +311,8 @@
</script> </script>
{/if} {/if}
<script>bsdnHydrate();</script>
<script n:if="OPENVK_ROOT_CONF['openvk']['telemetry']['plausible']['enable']" async defer data-domain="{php echo OPENVK_ROOT_CONF['openvk']['telemetry']['plausible']['domain']}" src="{php echo OPENVK_ROOT_CONF['openvk']['telemetry']['plausible']['server']}js/plausible.js"></script> <script n:if="OPENVK_ROOT_CONF['openvk']['telemetry']['plausible']['enable']" async defer data-domain="{php echo OPENVK_ROOT_CONF['openvk']['telemetry']['plausible']['domain']}" src="{php echo OPENVK_ROOT_CONF['openvk']['telemetry']['plausible']['server']}js/plausible.js"></script>
<script n:if="OPENVK_ROOT_CONF['openvk']['telemetry']['piwik']['enable']"> <script n:if="OPENVK_ROOT_CONF['openvk']['telemetry']['piwik']['enable']">

View file

@ -7,6 +7,9 @@
{block content} {block content}
{presenter "openvk!Support->knowledgeBaseArticle", "about"} {presenter "openvk!Support->knowledgeBaseArticle", "about"}
<a href="/tour"><div class="tour" onmouseover="this.style.backgroundColor='#FCFBF5'" onmouseout="this.style.backgroundColor='#F9F6E7'" style="background-color: rgb(249, 246, 231);"><b>{_tour_title}</b><div>{_tour_promo}</div></div></a><br>
<center> <center>
<a class="button" style="margin-right: 5px;cursor: pointer;" href="/login">{_log_in}</a> <a class="button" style="margin-right: 5px;cursor: pointer;" href="/login">{_log_in}</a>
<a class="button" style="cursor: pointer;" href="/reg">{_registration}</a> <a class="button" style="cursor: pointer;" href="/reg">{_registration}</a>

View file

@ -0,0 +1,515 @@
{extends "../@layout.xml"}
{block title}{_tour_title}{/block}
{block header}
{_tour_title}
{/block}
{block content}
{css "css/tour.css"}
<div id="tour">
<div class="rightNav">
<h1>{_tour_title}</h1>
<div class="rightLinks">
<div class="tab">
<button class="tablinks" onclick="eurotour(event, 'start')" id="defaultOpen"><div class="tabicon"><img src="assets/packages/static/openvk/img/icons/1.svg" width="16" height="16"></div>{_tour_section_1|noescape}</button>
<button class="tablinks" onclick="eurotour(event, 'profile')"><div class="tabicon"><img src="assets/packages/static/openvk/img/icons/2.svg" width="16" height="16"></div>{_tour_section_2|noescape}</button>
<button class="tablinks" onclick="eurotour(event, 'photos')"><div class="tabicon"><img src="assets/packages/static/openvk/img/icons/3.svg" width="16" height="16"></div>{_tour_section_3|noescape}</button>
<button class="tablinks" onclick="eurotour(event, 'search')"><div class="tabicon"><img src="assets/packages/static/openvk/img/icons/4.svg" width="16" height="16"></div>{_tour_section_4|noescape}</button>
<button class="tablinks" onclick="eurotour(event, 'videos')"><div class="tabicon"><img src="assets/packages/static/openvk/img/icons/5.svg" width="16" height="16"></div>{_tour_section_5|noescape}</button>
<button class="tablinks" onclick="eurotour(event, 'audios')"><div class="tabicon"><img src="assets/packages/static/openvk/img/icons/6.svg" width="16" height="16"></div>{_tour_section_6|noescape}</button>
<button class="tablinks" onclick="eurotour(event, 'news')"><div class="tabicon"><img src="assets/packages/static/openvk/img/icons/7.svg" width="16" height="16"></div>{_tour_section_7|noescape}</button>
<button class="tablinks" onclick="eurotour(event, 'news_global')"><div class="tabicon"><img src="assets/packages/static/openvk/img/icons/8.svg" width="16" height="16"></div>{_tour_section_8|noescape}</button>
<button class="tablinks" onclick="eurotour(event, 'groups')"><div class="tabicon"><img src="assets/packages/static/openvk/img/icons/9.svg" width="16" height="16"></div>{_tour_section_9|noescape}</button>
<button class="tablinks" onclick="eurotour(event, 'events')"><div class="tabicon"><img src="assets/packages/static/openvk/img/icons/10.svg" width="16" height="16"></div>{_tour_section_10|noescape}</button>
<button class="tablinks" onclick="eurotour(event, 'themes')"><div class="tabicon"><img src="assets/packages/static/openvk/img/icons/11.svg" width="16" height="16"></div>{_tour_section_11|noescape}</button>
<button class="tablinks" onclick="eurotour(event, 'customization')"><div class="tabicon"><img src="assets/packages/static/openvk/img/icons/12.svg" width="16" height="16"></div>{_tour_section_12|noescape}</button>
<button class="tablinks" onclick="eurotour(event, 'vouchers')"><div class="tabicon"><img src="assets/packages/static/openvk/img/icons/13.svg" width="16" height="16"></div>{_tour_section_13|noescape}</button>
<button class="tablinks" onclick="eurotour(event, 'mobile')"><div class="tabicon"><img src="assets/packages/static/openvk/img/icons/14.svg" width="16" height="16"></div>{_tour_section_14|noescape}</button>
</div>
</div>
<div class="rightNav" n:if="!isset($thisUser)">
<h1>{_reg_title|noescape}</h1>
<div class="rightLinks">
<div>{_reg_text|noescape}</div>
</div>
<h1>{_ifnotlike_title|noescape}</h1>
<div class="rightLinks">
<div>{_ifnotlike_text|noescape}</div>
</div>
</div>
</div>
<div id="start" class="tabcontent">
<h2>{_tour_section_1_title_1|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_1_text_1|noescape}</span></li>
<li><span>{_tour_section_1_text_2|noescape}</span></li>
<li><span>{_tour_section_1_text_3|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/reg.png" width="440">
<p class="big">{_tour_section_1_bottom_text_1|noescape}</p>
<div style="margin-top:10px; padding-left:175px">
</div>
<br>
</div>
<div id="profile" class="tabcontent">
<h2>{_tour_section_2_title_1|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_2_text_1_1|noescape}</span></li>
<li><span>{_tour_section_2_text_1_2|noescape}</span></li>
<li><span>{_tour_section_2_text_1_3|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/profile.png" width="440">
<p class="big">{_tour_section_2_bottom_text_1|noescape}</p>
<h2>{_tour_section_2_title_2|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_2_text_2_1|noescape}</span></li>
<li><span>{_tour_section_2_text_2_2|noescape}</span></li>
<li><span>{_tour_section_2_text_2_3|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/privacy.png" width="440">
<h2>{_tour_section_2_title_3|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_2_text_3_1|noescape}</span></li>
<li><span>{_tour_section_2_text_3_2|noescape}</span></li>
</ul>
<center><img src="assets/packages/static/openvk/img/tour/adres_ff.jpg"></center>
<ul class="listing">
<li><span>{_tour_section_2_text_3_3|noescape}</span></li>
<li><span>{_tour_section_2_text_3_4|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/adres3.png" width="440">
<center><img src="assets/packages/static/openvk/img/tour/adres_ff_tohru.jpg"></center>
<br>
<i><p class="big">{_tour_section_2_bottom_text_2|noescape}</p></p></i>
<h2>{_tour_section_2_title_4|noescape}</h2>
<img src="assets/packages/static/openvk/img/tour/wall.png" width="440">
<br>
</div>
<div id="photos" class="tabcontent">
<h2>{_tour_section_3_title_1|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_3_text_1|noescape}</span></li>
<li><span>{_tour_section_3_text_2|noescape}</span></li>
<li><span>{_tour_section_3_text_3|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/photos.png" width="440">
<img src="assets/packages/static/openvk/img/tour/photos2.png" width="440">
<p class="big">{_tour_section_3_bottom_text_1|noescape}</p>
<br>
</div>
<div id="search" class="tabcontent">
<h2>{_tour_section_4_title_1|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_4_text_1|noescape}</span></li>
<li><span>{_tour_section_4_text_2|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/search.png" width="440">
<ul class="listing">
<li><span>{_tour_section_4_text_3|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/search2.png" width="440">
<h2>{_tour_section_4_title_2|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_4_text_4|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/search_h.png" width="440">
<br>
</div>
<div id="videos" class="tabcontent">
<h2>{_tour_section_5_title_1|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_5_text_1|noescape}</span></li>
<li><span>{_tour_section_5_text_2|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/videos.png" width="440">
<p class="big">{_tour_section_5_bottom_text_1|noescape}</p>
<img src="assets/packages/static/openvk/img/tour/videos_a.png" width="440">
<h2>{_tour_section_5_title_2|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_5_text_3|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/videos_y.png" width="440">
<img src="assets/packages/static/openvk/img/tour/videos_w.png" width="440">
<br>
</div>
<div id="audios" class="tabcontent">
<h2>{_tour_section_6_title_1|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_6_text_1|noescape}</span></li>
</ul>
<br>
</div>
<div id="news" class="tabcontent">
<h2>{_tour_section_7_title_1|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_7_text_1|noescape}</span></li>
<li><span>{_tour_section_7_text_2|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/local_news.png" width="440">
<p class="big">{_tour_section_7_bottom_text_1|noescape}</p>
<br>
</div>
<div id="news_global" class="tabcontent">
<h2>{_tour_section_8_title_1|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_8_text_1|noescape}</span></li>
<li><span>{_tour_section_8_text_2|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/news_global.png" width="440">
<p class="big">{_tour_section_8_bottom_text_1|noescape}</p>
<img src="assets/packages/static/openvk/img/tour/poll.png" width="440">
<p class="big">{_tour_section_8_bottom_text_2|noescape}</p>
<br>
</div>
<div id="groups" class="tabcontent">
<h2>{_tour_section_9_title_1|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_9_text_1|noescape}</span></li>
<li><span>{_tour_section_9_text_2|noescape}</span></li>
<li><span>{_tour_section_9_text_3|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/groups.png" width="440">
<p class="big">{_tour_section_9_bottom_text_1|noescape}</p>
<img src="assets/packages/static/openvk/img/tour/groups_view.png" width="440">
<p class="big">{_tour_section_9_bottom_text_2|noescape}</p>
<h2>{_tour_section_9_title_2|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_9_text_2_1|noescape}</span></li>
<li><span>{_tour_section_9_text_2_2|noescape}</span></li>
<li><span>{_tour_section_9_text_2_3|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/groups_admin.png" width="440">
<p class="big">{_tour_section_9_bottom_text_3|noescape}</p>
<br>
</div>
<div id="events" class="tabcontent">
<h2>{_tour_section_10_title_1|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_10_text_1|noescape}</span></li>
</ul>
<br>
</div>
<div id="themes" class="tabcontent">
<h2>{_tour_section_11_title_1|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_11_text_1|noescape}</span></li>
<li><span>{_tour_section_11_text_2|noescape}</span></li>
<li><span>{_tour_section_11_text_3|noescape}</span></li>
</ul>
<center><img src="assets/packages/static/openvk/img/tour/theme_picker.png"></center>
<p class="big">{_tour_section_11_bottom_text_1|noescape}</p><br>
<img src="assets/packages/static/openvk/img/tour/theme3.png" width="460">
<table cellspacing="5" border="0">
<tbody>
<tr>
<td><img src="assets/packages/static/openvk/img/tour/theme1.png" style="float:left;" width="220"></td>
<td><img src="assets/packages/static/openvk/img/tour/theme2.png" style="float:right;" width="220"></td>
</tr>
</tbody>
</table>
<br>
<center>{_tour_section_11_wordart|noescape}</center>
<br>
</div>
<div id="customization" class="tabcontent">
<h2>{_tour_section_12_title_1|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_12_text_1|noescape}</span></li>
<li><span>{_tour_section_12_text_2|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/backdrop.png" width="440">
<p class="big">{_tour_section_12_bottom_text_1|noescape}</p><br>
<ul class="listing">
<li><span>{_tour_section_12_text_3|noescape}</span></li>
</ul>
<br>
<table cellspacing="5" border="0">
<tbody>
<tr>
<td><img src="assets/packages/static/openvk/img/tour/backdrop_ex.png" width="440"></td>
</tr>
<tr>
<td><img src="assets/packages/static/openvk/img/tour/backdrop_ex1.png" width="440"></td>
</tr>
<tr>
<td><img src="assets/packages/static/openvk/img/tour/backdrop_ex2.png" width="440"></td>
</tr>
</tbody>
</table>
<p class="big">{_tour_section_12_bottom_text_2|noescape}</p><br>
<p class="big">{_tour_section_12_bottom_text_3|noescape}</p>
<h2>{_tour_section_12_title_2|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_12_text_2_1|noescape}</span></li>
<li><span>{_tour_section_12_text_2_2|noescape}</span></li>
</ul>
<center><img src="assets/packages/static/openvk/img/tour/avatar_picker.png"></center><br>
<table cellspacing="5" border="0">
<tbody>
<tr>
<td><img src="assets/packages/static/openvk/img/tour/avatars_def.png" style="float:left;" width="220"></td>
<td><img src="assets/packages/static/openvk/img/tour/avatars_round.png" style="float:right;" width="220"></td>
</tr>
</tbody>
</table><br>
<img src="assets/packages/static/openvk/img/tour/avatars_quad.png" width="440">
<h2>{_tour_section_12_title_3|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_12_text_3_1|noescape}</span></li>
<li><span>{_tour_section_12_text_3_2|noescape}</span></li>
</ul>
<table cellspacing="5" border="0">
<tbody>
<tr>
<td><img src="assets/packages/static/openvk/img/tour/leftmenu.png" style="float:left;" width="220"></td>
<td><img src="assets/packages/static/openvk/img/tour/leftmenu2.png" style="float:right;" width="220"></td>
</tr>
</tbody>
</table>
<h2>{_tour_section_12_title_4|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_12_text_4_1|noescape}</span></li>
<li><span>{_tour_section_12_text_4_2|noescape}</span></li>
<li><span>{_tour_section_12_text_4_3|noescape}</span></li>
</ul>
<center><img src="assets/packages/static/openvk/img/tour/wall_pick.png"></center><br>
<table cellspacing="5" border="0">
<tbody>
<tr>
<td><img src="assets/packages/static/openvk/img/tour/wall_old.png" style="float:left;" width="220">
<br> <p class="big"{_tour_section_12_bottom_text_4|noescape}</p></td>
<td><img src="assets/packages/static/openvk/img/tour/wall_new.png" style="float:right;" width="220">
<br><p class="big">{_tour_section_12_bottom_text_5|noescape}</p></td>
</tr>
</tbody>
</table>
<br>
<br>
</div>
<div id="vouchers" class="tabcontent">
<h2>{_tour_section_13_title_1|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_13_text_1|noescape}</span></li>
<li><span>{_tour_section_13_text_2|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/vouchers.png" width="440">
<img src="assets/packages/static/openvk/img/tour/vouchers_type.png" width="440">
<p class="big">{_tour_section_13_bottom_text_1|noescape}</p><br>
<ul class="listing">
<li><span>{_tour_section_13_text_3|noescape}</span></li>
<li><span>{_tour_section_13_text_4|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/vouchers_ok.png" width="440">
<p class="big">{_tour_section_13_bottom_text_2|noescape}</p><br>
<p class="big">{_tour_section_13_bottom_text_3|noescape}</p><br>
<br>
<br>
</div>
<div id="mobile" class="tabcontent">
<h2>{_tour_section_14_title_1|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_14_text_1|noescape}</span></li>
<li><span>{_tour_section_14_text_2|noescape}</span></li>
<li><span>{_tour_section_14_text_3|noescape}</span></li>
</ul>
<table cellspacing="5" border="0">
<tbody>
<tr>
<td><img src="assets/packages/static/openvk/img/tour/app1.png" style="float:left;" width="210"></td>
<td><img src="assets/packages/static/openvk/img/tour/app2.png" style="float:right;" width="210"></td>
</tr>
</tbody>
</table>
<table cellspacing="5" border="0">
<tbody>
<tr>
<td><img src="assets/packages/static/openvk/img/tour/app3.png" width="425"></td>
</tr>
</tbody>
</table>
<p class="big">{_tour_section_14_bottom_text_1|noescape}</p><br>
<h2>{_tour_section_14_title_2|noescape}</h2>
<ul class="listing">
<li><span>{_tour_section_14_text_2_1|noescape}</span></li>
<li><span>{_tour_section_14_text_2_2|noescape}</span></li>
<li><span>{_tour_section_14_text_2_3|noescape}</span></li>
</ul>
<img src="assets/packages/static/openvk/img/tour/app4.jpeg" width="440">
<br>
<p class="big" n:if="!isset($thisUser)">{_tour_section_14_bottom_text_2|noescape}</p><br>
<p class="big" n:if="isset($thisUser)">{_tour_section_14_bottom_text_3|noescape}</p><br>
<div style="margin-top:10px; padding-left:175px" n:if="!isset($thisUser)">
<a class="button" href="/reg">{_tour_reg|noescape}</a>
</div>
<br>
</div>
<!--
.__ .__ __ .__ .___.__ __
| |__ ____ |__|/ |_ ___________ ___.__. |__| __| _/|__|/ |_ ____ ___ __ _____ ____ _____ ____ _____ ______
| | \_/ __ \| \ __\/ __ \_ __ < | | | |/ __ | | \ __\/ __ \ \ \/ / \__ \ / \\__ \ / \\__ \ / ___/
| Y \ ___/| || | \ ___/| | \/\___ | | / /_/ | | || | \ ___/ \ / / __ \| | \/ __ \| | \/ __ \_\___ \
|___| /\___ >__||__| \___ >__| / ____| |__\____ | |__||__| \___ > \_/ (____ /___| (____ /___| (____ /____ >
\/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/
.__ .__ __ __
_____ ___.__. _____| | |__|__ __ _____/ |_ ______ _____ ___ ___/ |_ ___________
/ < | |/ ___/ | | \ \/ // __ \ __\/ ___/ \__ \\ \/ /\ __\/ _ \_ __ \
| Y Y \___ |\___ \| |_| |\ /\ ___/| | \___ \ / __ \\ / | | ( <_> ) | \/
|__|_| / ____/____ >____/__| \_/ \___ >__| /____ > (____ /\_/ |__| \____/|__|
\/\/ \/ \/ \/ \/ -->
{script "js/tour.js"}
{/block}

View file

@ -411,7 +411,7 @@
<tr> <tr>
<td class="e"> <td class="e">
Vladimir Barinov (veselcraft) and Konstantin Kichulkin (kosfurler)<br/> Vladimir Barinov (veselcraft) and Konstantin Kichulkin (kosfurler)<br/>
OpenVK is a free open-source software that "cosplays" (or imitates) older versions of russian website VKontakte. VKontakte belongs to Pavel Durov and VK Group. OpenVK is a free open source software that "cosplays" (or imitates) older versions of a Russian social network called VKontakte. VKontakte belongs to Pavel Durov and VK Group.
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -430,7 +430,7 @@
Native name Native name
</td> </td>
<td> <td>
Author Author(s)
</td> </td>
</tr> </tr>
{foreach $languages as $language} {foreach $languages as $language}

View file

@ -9,21 +9,47 @@
{/block} {/block}
{block content} {block content}
<p> <h4 style="margin-left: 100px; margin-right: 100px;">{_access_recovery}</h4>
{_access_recovery_info_2} <table cellspacing="10" cellpadding="0" border="0" align="center" width="70%">
</p> <tbody>
<tr>
<td>
{_access_recovery_info_2}
</td>
</tr>
</tbody>
</table>
<form method="POST" enctype="multipart/form-data"> <form method="POST" enctype="multipart/form-data">
<label for="password">{_new_password}: </label> <table cellspacing="7" cellpadding="0" width="55%" border="0" align="center">
<input id="password" type="password" name="password" required /> <tbody>
<br/><br/> <tr>
{if $is2faEnabled} <td class="regform-left">
<label for="code">{_"2fa_code_2"}: </label> <span class="nobold">{_new_password}: </span>
<input id="code" type="text" name="code" required /> </td>
<br/><br/> <td class="regform-right">
{/if} <input id="password" type="password" name="password" required />
</td>
<input type="hidden" name="hash" value="{$csrfToken}" /> </tr>
<input type="submit" value="{_reset_password}" class="button" style="float: right;" /> {if $is2faEnabled}
<tr style="text-align: right;">
<td class="regform-left">
<span class="nobold">{_"2fa_code_2"}: </span>
</td>
<td class="regform-right">
<input id="password" type="password" name="password" required />
</td>
</tr>
{/if}
<tr>
<td>
</td>
</tr>
</tbody>
</table>
<center>
<input type="hidden" name="hash" value="{$csrfToken}" />
<input type="submit" value="{_reset_password}" class="button" />
</center>
</form> </form>
{/block} {/block}

View file

@ -7,35 +7,36 @@
{block content} {block content}
<form method="POST" enctype="multipart/form-data"> <form method="POST" enctype="multipart/form-data">
<table cellspacing="7" cellpadding="0" width="40%" border="0" align="center"> <h4 style="margin-left: 100px; margin-right: 100px;">{_log_in}</h4>
<table cellspacing="7" cellpadding="0" width="46%" border="0" align="center">
<tbody> <tbody>
<tr> <tr style="text-align: right;">
<td> <td>
<span>{_email}: </span> <span class="nobold">{_email}: </span>
</td> </td>
<td> <td style="width:191px;">
<input type="text" name="login" required /> <input type="text" name="login" required />
</td> </td>
</tr> </tr>
<tr> <tr style="text-align: right;">
<td> <td>
<span>{_password}: </span> <span class="nobold">{_password}: </span>
</td> </td>
<td> <td>
<input type="password" name="password" required /> <input type="password" name="password" required />
</td> </td>
</tr> </tr>
<tr>
<td>
</td>
<td>
<input type="hidden" name="hash" value="{$csrfToken}" />
<input type="submit" value="{_log_in}" class="button" />
<a href="/reg">{_registration}</a>
</td>
</tr>
</tbody> </tbody>
</table> </table>
<center>
<!-- div style="margin-bottom: 8px;">
<input type="checkbox" name="someone_pc" value=""/>
<label for="someone_pc" class="nobold">{_not_your_pc}?</label><br>
</div -->
<input type="hidden" name="hash" value="{$csrfToken}" />
<input type="submit" value="{_log_in}" class="button" />
<a href="/reg" class="button" style="display: inline-block;">{_registration}</a><br><br>
<a href="/restore">{_forgot_password}</a>
</center>
</form> </form>
{/block} {/block}

View file

@ -6,16 +6,23 @@
{/block} {/block}
{block content} {block content}
<p> <h4 style="margin-left: 100px; margin-right: 100px;">{_two_factor_authentication}</h4>
{_two_factor_authentication_login} <table cellspacing="10" cellpadding="0" border="0" align="center" width="70%">
</p> <tbody>
<tr>
<td>
{_two_factor_authentication_login}
</td>
</tr>
</tbody>
</table>
<form method="POST" enctype="multipart/form-data"> <form method="POST" enctype="multipart/form-data">
<table cellspacing="7" cellpadding="0" width="40%" border="0" align="center"> <table cellspacing="7" cellpadding="0" width="40%" border="0" align="center">
<tbody> <tbody>
<tr> <tr style="text-align: right;">
<td> <td>
<span>{_code}: </span> <span class="nobold">{_code}: </span>
</td> </td>
<td> <td>
<input type="text" name="code" autocomplete="off" required /> <input type="text" name="code" autocomplete="off" required />
@ -25,14 +32,14 @@
<td> <td>
</td> </td>
<td>
<input type="hidden" name="login" value="{$login}" />
<input type="hidden" name="password" value="{$password}" />
<input type="hidden" name="hash" value="{$csrfToken}" />
<input type="submit" value="{_log_in}" class="button" />
</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<center>
<input type="hidden" name="login" value="{$login}" />
<input type="hidden" name="password" value="{$password}" />
<input type="hidden" name="hash" value="{$csrfToken}" />
<input type="submit" value="{_log_in}" class="button" />
</center>
</form> </form>
{/block} {/block}

View file

@ -22,31 +22,78 @@
<p n:if="!is_null($referer)" align="center"> <p n:if="!is_null($referer)" align="center">
{tr("invites_you_to", $referer->getFullName(), OPENVK_ROOT_CONF['openvk']['appearance']['name'])|noescape} {tr("invites_you_to", $referer->getFullName(), OPENVK_ROOT_CONF['openvk']['appearance']['name'])|noescape}
</p> </p>
<div style="margin: 10px;">
<h2 class="header2">{_registration}</h2>
<table cellspacing="10" cellpadding="0" border="0" align="center" style="margin: 9px;">
<tbody>
<tr>
<td>
<img src="assets/packages/static/openvk/img/favicons/favicon64.png" style="width: 32px;" align="middle">
</td>
<td>
<b>{php echo OPENVK_ROOT_CONF['openvk']['appearance']['name']} {_registration_welcome_1}</b><br>
{_registration_welcome_2}
</td>
</tr>
</tbody>
</table>
<form method="POST" enctype="multipart/form-data"> <form method="POST" enctype="multipart/form-data">
<table cellspacing="7" cellpadding="0" width="52%" border="0" align="center"> <table cellspacing="7" cellpadding="0" width="52%" border="0" align="center">
<tbody> <tbody>
<tr> <tr>
<td> <h4 style="margin-left: 60px;">{_main}</h4>
<span>{_name}: </span> </tr>
<tr>
<td class="regform-left">
<span class="nobold">{_name}: </span>
</td> </td>
<td> <td class="regform-right">
<input type="text" name="first_name" required /> <input type="text" name="first_name" required />
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td class="regform-left">
<span>{_surname}: </span> <span class="nobold">{_surname}: </span>
</td> </td>
<td> <td class="regform-right">
<input type="text" name="last_name" /> <input type="text" name="last_name" />
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td class="regform-left">
<span>{_gender}: </span> <span class="nobold">{_email}: </span>
</td> </td>
<td> <td class="regform-right">
<input type="email" name="email" required />
</td>
</tr>
<tr>
<td class="regform-left">
<span class="nobold">{_password}: </span>
</td>
<td class="regform-right">
<input type="password" name="password" required />
</td>
</tr>
</table>
<table cellspacing="7" cellpadding="0" width="52%" border="0" align="center">
<tr>
<h4 style="margin-left: 60px;">{_other_fields}</h4>
</tr>
<tr>
<td class="regform-left">
<span class="nobold">{_birth_date}: </span>
</td>
<td class="regform-right">
<input max={date('Y-m-d')} name="birthday" type="date"/>
</td>
</tr>
<tr>
<td class="regform-left">
<span class="nobold">{_gender}: </span>
</td>
<td class="regform-right">
{var $femalePreferred = OPENVK_ROOT_CONF["openvk"]["preferences"]["femaleGenderPriority"]} {var $femalePreferred = OPENVK_ROOT_CONF["openvk"]["preferences"]["femaleGenderPriority"]}
<select name="sex" required> <select name="sex" required>
<option n:attr="selected => !$femalePreferred" value="male">{_male}</option> <option n:attr="selected => !$femalePreferred" value="male">{_male}</option>
@ -55,63 +102,43 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td class="regform-left">
<span>{_birth_date}: </span> <span class="nobold">CAPTCHA: </span>
</td> </td>
<td> <td class="regform-right">
<input max={date('Y-m-d')} name="birthday" type="date"/>
</td>
</tr>
<tr></tr>
<tr>
<td>
<span>{_email}: </span>
</td>
<td>
<input type="email" name="email" required />
</td>
</tr>
<tr>
<td>
<span>{_password}: </span>
</td>
<td>
<input type="password" name="password" required />
</td>
</tr>
<tr>
<td>
<span>CAPTCHA: </span>
</td>
<td>
{captcha_template()|noescape} {captcha_template()|noescape}
</td> </td>
</tr> </tr>
</table>
<tr> <div style="margin-left: 100px; margin-right: 100px; text-align: center;">
<td> <input type="hidden" name="hash" value="{$csrfToken}" />
<input type="checkbox" required="true" name="confirmation" /> {_checkbox_in_registration|noescape}
</td> <br /><br />
<td> <input type="submit" value="{_registration}" class="button" /><br><br>
<input type="hidden" name="hash" value="{$csrfToken}" /> </div>
<input type="checkbox" required="true" name="confirmation" /> {_checkbox_in_registration|noescape}
<br /><br />
<input type="submit" value="{_registration}" class="button" />
<a href="/login">{_log_in}</a>
</td>
</tr>
</tbody> </tbody>
</table>
</form> </form>
</div>
{else} {else}
<center> <h4>{_registration_closed}</h4>
<img src="/assets/packages/static/openvk/img/oof.apng" alt="{_registration_closed}" style="width: 20%;" /> <table cellspacing="10" cellpadding="0" border="0" align="center" style="margin: 9px;">
<p> <tbody>
{_registration_disabled_info} <tr>
{if OPENVK_ROOT_CONF['openvk']['preferences']['registration']['reason']} <td style="width: 20%;">
<br/><br/><b>{php echo OPENVK_ROOT_CONF['openvk']['preferences']['registration']['reason']}</b> <img src="/assets/packages/static/openvk/img/oof.apng" alt="{_registration_closed}" style="width: 100%;"/>
{/if} </td>
</p> <td>
</center> {_registration_disabled_info}
{if OPENVK_ROOT_CONF['openvk']['preferences']['registration']['reason']}
<br/>
<br/>
{_admin_banned_link_reason}:
<br>
<b>{php echo OPENVK_ROOT_CONF['openvk']['preferences']['registration']['reason']}</b>
{/if}
</td>
</tr>
</tbody>
</table>
{/if} {/if}
{/block} {/block}

View file

@ -9,16 +9,37 @@
{/block} {/block}
{block content} {block content}
<p> <h4 style="margin-left: 100px; margin-right: 100px;">{_access_recovery}</h4>
{_access_recovery_info} <table cellspacing="10" cellpadding="0" border="0" align="center" width="70%">
</p> <tbody>
<tr>
<td>
{_access_recovery_info}
</td>
</tr>
</tbody>
</table>
<form method="POST" enctype="multipart/form-data"> <form method="POST" enctype="multipart/form-data">
<label for="login">{_log_in}: </label> <table cellspacing="7" cellpadding="0" width="46%" border="0" align="center">
<input id="login" type="text" name="login" required /> <tbody>
<br/><br/> <tr style="text-align: right;">
<td>
<input type="hidden" name="hash" value="{$csrfToken}" /> <span class="nobold">{_email}: </span>
<input type="submit" value="{_reset_password}" class="button" style="float: right;" /> </td>
<td>
<input id="login" type="text" name="login" required />
</td>
</tr>
<tr>
<td>
</td>
</tr>
</tbody>
</table>
<center>
<input type="hidden" name="hash" value="{$csrfToken}" />
<input type="submit" value="{_reset_password}" class="button"/>
</center>
</form> </form>
{/block} {/block}

View file

@ -37,7 +37,7 @@
<div class="new"> <div class="new">
<form action="/support" method="post" style="margin:0;"> <form action="/support" method="post" style="margin:0;">
<center> <center>
<input name="name" style="width: 80%; resize: vertical;" placeholder="{_support_new_title}" /><br /><br /> <input type="text" name="name" style="width: 80%; resize: vertical;" placeholder="{_support_new_title}" /><br /><br />
<textarea name="text" style="width: 80%; resize: vertical;" placeholder="{_support_new_content}"></textarea><br /><br /> <textarea name="text" style="width: 80%; resize: vertical;" placeholder="{_support_new_content}"></textarea><br /><br />
<input type="hidden" name="hash" value="{$csrfToken}" /> <input type="hidden" name="hash" value="{$csrfToken}" />
<input type="submit" value="{_write}" class="button" style="margin-left: 70%;" /><br /><br /> <input type="submit" value="{_write}" class="button" style="margin-left: 70%;" /><br /><br />

View file

@ -47,6 +47,11 @@
{else} {else}
<span>{$user->isFemale() ? tr("was_online_f") : tr("was_online_m")} {$user->getOnline()}</span> <span>{$user->isFemale() ? tr("was_online_f") : tr("was_online_m")} {$user->getOnline()}</span>
{/if} {/if}
{var $platform = $user->getOnlinePlatform()}
{var $platformDetails = $user->getOnlinePlatformDetails()}
<a n:if="!empty($platform)" class="client_app client_app_titlebar" data-app-tag="{$platform}" data-app-name="{$platformDetails['name']}" data-app-url="{$platformDetails['url']}" data-app-img="{$platformDetails['img']}">
<img src="/assets/packages/static/openvk/img/app_icons_mini/{$user->getOnlinePlatform(this)}.svg">
</a>
</div> </div>
<div n:if="$user->onlineStatus() == 2" style="float:right;"> <div n:if="$user->onlineStatus() == 2" style="float:right;">
<span><b>{_deceased_person}</b></span> <span><b>{_deceased_person}</b></span>
@ -485,7 +490,7 @@
<td class="data">{$user->getFavoriteQuote()}</td> <td class="data">{$user->getFavoriteQuote()}</td>
</tr> </tr>
<tr n:if="!is_null($user->getDescription())"> <tr n:if="!is_null($user->getDescription())">
<td class="label"><span class="nobold">О себе: </span></td> <td class="label"><span class="nobold">{_information_about}: </span></td>
<td class="data">{$user->getDescription()}</td> <td class="data">{$user->getDescription()}</td>
</tr> </tr>
</tbody> </tbody>

View file

@ -13,7 +13,9 @@
{block content} {block content}
<center style="margin-bottom: 8pt;"> <center style="margin-bottom: 8pt;">
{if $video->getType() === 0} {if $video->getType() === 0}
<video width="610" src="{$video->getURL()}" controls></video> <div class="bsdn" data-name="{$video->getName()}" data-author="{$user->getCanonicalName()}">
<video width="610" src="{$video->getURL()}"></video>
</div>
{else} {else}
{var $driver = $video->getVideoDriver()} {var $driver = $video->getVideoDriver()}
{if !$driver} {if !$driver}

View file

@ -5,6 +5,7 @@
{if $theme !== NULL} {if $theme !== NULL}
{if $theme->inheritDefault()} {if $theme->inheritDefault()}
{css "css/bsdn.css"}
{css "css/style.css"} {css "css/style.css"}
{css "css/dialog.css"} {css "css/dialog.css"}
{css "css/notifications.css"} {css "css/notifications.css"}
@ -20,6 +21,7 @@
<link rel="stylesheet" href="/themepack/{$theme->getId()}/{$theme->getVersion()}/resource/xmas.css" /> <link rel="stylesheet" href="/themepack/{$theme->getId()}/{$theme->getVersion()}/resource/xmas.css" />
{/if} {/if}
{else} {else}
{css "css/bsdn.css"}
{css "css/style.css"} {css "css/style.css"}
{css "css/dialog.css"} {css "css/dialog.css"}
{css "css/notifications.css"} {css "css/notifications.css"}
@ -41,6 +43,7 @@
{css "css/microblog.css"} {css "css/microblog.css"}
{/if} {/if}
{else} {else}
{css "css/bsdn.css"}
{css "css/style.css"} {css "css/style.css"}
{css "css/dialog.css"} {css "css/dialog.css"}
{css "css/nsfw-posts.css"} {css "css/nsfw-posts.css"}

View file

@ -1,7 +1,6 @@
{if $attachment instanceof \openvk\Web\Models\Entities\Photo} {if $attachment instanceof \openvk\Web\Models\Entities\Photo}
{if !$attachment->isDeleted()} {if !$attachment->isDeleted()}
{var $link = "/photo" . ($attachment->isAnonymous() ? ("s/" . base_convert((string) $attachment->getId(), 10, 32)) : $attachment->getPrettyId())} <a href="{$attachment->getPageUrl()}">
<a href="{$link}">
<img class="media" src="{$attachment->getURLBySizeId('normal')}" alt="{$attachment->getDescription()}" /> <img class="media" src="{$attachment->getURLBySizeId('normal')}" alt="{$attachment->getDescription()}" />
</a> </a>
{else} {else}
@ -10,7 +9,23 @@
</a> </a>
{/if} {/if}
{elseif $attachment instanceof \openvk\Web\Models\Entities\Video} {elseif $attachment instanceof \openvk\Web\Models\Entities\Video}
<video class="media" src="{$attachment->getURL()}" controls="controls"></video> {if $attachment->getType() === 0}
<div class="bsdn media" data-name="{$attachment->getName()}" data-author="{$attachment->getOwner()->getCanonicalName()}">
<video class="media" src="{$attachment->getURL()}"></video>
</div>
{else}
{var $driver = $attachment->getVideoDriver()}
{if !$driver}
<span style="color:red;">{_version_incompatibility}</span>
{else}
{$driver->getEmbed("100%")|noescape}
{/if}
{/if}
<div class="video-wowzer">
<img src="/assets/packages/static/openvk/img/videoico.png" />
<a href="/video{$attachment->getPrettyId()}">{$attachment->getName()}</a>
</div>
{elseif $attachment instanceof \openvk\Web\Models\Entities\Poll} {elseif $attachment instanceof \openvk\Web\Models\Entities\Poll}
{presenter "openvk!Poll->view", $attachment->getId()} {presenter "openvk!Poll->view", $attachment->getId()}
{elseif $attachment instanceof \openvk\Web\Models\Entities\Post} {elseif $attachment instanceof \openvk\Web\Models\Entities\Post}

View file

@ -1,4 +1,4 @@
{var $user = $notification->getModel(0)} {var $user = $notification->getModel(0)}
{var $post = $notification->getModel(1)} {var $post = $notification->getModel(1)}
{_nt_you_were_mentioned_u} <a href="{$user->getURL()}"><b>{$user->getCanonicalName()}</b></a> {$notification->getDateTime()} <a href="/photo{$post->getURL()}"><b>{_nt_mention_in_photo}</b></a>: "{$notification->getData()}" {_nt_you_were_mentioned_u} <a href="{$user->getURL()}"><b>{$user->getCanonicalName()}</b></a> {$notification->getDateTime()} <a href="/photo{$post->getPageURL()}"><b>{_nt_mention_in_photo}</b></a>: "{$notification->getData()}"

View file

@ -1,11 +1,15 @@
{var $author = $post->getOwner()} {var $author = $post->getOwner()}
{var $comments = $post->getLastComments(3)} {var $comments = $post->getLastComments(3)}
{var $commentsCount = $post->getCommentsCount()} {var $commentsCount = $post->getCommentsCount()}
{var $platform = $post->getPlatform()}
{var $platformDetails = $post->getPlatformDetails()}
{if $post->isDeactivationMessage() && $post->getText()} {if $post->isDeactivationMessage() && $post->getText()}
{var $deac = "post_deact"} {var $deac = "post_deact"}
{else} {else}
{var $deac = "post_deact_silent"} {var $deac = "post_deact_silent"}
{/if} {/if}
{var $compact = isset($compact) ? true : false}
{var $club = isset($club) ? $club}
{var $commentTextAreaId = $post === NULL ? rand(1,300) : $post->getId()} {var $commentTextAreaId = $post === NULL ? rand(1,300) : $post->getId()}
@ -14,7 +18,7 @@
<tr> <tr>
<td width="54" valign="top"> <td width="54" valign="top">
<a href="{$author->getURL()}"> <a href="{$author->getURL()}">
<img src="{$author->getAvatarURL('miniscule')}" width="{ifset $compact}25{else}50{/ifset}" {ifset $compact}class="cCompactAvatars"{/ifset} /> <img src="{$author->getAvatarURL('miniscule')}" width="{if $compact}25{else}50{/if}" {if $compact}class="cCompactAvatars"{/if} />
<span n:if="!$post->isPostedOnBehalfOfGroup() && !$compact && $author->isOnline()" class="post-online">{_online}</span> <span n:if="!$post->isPostedOnBehalfOfGroup() && !$compact && $author->isOnline()" class="post-online">{_online}</span>
</a> </a>
</td> </td>
@ -38,18 +42,18 @@
</a> </a>
{/if} {/if}
{ifset $compact} {if $compact}
<br> <br>
<a href="/wall{$post->getPrettyId()}" class="date"> <a href="/wall{$post->getPrettyId()}" class="date">
{$post->getPublicationTime()} {$post->getPublicationTime()}
</a> </a>
{/ifset} {/if}
<span n:if="$post->isPinned()" class="nobold">{_pinned}</span> <span n:if="$post->isPinned()" class="nobold">{_pinned}</span>
<a n:if="$post->canBeDeletedBy($thisUser) && !($forceNoDeleteLink ?? false) && !isset($compact)" class="delete" href="/wall{$post->getPrettyId()}/delete"></a> <a n:if="$post->canBeDeletedBy($thisUser) && !($forceNoDeleteLink ?? false) && $compact == false" class="delete" href="/wall{$post->getPrettyId()}/delete"></a>
{if $post->canBePinnedBy($thisUser) && !($forceNoPinLink ?? false) && !isset($compact)} {if $post->canBePinnedBy($thisUser) && !($forceNoPinLink ?? false) && $compact == false}
{if $post->isPinned()} {if $post->isPinned()}
<a class="pin" href="/wall{$post->getPrettyId()}/pin?act=unpin&hash={rawurlencode($csrfToken)}"></a> <a class="pin" href="/wall{$post->getPrettyId()}/pin?act=unpin&hash={rawurlencode($csrfToken)}"></a>
{else} {else}
@ -81,8 +85,11 @@
</span> </span>
</div> </div>
</div> </div>
<div class="post-menu" n:if="!isset($compact)"> <div class="post-menu" n:if="$compact == false">
<a href="/wall{$post->getPrettyId()}" class="date">{$post->getPublicationTime()}</a> <a href="/wall{$post->getPrettyId()}" class="date">{$post->getPublicationTime()}</a>
<a n:if="!empty($platform)" class="client_app" data-app-tag="{$platform}" data-app-name="{$platformDetails['name']}" data-app-url="{$platformDetails['url']}" data-app-img="{$platformDetails['img']}">
<img src="/assets/packages/static/openvk/img/app_icons_mini/{$post->getPlatform(this)}.svg">
</a>
{if isset($thisUser)} {if isset($thisUser)}
&nbsp; &nbsp;

View file

@ -1,4 +1,6 @@
{var $author = $post->getOwner()} {var $author = $post->getOwner()}
{var $platform = $post->getPlatform()}
{var $platformDetails = $post->getPlatformDetails()}
{if $post->isDeactivationMessage() && $post->getText()} {if $post->isDeactivationMessage() && $post->getText()}
{var $deac = "post_deact"} {var $deac = "post_deact"}
{else} {else}
@ -46,6 +48,9 @@
<br/> <br/>
<a href="/wall{$post->getPrettyId()}" class="date"> <a href="/wall{$post->getPrettyId()}" class="date">
{$post->getPublicationTime()}{if $post->isPinned()}, {_pinned}{/if} {$post->getPublicationTime()}{if $post->isPinned()}, {_pinned}{/if}
<a n:if="!empty($platform)" class="client_app" data-app-tag="{$platform}" data-app-name="{$platformDetails['name']}" data-app-url="{$platformDetails['url']}" data-app-img="{$platformDetails['img']}">
<img src="/assets/packages/static/openvk/img/app_icons_mini/{$post->getPlatform(this)}.svg">
</a>
</a> </a>
</div> </div>
<div class="post-content" id="{$post->getPrettyId()}"> <div class="post-content" id="{$post->getPrettyId()}">

View file

@ -345,6 +345,8 @@ routes:
handler: "About->humansTxt" handler: "About->humansTxt"
- url: "/dev" - url: "/dev"
handler: "About->dev" handler: "About->dev"
- url: "/tour"
handler: "About->tour"
- url: "/{?shortCode}" - url: "/{?shortCode}"
handler: "UnknownTextRouteStrategy->delegate" handler: "UnknownTextRouteStrategy->delegate"
placeholders: placeholders:

View file

@ -74,3 +74,10 @@ div.ovk-video > div > img
object-fit: cover; object-fit: cover;
border-radius: 100px; border-radius: 100px;
} }
.tippy-content > table > tbody > tr > td:nth-child(1) > img{
width: 54px;
height: 54px;
object-fit: cover;
border-radius: 100px;
}

220
Web/static/css/bsdn.css Normal file
View file

@ -0,0 +1,220 @@
.bsdn-player {
width: 100%;
position: relative;
display: inline-flex;
font-family: Tahoma, sans-serif;
user-select: none;
background-color: black;
}
.bsdn-player > .bsdn_controls, .bsdn-player > .bsdn_teaserWrap, .bsdn-player > .bsdn_contextMenu {
position: absolute;
}
.bsdn_controls {
display: flex;
width: 100%;
bottom: 0;
background-color: hsl(0deg 0% 0% / 59%);
border-top: 1px solid hsl(0deg 0% 100% / 70%);
padding: 7px 12px;
color: #fff;
align-items: center;
box-sizing: border-box;
gap: 6px;
z-index: 2;
opacity: 0;
}
.bsdn-player.bsdn-dirty > .bsdn_controls {
opacity: 1;
}
.bsdn_video {
width: 100%;
display: inline-flex;
justify-content: center;
}
.bsdn_terebilkaUpperWrap {
display: flex;
justify-content: space-between;
align-items: center;
}
.bsdn_terebilkaWrap {
flex-grow: 1;
display: flex;
flex-direction: column;
}
.bsdn_logo {
height: 8px;
}
p.bsdn_timeWrap {
display: inline;
margin: 0;
font-size: 7pt;
font-weight: bold;
}
.bsdn_terebilkaLowerWrap, .bsdn_soundControlSubWrap {
position: relative;
height: 6px;
border-top: 1px solid white;
}
.bsdn_terebilkaBrick, .bsdn_soundControlBrick {
position: absolute;
height: 100%;
width: 15px;
background-color: #fff;
pointer-events: none;
}
.bsdn_soundIcon {
cursor: pointer;
}
.bsdn_soundControl {
width: 64px;
}
.bsdn_soundControlBrick {
width: 10px;
}
.bsdn_soundControlPadding {
height: 8px;
}
button.bsdn_playButton {
appearance: none;
background: none;
border: none;
color: #fff;
padding: 0 8px;
padding-left: 0;
font-size: 22px;
cursor: pointer;
}
.bsdn_fullScreenButton {
cursor: pointer;
}
.bsdn_fullScreenButton > img:hover {
background: url("/assets/packages/static/openvk/img/bsdn/fullscreen_hover.gif");
object-fit: none;
object-position: -64px 0;
}
.bsdn_teaserWrap {
width: 100%;
height: 100%;
z-index: 1;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
background-color: hsl(0deg 0% 0% / 10%);
}
.bsdn_teaser {
display: flex;
padding: 10px 20px;
width: 266px;
background-color: hsl(0deg 0% 14.17% / 74.12%);
border-radius: 10px;
align-items: stretch;
justify-content: space-between;
box-sizing: border-box;
}
.bsdn_teaserTitleBox {
display: flex;
flex-direction: column;
justify-content: space-around;
}
.bsdn_teaserButton {
cursor: pointer;
}
time.bsdn_timeFull {
margin-left: 10px;
color: #b1b1b1;
}
.bsdn-player._bsdn_playing .bsdn_controls {
opacity: 0;
pointer-events: none;
transition: 1s opacity ease-in-out;
transition-delay: 2s;
}
.bsdn-player._bsdn_playing:hover .bsdn_controls {
opacity: 1;
pointer-events: unset;
transition: .2s opacity ease-in-out;
transition-delay: 0;
}
.bsdn_video > video {
height: 100%;
max-width: 100%;
}
.bsdn_contextMenu {
z-index: 3;
background-color: #f4f4f4;
padding: 6px;
border: 1px solid #908f90;
width: 232px;
height: 169px;
font-size: 15px;
box-sizing: border-box;
}
.bsdn_contextMenuElement {
display: block;
color: #666294;
cursor: pointer;
padding: 3px 0 3px 20px;
}
.bsdn_contextMenu hr {
margin: 5px 0;
border-color: #878f8e;
border-bottom: none;
}
.bsdn_contextMenuElement:hover, .bsdn_contextMenuElement:active {
color: #fff;
}
.bsdn_contextMenuElement:hover {
background-color: #9797c8;
}
.bsdn_contextMenuElement:active {
background-color: #5a5a8f;
}
.bsdn_teaserWrap span {
color: #fff;
}
.bsdn_teaserButton > img {
max-height: 50px;
margin: 10px 0;
}
.bsdn_fullScreenButton > img, .bsdn_soundIcon {
vertical-align: middle;
}

View file

@ -33,6 +33,10 @@ p {
margin: 5px 0; margin: 5px 0;
} }
h1 {
margin-top: 0;
}
.layout { .layout {
width: 791px; width: 791px;
margin: 0 auto; margin: 0 auto;
@ -556,7 +560,8 @@ input[type=radio] {
} }
input[type=checkbox] { input[type=checkbox] {
background-image: url("data:image/gif;base64,R0lGODlhDwA4AKIHANrh6P///8DK1a22wF+DpbfAy9/l6v///yH5BAEAAAcALAAAAAAPADgAAAOzKLrMJyHKGcWjOFiY5+7eBVbi+I1aCZ6m2rGrm21NrTx2LWMEwYE93yho+PF6gmKHyCJIiEVRMABNcQzBnsFAumK13K5kS9iGjNuwBPbC5RyDuHw+PwwA+LweP7Dv/wB9d4B6goSFfod8iYqGioGMh46NkYSTkpWAgnSccXadnJl/PYOHQaWAQQWoe6qrhK6MBHmujkEArpCDBVkEBQWLu7w9v3mTv77AxpG/ysusmp+gdQkAOw=="); background-image: url("data:image/gif;base64,R0lGODlhDwA4ALMAAP//////AP8A//8AAAD//wD/AAAA/wAAADtZd8XKzuHh4crKysHBwba2tv///wAAACH5BAEAAA4ALAAAAAAPADgAAASzcMlJqVsg653X5SDgYeE2luaHdup6rmKLvq5c0rMdjlUvXb6eDoRAkFBF4yqZOBKLi2aJSUNomE1VEoCNkRLJYiLB+oLF5LJmjBinnOO0BncDBi2NvH6/dzQUgIGCgA1+g4cKhX+IgoqMjYaPhJGSjpKJlI+WlZmMm5qdiIp8pHl+paShh0WLj0mtiEywg0kMCbOBTAyUCLlolkkKWJiLZ8PEgGxogZtsY5CwcYOfnqeofREAOw==");
width: 15px;
} }
input[type=radio] { input[type=radio] {
@ -573,6 +578,11 @@ input[type=radio]:checked {
background-position: 0 -14px; background-position: 0 -14px;
} }
input[type=checkbox]:checked:hover,
input[type=radio]:checked:hover {
background-position: 0 -42px;
}
#auth { #auth {
padding: 10px; padding: 10px;
} }
@ -661,6 +671,15 @@ select {
box-sizing: border-box; box-sizing: border-box;
} }
.header2 {
border-bottom: 1px solid #E8EBEE;
color: #45688E;
font-size: 14px;
font-weight: bold;
margin: 0;
font-family: verdana, arial, sans-serif;
}
h4 { h4 {
border-bottom: 1px solid #E8EBEE; border-bottom: 1px solid #E8EBEE;
color: #45688E; color: #45688E;
@ -1736,11 +1755,6 @@ body.scrolled .toTop:hover {
color: #58462a; color: #58462a;
} }
.knowledgeBaseArticle {
margin-top: -11px;
/* this is very stupid fix but nah */
}
.avatar-list { .avatar-list {
padding: 4px 8px; padding: 4px 8px;
} }
@ -2063,6 +2077,7 @@ table td[width="120"] {
.cookies-popup { .cookies-popup {
position: fixed; position: fixed;
bottom: 0; bottom: 0;
left: 0;
width: 100%; width: 100%;
height: 40px; height: 40px;
background: linear-gradient(#fff, #eee); background: linear-gradient(#fff, #eee);
@ -2216,6 +2231,17 @@ a.poll-retract-vote {
border-radius: 1px; border-radius: 1px;
} }
.client_app > img {
top: 3px;
position: relative;
}
.client_app.client_app_titlebar > img {
top: 2px;
position: relative;
filter: invert(100%) sepia(100%) saturate(800%) hue-rotate(2deg) brightness(130%) contrast(50.1%);
}
@keyframes appearing { @keyframes appearing {
from { from {
opacity: 0; opacity: 0;
@ -2225,3 +2251,47 @@ a.poll-retract-vote {
opacity: 1; opacity: 1;
} }
} }
.regform-left{
text-align: right;
min-width: 110px;
}
.regform-right{
min-width: 200px;
}
.tour {
background: #F9F6E7;
border: 1px solid #BEAD61;
padding: 8px 25px;
width:205px;
text-align:center;
color: #000;
font-size:12px;
margin:10px auto;
cursor:hand;cursor:pointer;
}
.tour div {
font-size: 11px; color:#000;
}
.video-wowzer > img {
vertical-align: bottom;
}
.video-wowzer {
font-weight: bolder;
font-size: 12px;
padding: 3px 0;
}
.video-wowzer a::before {
content: "b";
color: transparent;
width: 12px;
background-image: url(/assets/packages/static/openvk/img/videoico.png);
display: none;
}

179
Web/static/css/tour.css Normal file
View file

@ -0,0 +1,179 @@
/* OVK CONTENT TOUR CSS */
#tour {
background-color: #f7f7F7;
padding:0px;
overflow : hidden ! important;
_height : 1% ! important;
}
.welcome {
background-color: #fff;
padding: 10px;
padding-right:50px;
border: 1px solid #ccc;
}
h4 {
border-bottom: solid 1px #b9c4da;
margin: 0px;
padding: 0px 0px 4px;
font-size: 15px;
}
h6 {
color: #45668E;
font-size: 13px;
padding-bottom: 3px;
height: 32px;
width: auto;
}
h2 {
color: #45668E;
font-size: 14px;
padding-bottom: 3px;
width: auto;
border-bottom: 1px solid #DAE1E8;
}
.correctIt {
font-size: 11px;
color: #777;
font-weight: normal;
float: right;
}
p.wel {
padding-left: 50px; font-size: 11px;
background: #fff;
}
#auth{
background: #f7f7F7;
}
.wLabel {
float:left; width:100px; padding-top:4px;
font-weight: bold;
color: #777;
text-align: right;
padding-right: 16px;
}
p.big {
font-size:12px; text-align:center;
}
.tour {
background: #F9F6E7;
border: 1px solid #BEAD61;
padding: 8px 25px;
width:205px;
text-align:center;
color: #000;
font-size:12px;
margin:10px auto;
cursor:hand;cursor:pointer;
}
.tour div {
font-size: 11px; color:#000;
}
a.noUnd:hover {
text-decoration:none;
}
.helpNav {
margin: 4px 0px; padding:4px 6px; background:#DAE1E8; border-top:1px solid #B7BEC6; width: 5.3em;
font-size:11px; text-decoration: none; color: #2B587A; cursor: hand; cursor: pointer;
}
.helpNav a {
text-decoration: none;
}
.selled {
background-color: #B8C4CF;
}
* {box-sizing: border-box}
.rightNav {
border:0px; width:140px; padding-left: 6px; float:right;
}
.rightNav h1 {
border:0px; background: #EAEAEA; font-weight:bold; font-size:11px; padding: 4px 5px;
}
.rightLinks {
margin-bottom:10px;
}
.rightLinks div {
padding:4px 6px 4px 5px; margin:1px;
}
.rightLinks .active {
background: #fff;
}
.rightLinks .active a {
cursor: default; color: #000; font-weight:bold;
}
.rightLinks .active a:hover {
cursor: default; text-decoration: none;
}
.rightLinks img {
vertical-align: bottom; margin-right:5px;
}
/* Style the tab */
.tab {
float: right;
width: 140px;
}
.tab:hover {
background: none;
}
/* Style the buttons inside the tab */
.tab button {
display: block;
background-color: inherit;
width: 138px;
height: 24px;
border: none;
margin-bottom: 5px;
outline: none;
text-align: left;
cursor: pointer;
background: none;
font-size: 10px;
}
/* Create an active/current "tab button" class */
.tab button.active {
background-color: #fff;
cursor: default; color: #000; font-weight:bold;
}
.tab button.hover{
background: none;
}
/* Style the tab content */
.tabcontent {
float: left;
padding: 0px 12px;
background: #fff;
width: 77%;
}
.tabcontent img{
margin:auto;
}
.tabicon{
width: 16px;
height: 16px;
display: inline;
margin-right: 1px;
}
/* OVK CONTENT TOUR CSS */

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -0,0 +1,161 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="13"
height="12"
viewBox="0 0 3.4395834 3.175"
version="1.1"
id="svg5"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
sodipodi:docname="android3.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:document-units="cm"
showgrid="false"
units="px"
height="41.5748px"
inkscape:zoom="81.919998"
inkscape:cx="5.6030275"
inkscape:cy="3.3142091"
inkscape:window-width="1920"
inkscape:window-height="1009"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
inkscape:object-nodes="true" />
<defs
id="defs2">
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath37304">
<path
id="path37306"
style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.264583"
d="m -1.208195,0.05994466 v 0.8536947 h 0.011369 0.010335 c 9.525e-4,-4.757e-5 0.0018,-1.9037e-4 0.00259,0 3.889e-4,-0.002058 0.00411,0 0.0062,0 h 0.010852 c 0.00848,-0.005343 0.011591,-0.006478 0.024288,-0.004651 9.843e-4,2.8575e-4 0.00211,2.5879e-4 0.0031,5.1594e-4 0.00234,-8.9694e-4 0.0077,-4.101e-4 0.010335,-5.1594e-4 0.00711,2.273e-5 0.014077,1.408e-5 0.021187,0 0.00677,-2.28e-5 0.013384,-3.81e-6 0.020154,0 0.00714,-1.66e-6 0.014564,-1.6e-7 0.021704,0 0.00477,3.2e-7 0.00918,3e-8 0.013953,0 h 0.014469 c 9.101e-4,-1.0771e-4 0.00536,-4.818e-5 0.00827,0 -6.853e-4,-4.363e-5 -7.038e-4,-4.445e-4 -0.00207,-5.1594e-4 0.0056,-0.003323 0.011823,-0.004677 0.018087,-0.005168 0.010439,-8.1756e-4 0.021763,0.001344 0.0320393,0.00155 0.008938,1.592e-4 0.0174199,-6.2442e-4 0.0263549,-5.1594e-4 0.006779,1.0192e-4 0.0138906,6.88e-6 0.0206706,0 0.005075,-3.7e-7 0.009911,1.06e-6 0.0149863,0 0.008078,-1.69e-6 0.01621,-1.3e-7 0.024288,0 h 0.0299723 0.0294556 c 0.0115597,-2.0775e-4 0.0150818,-1.8132e-4 0.0232545,0.005684 0.001302,-3.4661e-4 0.002787,-3.5454e-4 0.004134,-5.1594e-4 0.009007,-0.001082 0.0178197,-7.1173e-4 0.0268717,-5.1594e-4 0.0118994,4.0481e-4 0.0242689,4.818e-5 0.0361735,0 0.012287,2.323e-5 0.024403,2.41e-6 0.0366903,0 0.008969,0.001328 0.0217141,-0.001524 0.0304891,0 0.004907,8.5196e-4 0.009589,0.002109 0.0144693,0.003101 0.0202716,0.005682 0.0420467,0.00955 0.0630453,0.006718 0.019264,-0.001664 0.0385238,-5.715e-4 0.0578776,-5.1594e-4 0.0113678,-1.6364e-4 0.0227375,-1.317e-5 0.0341064,0 0.0217093,2.096e-5 0.0434032,9e-7 0.0651123,0 0.021019,1.99e-6 0.0420264,3.5e-7 0.0630452,0 0.026329,-3.2e-7 0.052736,-2e-8 0.0790649,0 h 0.063562 0.0764811 0.08319906 0.08940023 0.09198405 0.0868164 0.083199 c 0.004775,0 0.009727,-5.6356e-4 0.0144693,0 0.009292,0.001106 0.0181795,0.002985 0.0273885,0.004651 0.0202634,0.008023 0.0410901,0.00671 0.0620117,0.005168 v -0.868168 z M 0.37723795,1.3363526 c -0.0323437,0.00475 -0.064737,0.00932 -0.0971517,0.013436 0.004483,5.635e-4 0.008947,0.00103 0.0134358,0.00155 0.024294,0.00283 0.0484908,0.00519 0.0728638,0.00723 0.003614,8.02e-5 0.007237,3.492e-4 0.0108522,5.159e-4 z M -1.208195,1.405599 v 0.2397786 h 0.031523 c -0.0068,-0.00804 -0.011061,-0.018327 -0.010335,-0.032039 0.00141,-0.026685 0.025509,-0.046915 0.044442,-0.066663 -4.89e-5,-0.00911 0.0015,-0.019856 0.00465,-0.032039 0.00221,-0.00855 0.00827,-0.013763 0.01602,-0.01757 0.00162,-0.00552 0.00327,-0.011245 0.00517,-0.01757 -0.00484,-0.025418 -0.00871,-0.030086 0.0093,-0.029972 0.00103,-0.00113 0.00384,-0.00105 0.00775,0 0.00575,2.349e-4 0.012762,7.461e-4 0.021704,0.00103 0.00553,9.48e-5 0.011002,4.26e-4 0.016536,5.16e-4 -0.00132,-0.014832 -2.778e-4,-0.030044 0.00207,-0.044959 -0.015697,6.43e-4 -0.03133,0.00143 -0.047025,0.00207 -0.028246,0.00115 -0.056602,0.00624 -0.084749,0.00362 -0.00598,-5.582e-4 -0.011522,-0.0033 -0.017053,-0.0062 z M 0.34881593,1.48208 c -4.8419e-4,0.011645 -0.001095,0.023097 -0.001035,0.034623 0.009555,0.00225 0.0188897,0.00465 0.0294556,0.00723 V 1.482597 c -0.001537,-10e-5 -0.00306,-4.419e-4 -0.004651,-5.16e-4 -0.007902,-3.043e-4 -0.0158594,2.66e-5 -0.0237712,0 z M 0.24597982,1.528072 c -0.0145686,0.00173 -0.028946,0.00358 -0.0434082,0.00517 -5.4637e-4,0.00269 -9.3345e-4,0.00483 -0.00155,0.00775 0.011559,-8.09e-5 0.0230651,-3.625e-4 0.0346232,-5.159e-4 0.00258,-0.00459 0.00618,-0.00858 0.0103353,-0.012402 z" />
</clipPath>
</defs>
<g
inkscape:label="Слой 1"
inkscape:groupmode="layer"
id="layer1"
style="display:inline">
<rect
style="fill:#b1bfcd;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.546032;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="rect34329"
width="1.3066522"
height="0.89519173"
x="1.1048477"
y="1.3112783" />
<rect
style="fill:#b1bfcd;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.169924;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="rect34655"
width="0.11897118"
height="0.5640986"
x="1.2708721"
y="2.5055668" />
<rect
style="display:inline;fill:#b1bfcd;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.169924;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="rect34655-7"
width="0.11897118"
height="0.5640986"
x="1.2708721"
y="2.5055668" />
<rect
style="display:inline;fill:#b1bfcd;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.169924;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="rect34655-77"
width="0.11897118"
height="0.5640986"
x="2.0999825"
y="2.5055668" />
<rect
style="display:inline;fill:#b1bfcd;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.194942;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="rect34655-8-3"
width="0.11897118"
height="0.74242336"
x="0.41690901"
y="1.1351641" />
<rect
style="display:inline;fill:#b1bfcd;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.194942;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="rect34655-8-3-4"
width="0.11897118"
height="0.74242336"
x="2.9593756"
y="1.1416239" />
<ellipse
style="fill:#b1bfcd;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.158603;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="path36426"
clip-path="url(#clipPath37304)"
transform="matrix(1.1765277,0,0,1.1469176,2.2471522,-0.09130454)"
cy="0.85245097"
cx="-0.41533118"
rx="0.71396536"
ry="0.71345931" />
<circle
id="path37453"
style="fill:#b1bfcd;stroke:#b1bfcd;stroke-width:0.300027"
cx="0.21413387"
cy="-0.21969676"
rx="0.00042967169"
ry="0.00043080389" />
<path
style="fill:#b1bfcd;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.0742921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.82567734,0.95656447 1.86605516,3.202e-4"
id="path37509" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.0737073;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="path49381"
cx="1.3264734"
cy="0.40012473"
rx="0.093269438"
ry="0.093515202" />
<circle
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.0737073;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="path49381-9"
cx="2.1689706"
cy="0.38728926"
rx="0.093269438"
ry="0.093515202" />
<rect
style="fill:#b1bfcd;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.0567164;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="rect49512"
width="0.082897075"
height="0.24411611"
x="0.70749021"
y="0.74012035"
transform="matrix(0.76266423,-0.64679462,0.64481325,0.76434016,0,0)" />
<rect
style="display:inline;fill:#b1bfcd;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.0567164;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="rect49512-4"
width="0.082917184"
height="0.24405694"
x="1.7347863"
y="-1.7031983"
transform="matrix(0.69963446,0.71450096,-0.71265767,0.70151197,0,0)" />
<ellipse
style="fill:#ffffff;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.08;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:stroke markers fill"
id="path858"
cx="1.3066671"
cy="0.3659997"
rx="0.082137227"
ry="0.086169124" />
<ellipse
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.08;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:stroke markers fill"
id="path858-3"
cx="2.1833293"
cy="0.37142435"
rx="0.082137227"
ry="0.086169124" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="13"
height="12"
viewBox="0 0 3.4395834 3.175"
version="1.1"
id="svg5"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
sodipodi:docname="app.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:document-units="cm"
showgrid="false"
units="px"
height="41.5748px"
inkscape:zoom="57.926187"
inkscape:cx="4.1949939"
inkscape:cy="6.8794447"
inkscape:window-width="1920"
inkscape:window-height="1009"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
showguides="false"
inkscape:lockguides="false" />
<defs
id="defs2" />
<g
inkscape:label="Слой 1"
inkscape:groupmode="layer"
id="layer1"
style="display:inline">
<circle
style="fill:none;fill-opacity:1;stroke:#b4c3d1;stroke-width:0.56;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path11829"
cx="1.7356859"
cy="1.466198"
r="0.97289771" />
<rect
style="display:inline;fill:none;fill-opacity:1;stroke:#b4c3d1;stroke-width:0.46;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect12013-4"
width="0.19183896"
height="0.1644334"
x="-2.2404912"
y="-1.0640687"
transform="rotate(-135)" />
<rect
style="display:inline;fill:none;fill-opacity:1;stroke:#b4c3d1;stroke-width:0.46;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect12013-4-2"
width="0.19183896"
height="0.1644334"
x="-2.2501805"
y="1.2423611"
transform="rotate(-135)" />
<rect
style="display:inline;fill:none;fill-opacity:1;stroke:#b4c3d1;stroke-width:0.46;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect12013-4-8"
width="0.19183896"
height="0.1644334"
x="-3.5406613"
y="0.10690999"
transform="rotate(-135)" />
<rect
style="display:inline;fill:none;fill-opacity:1;stroke:#b4c3d1;stroke-width:0.46;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect12013-4-3"
width="0.19183896"
height="0.1644334"
x="-1.1922439"
y="0.10045043"
transform="rotate(-135)" />
<rect
style="fill:none;fill-opacity:1;stroke:#b4c3d1;stroke-width:0.459999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect12013"
width="0.19183896"
height="0.1644334"
x="1.6580368"
y="0.29689372" />
<rect
style="display:inline;fill:none;fill-opacity:1;stroke:#b4c3d1;stroke-width:0.459999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect12013-6"
width="0.19183896"
height="0.1644334"
x="2.7679622"
y="1.3291701" />
<rect
style="display:inline;fill:none;fill-opacity:1;stroke:#b4c3d1;stroke-width:0.459999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect12013-2"
width="0.19183896"
height="0.1644334"
x="1.6580368"
y="2.4272633" />
<rect
style="display:inline;fill:none;fill-opacity:1;stroke:#b4c3d1;stroke-width:0.459999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect12013-5"
width="0.19183896"
height="0.1644334"
x="0.54624069"
y="1.3246025" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="13"
height="12"
viewBox="0 0 3.4395834 3.175"
version="1.1"
id="svg5"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
sodipodi:docname="apple.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:document-units="cm"
showgrid="false"
units="px"
height="41.5748px"
inkscape:zoom="81.919999"
inkscape:cx="5.6640626"
inkscape:cy="6.9396973"
inkscape:window-width="1920"
inkscape:window-height="1009"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
showguides="false"
inkscape:lockguides="false" />
<defs
id="defs2" />
<g
inkscape:label="Слой 1"
inkscape:groupmode="layer"
id="layer1"
style="display:inline">
<path
style="fill:#b1bfcd;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 1.3291067,1.0352556 C 1.3580953,1.0451798 1.8687503,0.76443557 1.8105126,0.53722663 1.7522756,0.3100176 1.621695,0.40133587 1.621695,0.40133587 c 0,0 -0.3093879,0.23521626 -0.2925883,0.63391973 z"
id="path1945" />
<path
style="fill:#b1bfcd;fill-opacity:1;stroke:#b1bfcd;stroke-width:0.065;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.97396656,1.1195755 0.14048714,0.072757 0.1644335,0.022838 0.1827037,0.00914 0.1827038,-0.031973 0.1781362,-0.063946 0.1827038,-0.044014 0.1539604,0.00724 0.1020544,0.08088 0.075528,0.1039464 c 0.02427,0.054119 0.024692,0.093929 0.00591,0.1222167 l -0.058271,0.1012706 -0.080879,0.1134062 -0.078987,0.1141899 -0.04623,0.1362441 -0.013703,0.1233251 0.036541,0.095919 0.086784,0.1324602 0.1004871,0.1552982 0.045676,0.1278927 0.00914,0.1370278 -0.027406,0.1096223 c -0.025883,0.083323 -0.051766,0.1129373 -0.077649,0.1278926 L 2.1193331,2.9371552 1.9137914,2.9736962 1.7407683,2.9672366 1.6206731,2.894153 C 1.5765696,2.8621799 1.5404585,2.797909 1.4623746,2.7659359 c -0.054811,-0.010658 0.00847,-0.0084 -0.1289059,-0.019054 -0.066681,0.00329 -0.2291582,0.018753 -0.1634201,0.036865 0.231283,-0.096394 0.1105141,-0.1101151 -0.088906,0.067176 L 0.96261481,2.9312482 0.85299253,2.9699104 0.67241023,2.9758156 0.5206664,2.9417212 0.32559765,2.7923281 C 0.23756462,2.6934606 0.21200587,2.5973369 0.19258326,2.5215023 0.1637006,2.380765 0.16615923,2.3389987 0.14723193,2.2447711 0.13735317,2.1712436 0.13163511,2.0912566 0.12817787,2.0112696 l -0.002446,-0.1808118 c 0.0108463,-0.054849 -0.0112231,0.00221 0.0378786,-0.1827038 0.0192686,-0.047555 -0.0187052,0.00665 0.0692976,-0.1630956 0.0217224,-0.036948 0.0259959,-0.056447 0.0959195,-0.1415955 0.0378682,-0.031385 0.008225,-0.021224 0.14616303,-0.1141898 0.10598978,-0.062222 0.12681384,-0.063611 0.17813618,-0.086784 0.12977684,-0.03018 0.13969562,-0.030395 0.17112248,-0.035987 0.17440878,0.00449 0.1016276,0.00898 0.14971744,0.013473 z"
id="path8625"
sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="13"
height="12"
viewBox="0 0 3.4395834 3.175"
version="1.1"
id="svg5"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
sodipodi:docname="mobile3.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:document-units="cm"
showgrid="false"
units="px"
height="41.5748px"
inkscape:zoom="64"
inkscape:cx="10.0625"
inkscape:cy="7.4453125"
inkscape:window-width="1920"
inkscape:window-height="1009"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Слой 1"
inkscape:groupmode="layer"
id="layer1"
style="display:inline">
<path
style="fill:#b4c3d1;fill-opacity:1;stroke:#b3c3d1;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 2.2844079,0.13500142 H 1.9097538 v 0.3100586 H 0.67597893 V 3.0482604 H 2.5944665 V 0.45497889 l -0.3067759,3e-8 z"
id="path968"
sodipodi:nodetypes="ccccccccc" />
<path
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.148069;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0.91868877,0.72209311 V 1.5567067 H 2.3520943 V 0.72209311 Z"
id="path10486" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.100298;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect11110-4"
height="0.34838068"
x="1.8627164"
y="1.9218891"
width="0.44" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.101671;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect11110-3"
width="0.45654547"
height="0.34838077"
x="1.86374"
y="2.5335131" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.101671;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect11110-07"
width="0.45654535"
height="0.34838042"
x="0.91714829"
y="1.9186219" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.100298;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect11110-9"
width="0.4442997"
height="0.34838066"
x="0.91569108"
y="2.5289454" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 B

View file

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg id="svg1306" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="48px" width="48px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs id="defs1308">
<radialGradient id="radialGradient3976" gradientUnits="userSpaceOnUse" cy="40" cx="23.857" gradientTransform="matrix(1 0 0 .5 0 20)" r="17.143">
<stop id="stop4128" offset="0"/>
<stop id="stop4130" stop-opacity="0" offset="1"/>
</radialGradient>
<linearGradient id="linearGradient3980" y2="-8.5627" gradientUnits="userSpaceOnUse" x2="20.065" y1="53.836" x1="43.936">
<stop id="stop2481" stop-color="#ffe69b" offset="0"/>
<stop id="stop2483" stop-color="#fff" offset="1"/>
</linearGradient>
</defs>
<metadata id="metadata1311">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:creator>
<cc:Agent>
<dc:title>Rodney Dawes</dc:title>
</cc:Agent>
</dc:creator>
<dc:contributor>
<cc:Agent>
<dc:title>Jakub Steiner, Garrett LeSage</dc:title>
</cc:Agent>
</dc:contributor>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/"/>
<dc:title/>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
<cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
<cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
<cc:requires rdf:resource="http://web.resource.org/cc/Notice"/>
<cc:requires rdf:resource="http://web.resource.org/cc/Attribution"/>
<cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
<cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike"/>
</cc:License>
</rdf:RDF>
</metadata>
<g id="layer2">
<path id="path6548" opacity=".6" style="color:#000000" d="m41 40a17.143 8.5714 0 1 1 -34.286 0 17.143 8.5714 0 1 1 34.286 0z" transform="matrix(1.0706 0 0 .525 -.89276 22.5)" display="block" fill="url(#radialGradient3976)"/>
</g>
<g id="layer1">
<g id="g4006">
<path id="path1314" d="m46.857 23.929c0 12.9-10.457 23.357-23.357 23.357s-23.357-10.457-23.357-23.357 10.457-23.357 23.357-23.357 23.357 10.457 23.357 23.357z" transform="matrix(.92049 0 0 .92049 2.3685 .97408)" stroke="#204a87" stroke-width="1.0864" fill="#3465a4"/>
<path id="path3560" opacity=".34659" d="m49.902 26.635c0 13.25-10.741 23.991-23.991 23.991s-23.991-10.741-23.991-23.991 10.741-23.991 23.991-23.991 23.991 10.741 23.991 23.991z" fill-opacity="0" transform="matrix(.85448 0 0 .85448 1.86 .24062)" stroke="url(#linearGradient3980)" stroke-width="1.1703"/>
</g>
</g>
<g id="layer3" fill="#fff">
<path id="path3684" opacity=".25" d="m24 3c-11.046 0-20 8.954-20 20 0 1.6861 0.23214 3.3108 0.625 4.875 3.204 4.7933 13.254-0.12014 20.219-5.5938 8.008-6.2931 17.842 8.3593 19.125 1.4375 0.008-0.239 0.031-0.478 0.031-0.719 0-11.046-8.954-20-20-20z"/>
<g id="g13674" transform="translate(2.8959 -3.6973)">
<path id="text3246" d="m21.104 13.697c-0.86423 0.01942-1.5754 0.30821-2.1336 0.86638-0.55819 0.55821-0.84699 1.2694-0.86638 2.1336 0.01939 0.86424 0.30819 1.5754 0.86638 2.1336 0.55818 0.55821 1.2694 0.847 2.1336 0.86638 0.86422-0.01938 1.5754-0.30817 2.1336-0.86638 0.55818-0.55817 0.84697-1.2694 0.86638-2.1336-0.01941-0.8642-0.3082-1.5754-0.86638-2.1336-0.5582-0.55817-1.2694-0.84696-2.1336-0.86638z"/>
<path id="path13678" d="m15.104 21.697v3h2c0.55228 0 1 0.44772 1 1v9c0 0.55228-0.44772 1-1 1h-2v3h12v-3h-2c-0.55228 0-1-0.44772-1-1v-13h-9z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

242
Web/static/img/icons/10.svg Normal file
View file

@ -0,0 +1,242 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="Office-calendar.svg"
sodipodi:docbase="C:\Documents and Settings\AleXander\Desktop"
inkscape:version="0.45.1"
sodipodi:version="0.32"
id="svg1288"
height="48px"
width="48px"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs3">
<linearGradient
id="linearGradient2563">
<stop
id="stop2565"
offset="0"
style="stop-color:#e2e2e2;stop-opacity:1;" />
<stop
id="stop2567"
offset="1.0000000"
style="stop-color:#9f9f9f;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient2551"
inkscape:collect="always">
<stop
id="stop2553"
offset="0"
style="stop-color:#000000;stop-opacity:1;" />
<stop
id="stop2555"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient2526">
<stop
id="stop2528"
offset="0.0000000"
style="stop-color:#e7ebeb;stop-opacity:1.0000000;" />
<stop
style="stop-color:#e6ebeb;stop-opacity:1.0000000;"
offset="0.50000000"
id="stop2534" />
<stop
id="stop2530"
offset="1.0000000"
style="stop-color:#ffffff;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
gradientTransform="translate(0.000000,0.785718)"
gradientUnits="userSpaceOnUse"
y2="28.428572"
x2="42.214283"
y1="14.428571"
x1="13.357142"
id="linearGradient2532"
xlink:href="#linearGradient2526"
inkscape:collect="always" />
<radialGradient
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.000000,0.000000,0.000000,0.751938,1.196962e-16,7.193799)"
r="18.428572"
fy="29.000000"
fx="26.000000"
cy="29.000000"
cx="26.000000"
id="radialGradient2557"
xlink:href="#linearGradient2551"
inkscape:collect="always" />
<linearGradient
gradientTransform="translate(0.000000,0.785718)"
gradientUnits="userSpaceOnUse"
y2="30.785713"
x2="42.214284"
y1="30.785713"
x1="6.7857148"
id="linearGradient2569"
xlink:href="#linearGradient2563"
inkscape:collect="always" />
<linearGradient
y2="28.428572"
x2="42.214283"
y1="14.428571"
x1="13.357142"
gradientTransform="translate(-1.4581733e-8,0.785718)"
gradientUnits="userSpaceOnUse"
id="linearGradient2582"
xlink:href="#linearGradient2526"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
inkscape:window-y="-4"
inkscape:window-x="-4"
inkscape:window-height="844"
inkscape:window-width="1440"
inkscape:document-units="px"
inkscape:grid-bbox="true"
showgrid="false"
inkscape:current-layer="layer1"
inkscape:cy="28.918103"
inkscape:cx="33.760848"
inkscape:zoom="8.3332646"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Calendar</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>http://jimmac.musichall.cz</dc:source>
<dc:subject>
<rdf:Bag>
<rdf:li>calendar</rdf:li>
<rdf:li>date</rdf:li>
<rdf:li>time</rdf:li>
<rdf:li>cal</rdf:li>
</rdf:Bag>
</dc:subject>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by/2.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by/2.0/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Attribution" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
inkscape:label="Layer 1"
id="layer1">
<path
transform="matrix(1.092008,0.000000,0.000000,0.536083,-3.549359,20.73933)"
d="M 44.428572 29.000000 A 18.428572 13.857142 0 1 1 7.5714283,29.000000 A 18.428572 13.857142 0 1 1 44.428572 29.000000 z"
sodipodi:ry="13.857142"
sodipodi:rx="18.428572"
sodipodi:cy="29.000000"
sodipodi:cx="26.000000"
id="path2549"
style="opacity:1.0000000;color:#000000;fill:url(#radialGradient2557);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.99999964;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc" />
<path
sodipodi:nodetypes="ccccccc"
id="path1316"
d="M 4.857143,38.428571 C 4.642857,39.428571 5.464286,40.464285 6.821429,40.428571 L 43,40.428571 C 44.285714,40.392857 44.714286,39.214285 44.428572,38.249999 L 36.571429,9.4285713 L 10.571429,9.4285713 L 4.857143,38.428571 z "
style="fill:#a7a7a7;fill-opacity:1;fill-rule:evenodd;stroke:#656565;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccccccccc"
id="path2575"
d="M 9.1625040,30.806458 L 39.395095,30.806458 C 40.252297,30.806458 40.942392,31.478744 40.942392,32.313825 L 42.269580,37.114760 C 42.269580,37.949841 41.579486,38.622127 40.722283,38.622127 L 8.2777114,38.622127 C 7.4205088,38.622127 6.7304142,37.949841 6.7304142,37.114760 L 7.6152068,32.313825 C 7.6152068,31.478744 8.3053014,30.806458 9.1625040,30.806458 z "
style="opacity:0.10857142;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans" />
<path
style="fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999970px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.34463277"
d="M 6.0478436,37.805569 C 5.8479823,38.738255 5.6491963,39.385227 6.5227626,39.385227 L 42.837439,39.385227 C 43.753496,39.385227 43.579187,38.645537 43.312705,37.746161 L 35.770172,10.471961 L 11.520336,10.471961 L 6.0478436,37.805569 z "
id="path2520"
sodipodi:nodetypes="ccccccc" />
<path
style="opacity:1.0000000;color:#000000;fill:#c5c5c5;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#696969;stroke-width:0.99999964;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
d="M 9.6418018,29.928574 L 38.929626,29.928574 C 39.760041,29.928574 40.428570,30.579851 40.428570,31.388835 L 41.714284,36.039742 C 41.714284,36.848726 41.045755,37.500003 40.215340,37.500003 L 8.7846589,37.500003 C 7.9542438,37.500003 7.2857146,36.848726 7.2857146,36.039742 L 8.1428575,31.388835 C 8.1428575,30.579851 8.8113867,29.928574 9.6418018,29.928574 z "
id="path2518"
sodipodi:nodetypes="ccccccccc" />
<path
sodipodi:nodetypes="ccccccccc"
id="rect2225"
d="M 9.6418018,27.785717 L 38.929626,27.785717 C 39.760041,27.785717 40.428570,28.436994 40.428570,29.245978 L 41.714284,33.896885 C 41.714284,34.705869 41.045755,35.357146 40.215340,35.357146 L 8.7846589,35.357146 C 7.9542438,35.357146 7.2857146,34.705869 7.2857146,33.896885 L 8.1428575,29.245978 C 8.1428575,28.436994 8.8113867,27.785717 9.6418018,27.785717 z "
style="color:#000000;fill:url(#linearGradient2569);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#696969;stroke-width:0.99999964;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
<g
transform="matrix(0.942549,0,0,0.942549,-0.222619,1.85586)"
id="g2578">
<path
style="fill:url(#linearGradient2582);fill-opacity:1;fill-rule:evenodd;stroke:#696969;stroke-width:1.06095243px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 10.891973,11.500004 L 6.571428,33.21429 C 6.571428,33.21429 32.857143,33.214291 32.857143,33.214291 C 45.441975,33.214291 48.085306,29.21429 48.085306,29.21429 C 48.085306,29.21429 44.728164,28.035719 43.299593,23.071433 C 43.299593,23.071433 40.23864,11.500004 40.23864,11.500004 L 10.891973,11.500004 z "
id="path2524"
sodipodi:nodetypes="cczczcc" />
<path
sodipodi:nodetypes="cccczcc"
id="path2571"
d="M 11.803734,12.474609 L 7.8122567,32.239668 C 7.8122567,32.239668 24.956518,32.239669 32.238382,32.239669 C 43.465021,32.239669 46.348811,29.388804 46.348811,29.388804 C 46.348811,29.388804 43.355751,27.525962 42.055419,23.007305 C 42.055419,23.007305 39.316856,12.546038 39.316856,12.546038 L 11.803734,12.474609 z "
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.06095195px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<path
sodipodi:nodetypes="ccccccccc"
id="rect2522"
d="M 11.315699,7.4285707 L 36.494515,7.4285707 C 37.367632,7.4285707 38.070539,8.0973414 38.070539,8.9280566 L 38.427682,11.071942 C 38.427682,11.902657 37.724775,12.571428 36.851658,12.571428 L 10.958556,12.571428 C 10.085439,12.571428 9.382532,11.902657 9.382532,11.071942 L 9.739675,8.9280566 C 9.739675,8.0973414 10.442582,7.4285707 11.315699,7.4285707 z "
style="color:#000000;fill:#18a72b;fill-opacity:1;fill-rule:evenodd;stroke:#3a553c;stroke-width:0.99999952;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
transform="matrix(0.684211,0.000000,0.000000,0.684211,3.560154,2.278197)"
d="M 12.857143 9.9285717 A 1.3571428 1.3571428 0 1 1 10.142857,9.9285717 A 1.3571428 1.3571428 0 1 1 12.857143 9.9285717 z"
sodipodi:ry="1.3571428"
sodipodi:rx="1.3571428"
sodipodi:cy="9.9285717"
sodipodi:cx="11.500000"
id="path2559"
style="opacity:0.52571428;color:#000000;fill:#fefefe;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.99999964;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc" />
<path
sodipodi:nodetypes="cc"
id="path2561"
d="M 13.042053,8.6010151 L 36.371309,8.6010151"
style="opacity:0.30285713;fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000001px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1.0000000" />
<path
style="fill:#a7a7a7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.76243556px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 13.572528,15.756255 L 13.139995,18.005424 L 16.196558,18.005424 L 16.456078,15.756255 L 13.572528,15.756255 z M 17.638333,15.756255 L 17.378814,18.005424 L 21.732974,18.005424 L 21.85485,15.756255 L 17.638333,15.756255 z M 22.730284,15.756255 L 22.557271,18.005424 L 26.328187,18.005424 L 26.068668,15.756255 L 22.730284,15.756255 z M 26.812992,15.756255 L 27.101347,18.005424 L 30.446265,18.005424 L 29.927226,15.756255 L 26.812992,15.756255 z M 31.109481,15.756255 L 31.62852,18.005424 L 35.031109,18.005424 C 34.761227,17.069337 34.367893,15.756255 34.367893,15.756255 L 31.109481,15.756255 z M 12.995818,18.841653 L 12.447943,21.754039 L 15.73519,21.754039 L 16.081216,18.841653 L 12.995818,18.841653 z M 17.292307,18.841653 L 16.946281,21.754039 L 21.473455,21.754039 L 21.675303,18.841653 L 17.292307,18.841653 z M 22.4996,18.841653 L 22.297751,21.754039 L 26.818391,21.754039 L 26.443529,18.841653 L 22.4996,18.841653 z M 27.216689,18.841653 L 27.59155,21.754039 L 31.253659,21.754039 L 30.619278,18.841653 L 27.216689,18.841653 z M 31.801533,18.841653 L 32.46475,21.754039 L 36.098023,21.754039 C 35.840722,20.874771 35.6657,20.242602 35.261793,18.841653 L 31.801533,18.841653 z M 12.27493,22.590268 L 11.727056,25.531489 C 12.692202,25.541472 14.135511,25.552532 15.302658,25.560325 L 15.648684,22.590268 L 12.27493,22.590268 z M 16.830939,22.590268 L 16.484913,25.560325 C 18.083766,25.569721 19.443065,25.582629 21.1851,25.58916 L 21.415784,22.590268 L 16.830939,22.590268 z M 22.211245,22.590268 L 22.009396,25.617996 C 23.807368,25.622683 25.555757,25.598331 27.308594,25.58916 L 26.933733,22.590268 L 22.211245,22.590268 z M 27.706892,22.590268 L 28.081754,25.58916 C 29.510362,25.578525 30.82974,25.551766 32.118724,25.531489 L 31.455507,22.590268 L 27.706892,22.590268 z M 32.637763,22.590268 L 33.300979,25.531489 C 34.902947,25.499889 36.297192,25.44944 37.366785,25.387312 C 37.099732,24.799839 36.824019,24.149448 36.588226,23.397662 C 36.588226,23.397662 36.396815,22.724179 36.357542,22.590268 L 32.637763,22.590268 z M 37.828153,26.367719 C 37.623111,26.374735 37.466963,26.390012 37.251443,26.396554 C 36.906914,26.468331 35.445788,26.492612 33.531663,26.511896 L 34.281386,29.856814 C 38.540437,29.392568 39.183421,28.415039 39.183421,28.415039 C 39.183421,28.41504 38.55028,27.712069 37.828153,26.367719 z M 11.554043,26.396554 L 10.861991,30.029827 C 10.861991,30.029827 13.545705,30.026365 14.783619,30.029827 L 15.187316,26.42539 C 13.982562,26.414763 12.332649,26.406454 11.554043,26.396554 z M 16.398407,26.454225 L 15.965874,30.058663 C 17.830575,30.063939 18.425137,30.051216 20.867909,30.058663 L 21.127429,26.483061 C 19.377943,26.467201 18.076533,26.468423 16.398407,26.454225 z M 21.92289,26.511896 L 21.66337,30.058663 C 24.648955,30.067766 26.570898,30.082616 27.731893,30.087498 L 27.423936,26.540732 C 25.58264,26.53404 23.872128,26.528198 21.92289,26.511896 z M 32.320572,26.511896 C 31.019299,26.519528 29.755218,26.544061 28.197096,26.540732 L 28.658464,30.087498 C 28.679554,30.08759 29.062161,30.087498 29.062161,30.087498 C 30.677769,30.087498 31.799461,30.030747 32.94572,29.943321 L 32.320572,26.511896 z "
id="path3160"
sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48">
<defs>
<path id="p" fill="#fff" d="M8.8749989 37.75a1.2499999 1.2499999 0 1 1-2.4999997 0 1.2499999 1.2499999 0 1 1 2.4999997 0z" opacity=".52777782" overflow="visible" style="marker:none"/>
</defs>
<defs>
<linearGradient id="d">
<stop offset="0" stop-color="#fff"/>
<stop offset="1" stop-color="#fff" stop-opacity="0"/>
</linearGradient>
<linearGradient id="f">
<stop offset="0" stop-color="#729fcf"/>
<stop offset="1" stop-color="#2b5582"/>
</linearGradient>
<linearGradient id="h">
<stop offset="0" stop-color="#729fcf"/>
<stop offset="1" stop-color="#3c74b1"/>
</linearGradient>
<linearGradient id="e">
<stop offset="0" stop-color="#f2f2f2"/>
<stop offset="1" stop-color="#c3c3c3"/>
</linearGradient>
<linearGradient id="g">
<stop offset="0" stop-color="#aeaeae"/>
<stop offset="1" stop-color="#c4c4c4" stop-opacity="0"/>
</linearGradient>
<linearGradient id="c">
<stop offset="0" stop-color="#fff"/>
<stop offset="1" stop-color="#fff" stop-opacity="0"/>
</linearGradient>
<linearGradient id="j">
<stop offset="0"/>
<stop offset="1" stop-opacity="0"/>
</linearGradient>
<linearGradient id="i">
<stop offset="0" stop-color="#696969"/>
<stop offset="1"/>
</linearGradient>
<linearGradient id="b">
<stop offset="0" stop-color="#6e3d09"/>
<stop offset=".24242425" stop-color="#ea8113"/>
<stop offset=".62121212" stop-color="#5c3307"/>
<stop offset="1" stop-color="#e07c12"/>
</linearGradient>
<linearGradient id="a">
<stop offset="0" stop-color="#bdbdbd"/>
<stop offset=".33333334" stop-color="#e2e2e2"/>
<stop offset=".66666669" stop-color="#a3a3a3"/>
<stop offset="1" stop-color="#ddd"/>
</linearGradient>
<linearGradient xlink:href="#a" id="m" x1="19.394735" x2="23.109331" y1="30.001331" y2="33.438831" gradientTransform="translate(-3.90695 -1.802856)" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#b" id="l" x1="28.058632" x2="33.436985" y1="18.867767" y2="23.742767" gradientTransform="translate(-3.90695 -1.802856)" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#c" id="q" x1="13.236155" x2="7.7521091" y1="37.752247" y2="42.282146" gradientTransform="translate(-1.675107 3.753977) scale(.8523)" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#d" id="w" x1="48.25" x2="48.25" y1="54.75" y2="71.25" gradientTransform="translate(-1.897103 -20.68606) scale(.71891)" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#e" id="v" x1="60.168766" x2="60.440994" y1="40.119797" y2="43.869797" gradientTransform="matrix(.7373 0 0 .77085 -8.532023 7.121636)" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#f" id="u" x1="49.853037" x2="62.768221" y1="64.259623" y2="64.259623" gradientTransform="translate(-1.897103 -22.42481) scale(.71891)" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#g" id="t" x1="61.871845" x2="61.871845" y1="29.615223" y2="41.459263" gradientTransform="matrix(.88862 0 0 .71891 -18.29768 9.471728)" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#e" id="s" x1="53.168766" x2="69.690994" y1="24.244797" y2="24.244797" gradientTransform="matrix(.71944 0 0 .71891 -7.696252 9.471728)" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#h" id="r" x1="52.717936" x2="67.465988" y1="2.3161638" y2="2.3161638" gradientTransform="matrix(.86248 0 0 .58072 -16.25697 11.01348)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#i" id="o" cx="15.415101" cy="35.356506" r="7.5791561" fx="15.415101" fy="35.356506" gradientTransform="matrix(.99465 0 0 .96932 -4.583017 .165919)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#j" id="n" cx="26.78167" cy="42.343147" r="14.407301" fx="26.78167" fy="42.343147" gradientTransform="matrix(1 0 0 .2822 0 30.39355)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#j" id="k" cx="26.78167" cy="42.343147" r="14.407301" fx="26.78167" fy="42.343147" gradientTransform="matrix(1 0 0 .2822 0 30.39355)" gradientUnits="userSpaceOnUse"/>
</defs>
<g color="#000">
<path fill="url(#k)" d="M41.188971 42.343147a14.407301 4.0658641 0 1 1-28.814602 0 14.407301 4.0658641 0 1 1 28.814602 0z" opacity=".3" overflow="visible" style="marker:none" transform="matrix(1.06922 0 0 1.12298 5.769028 -7.11616)"/>
<path fill="url(#l)" stroke="#673907" stroke-linecap="round" d="m19.651682 22.586735 4.065864 3.800698c7.187499-7.062499 17.78306-23.9772875 17.78306-23.9772875.42949-1.2244462-1.087245-1.99589286-1.846352-1.170495 0 0-13.690073 14.0970855-20.002572 21.3470845z" overflow="visible" style="marker:none"/>
<path fill="url(#m)" stroke="#888a85" stroke-linecap="round" d="m12.050285 32.813894 2.24632 1.93382 8.492766-7.367031.275061-.705828 1.094405-.017815c-.4375-1.5625-2.941514-4.383455-4.816514-4.383455l.082019 1.090075-.669991.380027-6.704066 9.070207z" overflow="visible" style="marker:none"/>
<path fill="url(#n)" d="M41.188971 42.343147a14.407301 4.0658641 0 1 1-28.814602 0 14.407301 4.0658641 0 1 1 28.814602 0z" opacity=".3" overflow="visible" style="marker:none" transform="matrix(1.33837 0 0 1 -20.9264 -3.409011)"/>
<path fill="url(#o)" d="M1.757709 40.723915c6.6053126 0 11.618187.786601 12.567225-4.019073.764793-3.872709-4.5603244-5.72836-7.1991314-2.271051C4.583799 37.76427 1.757709 40.723915 1.757709 40.723915z" overflow="visible" style="marker:none"/>
<use xlink:href="#p" opacity=".52777782" overflow="visible" style="marker:none" transform="translate(3.733554 2.575604) scale(.8523)"/>
<use xlink:href="#p" overflow="visible" style="marker:none" transform="translate(14.26538 -4.723366) scale(.78787)"/>
<path fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" d="m18.941438 26.398154-5.303301 6.14299" overflow="visible" style="marker:none"/>
<path fill="url(#q)" d="M3.0708872 40.068976s3.3411114-1.641821 4.7648284-4.086829c.503707-.865037 1.644373-.126836.941666.734499-1.517828 1.860458-5.7064944 3.35233-5.7064944 3.35233z" opacity=".42777776" overflow="visible" style="marker:none"/>
<use xlink:href="#p" opacity=".53333327" overflow="visible" style="marker:none" transform="translate(38.43389 -7.101028) scale(.23787)"/>
<path fill="url(#r)" stroke="#204a87" stroke-linecap="round" stroke-width=".99999982" d="M35.12694 7.3500759c-3.057856.0872889-5.484389 1.0560825-5.484389 2.2243336v3.5701185c0 1.225706 2.670932 2.224333 5.94142 2.224333 3.270486 0 5.916029-.998627 5.916029-2.224333V9.5744095c0-1.2257062-2.645543-2.2243336-5.916029-2.2243336-.153305 0-.306646-.0042933-.457031 0z" overflow="visible" style="marker:none"/>
<path fill="#3465a4" d="M57.375 49.75a5.375 1.5 0 1 1-10.75 0 5.375 1.5 0 1 1 10.75 0z" overflow="visible" style="marker:none" transform="matrix(.88628 0 0 .46891 -10.44392 -9.718859)"/>
<path fill="url(#s)" stroke="#5a5a5a" stroke-linecap="round" stroke-width="1.00000036" d="m27.926447 39.155467 1.047009-21.349435 2.486646-3.663512c1.971292-.635437 6.726427-.635437 8.506948 0l2.486647 3.031873L45.07122 39.66078l-17.144773-.505313z" overflow="visible" style="marker:none"/>
<path fill="url(#t)" d="M28.828495 38.896108s2.590673-9.531543 7.540188-9.531543c5.106601 0 8.168535 9.912805 8.168535 9.912805l-15.708723-.381262z" overflow="visible" style="marker:none"/>
<path fill="url(#u)" d="m29.180138 20.498708-.295913 6.474742c1.662489-1.078371 11.992511-1.264486 14.343625.387648l-.701548-6.597313c-1.39796-.953154-10.582838-1.478245-13.346164-.265077z" overflow="visible" style="marker:none"/>
<path fill="none" stroke="#fff" stroke-linecap="round" stroke-width="1.00000012" d="m29.048762 38.222096.877497-20.194312 1.839967-3.032835c1.818556-.592175 6.205258-.592175 7.847823 0l1.960481 2.532586L44.026754 38.7759l-14.977992-.553804z" opacity=".5944443" overflow="visible" style="marker:none"/>
<rect width="19.974413" height="3.9277525" x="26.512789" y="37.536133" fill="url(#v)" stroke="#5a5a5a" stroke-linecap="round" stroke-width="1.0000006" overflow="visible" rx=".88388413" ry=".88388366" style="marker:none"/>
<path fill="#fff" d="M29.395219 17.996451c1.874537-1.366188 9.097934-1.655174 12.71992-.606704l-2.337406-2.885623c-2.478201-.667208-5.924347-.375766-8.275461.06904l-2.107053 3.423287z" overflow="visible" style="marker:none"/>
<path fill="url(#w)" d="M31.172941 17.416382v15.456651l3.235113-3.59457-.359457-12.580995-2.875656.718914z" opacity=".86111109" overflow="visible" style="marker:none"/>
<g fill="#e6e7e6" opacity=".57777778">
<path d="M31.009391 9.3809738v3.2400352s.611189-.347686.990609-.361321V9c-.481572.0694626-.990609.3809738-.990609.3809738z" opacity=".41111111" overflow="visible" style="marker:none"/>
<path d="M33.009391 8.7599648V12s.611189-.082521.990609-.096156V8.5889133c-.511601.0258046-.990609.1710515-.990609.1710515z" overflow="visible" style="marker:none"/>
<path d="M35.009391 8.561091v3.295278s.555946-.005182.990609.014329V8.5336706c-.500552-.0515352-.990609.0274204-.990609.0274204z" opacity=".44444444" overflow="visible" style="marker:none"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.2 KiB

882
Web/static/img/icons/12.svg Normal file
View file

@ -0,0 +1,882 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:export-ydpi="90.000000"
inkscape:export-xdpi="90.000000"
inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
width="48px"
height="48px"
id="svg11300"
sodipodi:version="0.32"
inkscape:version="0.46"
sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/apps"
sodipodi:docname="preferences-desktop-theme.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs3">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 24 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="48 : 24 : 1"
inkscape:persp3d-origin="24 : 16 : 1"
id="perspective135" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5060"
id="radialGradient5031"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" />
<linearGradient
inkscape:collect="always"
id="linearGradient5060">
<stop
style="stop-color:black;stop-opacity:1;"
offset="0"
id="stop5062" />
<stop
style="stop-color:black;stop-opacity:0;"
offset="1"
id="stop5064" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5060"
id="radialGradient5029"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" />
<linearGradient
id="linearGradient5048">
<stop
style="stop-color:black;stop-opacity:0;"
offset="0"
id="stop5050" />
<stop
id="stop5056"
offset="0.5"
style="stop-color:black;stop-opacity:1;" />
<stop
style="stop-color:black;stop-opacity:0;"
offset="1"
id="stop5052" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5048"
id="linearGradient5027"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
x1="302.85715"
y1="366.64789"
x2="302.85715"
y2="609.50507" />
<linearGradient
id="linearGradient4649">
<stop
id="stop4651"
offset="0"
style="stop-color:#80837d;stop-opacity:1;" />
<stop
id="stop4653"
offset="1"
style="stop-color:#4c4d4a;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient4639">
<stop
style="stop-color:#555753;stop-opacity:1;"
offset="0"
id="stop4641" />
<stop
style="stop-color:#7c7f79;stop-opacity:1;"
offset="1"
id="stop4643" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient4633">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop4635" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop4637" />
</linearGradient>
<linearGradient
id="linearGradient4596">
<stop
style="stop-color:#75507b;stop-opacity:1;"
offset="0"
id="stop4598" />
<stop
style="stop-color:#543958;stop-opacity:1;"
offset="1"
id="stop4600" />
</linearGradient>
<linearGradient
id="linearGradient4586">
<stop
style="stop-color:#204a87;stop-opacity:1;"
offset="0"
id="stop4588" />
<stop
style="stop-color:#142e55;stop-opacity:1;"
offset="1"
id="stop4590" />
</linearGradient>
<linearGradient
id="linearGradient3697">
<stop
style="stop-color:#c8d5e6;stop-opacity:1;"
offset="0"
id="stop3699" />
<stop
style="stop-color:#427ebf;stop-opacity:1;"
offset="1"
id="stop3701" />
</linearGradient>
<linearGradient
id="linearGradient3689">
<stop
id="stop3691"
offset="0"
style="stop-color:#5079ad;stop-opacity:1;" />
<stop
id="stop3693"
offset="1"
style="stop-color:#729fcf" />
</linearGradient>
<linearGradient
id="linearGradient3568">
<stop
style="stop-color:#d6d6d6;stop-opacity:1;"
offset="0"
id="stop3570" />
<stop
style="stop-color:#f0f0f0;stop-opacity:1;"
offset="1"
id="stop3572" />
</linearGradient>
<linearGradient
id="linearGradient3560">
<stop
style="stop-color:#f0f0f0;stop-opacity:1;"
offset="0"
id="stop3562" />
<stop
style="stop-color:#c9c9c9;stop-opacity:1;"
offset="1"
id="stop3564" />
</linearGradient>
<linearGradient
id="linearGradient3550">
<stop
id="stop3552"
offset="0"
style="stop-color:#8b8b8b;stop-opacity:1;" />
<stop
id="stop3554"
offset="1"
style="stop-color:#a9a9a9;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient3536">
<stop
style="stop-color:#b0b0b0;stop-opacity:1;"
offset="0"
id="stop3538" />
<stop
style="stop-color:#757575;stop-opacity:1;"
offset="1"
id="stop3540" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3528">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop3530" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop3532" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3518">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3520" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3522" />
</linearGradient>
<linearGradient
id="linearGradient3508">
<stop
style="stop-color:#b0b0b0;stop-opacity:1;"
offset="0"
id="stop3510" />
<stop
style="stop-color:#939393;stop-opacity:1;"
offset="1"
id="stop3512" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3508"
id="linearGradient3514"
x1="16.940231"
y1="27.853085"
x2="16.940231"
y2="24.135145"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-2.121319,3.005205)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3518"
id="linearGradient3524"
x1="17.456696"
y1="37.661667"
x2="17.456696"
y2="27.231844"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-2.121319,3.005205)" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3528"
id="radialGradient3534"
cx="17.014757"
cy="39.249554"
fx="17.014757"
fy="39.249554"
r="9.5017471"
gradientTransform="matrix(1.000000,0.000000,0.000000,0.502326,-2.992397e-15,19.53350)"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3536"
id="radialGradient3542"
cx="18.163805"
cy="22.531874"
fx="18.163805"
fy="22.531874"
r="2.8422911"
gradientTransform="matrix(1.000000,0.000000,0.000000,0.860061,0.000000,3.253760)"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3550"
id="radialGradient3548"
cx="17.097467"
cy="19.777185"
fx="17.097467"
fy="19.777185"
r="4.5473714"
gradientTransform="matrix(1.208333,0.000000,0.000000,0.636493,-5.683292,8.681835)"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3560"
id="radialGradient3566"
cx="12.91097"
cy="13.001998"
fx="12.91097"
fy="13.001998"
r="7.4889511"
gradientTransform="matrix(1.802725,2.307502e-23,-2.636931e-23,1.503342,-12.48525,-2.659143)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3568"
id="linearGradient3574"
x1="14.883313"
y1="27.847456"
x2="13.400961"
y2="20.069281"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-2.121319,3.005205)" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3550"
id="radialGradient3610"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.208333,0.000000,0.000000,0.636493,-5.683292,8.681835)"
cx="17.097467"
cy="19.777185"
fx="17.097467"
fy="19.777185"
r="4.5473714" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3560"
id="radialGradient3612"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.802725,2.307502e-23,-2.636931e-23,1.503342,-12.48525,-2.659143)"
cx="12.91097"
cy="13.001998"
fx="12.91097"
fy="13.001998"
r="7.4889511" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3518"
id="linearGradient3616"
gradientUnits="userSpaceOnUse"
x1="17.456696"
y1="37.661667"
x2="17.456696"
y2="27.231844"
gradientTransform="translate(-2.121319,3.005205)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3568"
id="linearGradient3620"
gradientUnits="userSpaceOnUse"
x1="14.883313"
y1="27.847456"
x2="13.400961"
y2="20.069281"
gradientTransform="translate(-2.121319,3.005205)" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3528"
id="radialGradient3661"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.000000,0.000000,0.000000,0.502326,5.762756e-15,19.53350)"
cx="17.014757"
cy="39.249554"
fx="17.014757"
fy="39.249554"
r="9.5017471" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3568"
id="linearGradient3663"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(15.99833,-9.914664)"
x1="14.883313"
y1="27.847456"
x2="13.400961"
y2="20.069281" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3508"
id="linearGradient3665"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(15.99833,-9.914664)"
x1="16.940231"
y1="27.853085"
x2="16.940231"
y2="24.135145" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3518"
id="linearGradient3667"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(15.99833,-9.914664)"
x1="17.456696"
y1="37.661667"
x2="17.456696"
y2="27.231844" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3536"
id="radialGradient3669"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.000000,0.000000,0.000000,0.860061,0.000000,3.253760)"
cx="18.163805"
cy="22.531874"
fx="18.163805"
fy="22.531874"
r="2.8422911" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3560"
id="radialGradient3671"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.802725,2.307502e-23,-2.636931e-23,1.503342,5.634344,-15.57903)"
cx="12.91097"
cy="13.001998"
fx="12.91097"
fy="13.001998"
r="7.4889511" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3550"
id="radialGradient3673"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.208333,0.000000,0.000000,0.636493,12.43635,-4.238032)"
cx="17.097467"
cy="19.777185"
fx="17.097467"
fy="19.777185"
r="4.5473714" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3528"
id="radialGradient3675"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.000000,0.000000,0.000000,0.502326,5.762756e-15,19.53350)"
cx="17.014757"
cy="39.249554"
fx="17.014757"
fy="39.249554"
r="9.5017471" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3689"
id="linearGradient3677"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(15.99833,-9.914664)"
x1="14.883313"
y1="27.847456"
x2="13.400961"
y2="20.069281" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3518"
id="linearGradient3681"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(15.99833,-9.914664)"
x1="17.456696"
y1="37.661667"
x2="17.456696"
y2="27.231844" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3697"
id="radialGradient3705"
cx="27.8486"
cy="4.607163"
fx="27.8486"
fy="4.607163"
r="7.4889512"
gradientTransform="matrix(1.000000,0.000000,0.000000,0.833928,2.121324,0.655729)"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4586"
id="radialGradient4594"
cx="30.974438"
cy="12.172572"
fx="30.974438"
fy="12.172572"
r="4.890574"
gradientTransform="matrix(2.132075,-4.734158e-15,2.267378e-15,1.021136,-32.94404,-3.689447)"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4596"
id="radialGradient4602"
cx="18.163805"
cy="22.429104"
fx="18.163805"
fy="22.429104"
r="2.8422911"
gradientTransform="matrix(1.870990,-2.499894e-15,2.150062e-15,1.609166,-15.82050,-13.54799)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4633"
id="linearGradient4619"
x1="31.643028"
y1="13.616933"
x2="31.643028"
y2="9.6384754"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(2.121324,-0.883885)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4633"
id="linearGradient4621"
x1="31.643028"
y1="13.616933"
x2="31.643028"
y2="9.6384754"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(2.121324,-0.883885)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4639"
id="linearGradient4645"
x1="15.335379"
y1="28.377787"
x2="15.335379"
y2="34.388195"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4649"
id="radialGradient4647"
cx="18.163805"
cy="22.223564"
fx="18.163805"
fy="22.223564"
r="2.8422911"
gradientTransform="matrix(1.000000,0.000000,0.000000,0.860061,0.000000,3.253760)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5048"
id="linearGradient6715"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
x1="302.85715"
y1="366.64789"
x2="302.85715"
y2="609.50507" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5060"
id="radialGradient6717"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5060"
id="radialGradient6719"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" />
</defs>
<sodipodi:namedview
stroke="#2e3436"
fill="#555753"
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="0.25490196"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="-124.63746"
inkscape:cy="8.081426"
inkscape:current-layer="layer2"
showgrid="false"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:showpageshadow="false"
inkscape:window-width="872"
inkscape:window-height="703"
inkscape:window-x="234"
inkscape:window-y="145" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:creator>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>http://jimmac.musichall.cz</dc:source>
<cc:license
rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
<dc:title>Themes</dc:title>
<dc:subject>
<rdf:Bag>
<rdf:li>skin</rdf:li>
<rdf:li>color</rdf:li>
<rdf:li>theme</rdf:li>
<rdf:li>customize</rdf:li>
<rdf:li>flavor</rdf:li>
</rdf:Bag>
</dc:subject>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/publicdomain/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="blue shirt">
<g
transform="matrix(1.518738e-2,0,0,2.086758e-2,45.6332,27.4036)"
id="g6707">
<rect
style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="rect6709"
width="1339.6335"
height="478.35718"
x="-1559.2523"
y="-150.69685" />
<path
style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
id="path6711"
sodipodi:nodetypes="cccc" />
<path
sodipodi:nodetypes="cccc"
id="path6713"
d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
</g>
<path
style="color:#000000;fill:url(#linearGradient3663);fill-opacity:1;fill-rule:evenodd;stroke:#949494;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 31.205998,5.2048743 L 34.908493,5.2048743 C 39.19495,5.2048743 44.455603,6.5223903 44.455603,7.0610293 L 44.455603,29.688444 C 44.455603,30.227083 44.018726,30.660716 43.476057,30.660716 L 22.638435,30.660716 C 22.095767,30.660716 21.658889,30.227083 21.658889,29.688444 L 21.658889,7.0610293 C 21.658889,6.5223903 26.830568,5.2048743 31.205998,5.2048743 z "
id="path3627"
sodipodi:nodetypes="ccccccccc" />
<path
sodipodi:nodetypes="ccccccc"
id="path3629"
d="M 31.363447,6.0663853 L 34.751056,6.0663853 C 38.672963,6.0663853 43.486213,7.5879023 43.486213,7.5879023 L 43.486213,29.657422 C 43.486213,29.657422 22.628291,29.657422 22.628291,29.657422 L 22.628291,7.5879023 C 22.628291,7.5879023 27.360135,6.0663853 31.363447,6.0663853 z "
style="opacity:0.61988304;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
style="opacity:1;color:#000000;fill:url(#linearGradient3665);fill-opacity:1;fill-rule:evenodd;stroke:#949494;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 33.410797,10.508173 L 30.405594,17.314076 L 30.405594,29.600057 L 33.587574,32.428484 L 36.50439,29.600057 L 36.50439,17.1373 L 33.410797,10.508173 z "
id="path3631" />
<path
id="path3633"
d="M 33.422901,13.510439 L 31.417678,17.921699 L 31.417678,28.969769 L 33.551254,31.023416 L 35.492301,28.969769 L 35.492301,17.793346 L 33.422901,13.510439 z "
style="opacity:0.46783627;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3667);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:nodetypes="ccccccc" />
<path
sodipodi:type="arc"
style="opacity:1;color:#000000;fill:url(#radialGradient3669);fill-opacity:1;fill-rule:evenodd;stroke:#949494;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="path3635"
sodipodi:cx="18.163805"
sodipodi:cy="23.251263"
sodipodi:rx="2.3422911"
sodipodi:ry="1.9445436"
d="M 20.506096 23.251263 A 2.3422911 1.9445436 0 1 1 15.821514,23.251263 A 2.3422911 1.9445436 0 1 1 20.506096 23.251263 z"
transform="translate(15.11444,-11.15211)" />
<path
style="opacity:1;color:#000000;fill:url(#radialGradient3671);fill-opacity:1;fill-rule:evenodd;stroke:#949494;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 33.057245,10.331398 L 28.019109,14.132097 C 28.019109,14.132097 26.162954,8.5652093 26.162954,6.0887583 C 26.162955,3.6138843 27.48878,2.6416133 28.902993,2.6416133 C 28.902993,2.6416133 37.299886,2.6416133 37.299886,2.6416133 C 38.256463,2.6416133 39.929439,3.0393603 40.128313,5.9119823 C 40.327187,8.7846031 38.095381,14.132097 38.095381,14.132097 L 33.057245,10.331398 z "
id="path3637"
sodipodi:nodetypes="cczcczcc" />
<path
style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 29.915116,5.0280943 C 29.915116,5.0280943 28.099472,5.5160723 28.41988,6.6872173 C 28.740287,7.8583633 31.196747,9.7126756 31.196747,9.7126756 L 35.789258,9.7126756 C 35.789258,9.7126756 37.898608,8.1511493 38.138915,6.9800043 C 38.379221,5.8088583 36.750481,5.0280943 36.750481,5.0280943 L 29.915116,5.0280943 z "
id="path3639"
sodipodi:nodetypes="csccscc" />
<path
sodipodi:nodetypes="csccscc"
id="path3641"
d="M 29.73834,4.0558263 C 29.73834,4.0558263 27.922696,4.5438043 28.243104,5.7149493 C 28.563511,6.8860953 31.019971,8.7404084 31.019971,8.7404084 L 35.612482,8.7404084 C 35.612482,8.7404084 37.721832,7.1788813 37.962139,6.0077363 C 38.202445,4.8365903 36.573705,4.0558263 36.573705,4.0558263 L 29.73834,4.0558263 z "
style="opacity:1;color:#000000;fill:url(#radialGradient3673);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
sodipodi:nodetypes="ccccccccc"
id="path3645"
d="M 31.205998,5.2048743 L 34.908493,5.2048743 C 39.19495,5.2048743 44.455603,6.5223903 44.455603,7.0610293 L 44.455603,29.688444 C 44.455603,30.227083 44.018726,30.660716 43.476057,30.660716 L 22.638435,30.660716 C 22.095767,30.660716 21.658889,30.227083 21.658889,29.688444 L 21.658889,7.0610293 C 21.658889,6.5223903 26.830568,5.2048743 31.205998,5.2048743 z "
style="color:#000000;fill:url(#linearGradient3677);fill-opacity:1;fill-rule:evenodd;stroke:#3465a4;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
style="opacity:0.26315792;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 31.363447,6.0663853 L 34.751056,6.0663853 C 38.672963,6.0663853 43.486213,7.5879023 43.486213,7.5879023 L 43.486213,29.657422 C 43.486213,29.657422 22.628291,29.657422 22.628291,29.657422 L 22.628291,7.5879023 C 22.628291,7.5879023 27.360135,6.0663853 31.363447,6.0663853 z "
id="path3647"
sodipodi:nodetypes="ccccccc" />
<path
id="path3649"
d="M 33.410797,10.508173 C 33.410797,10.508173 30.405594,15.439076 30.405594,17.314076 L 30.405594,29.600057 L 33.587574,32.428484 L 36.50439,29.600057 L 36.50439,17.1373 C 36.50439,15.3873 33.410797,10.508173 33.410797,10.508173 z "
style="opacity:1;color:#000000;fill:#75507b;fill-opacity:1;fill-rule:evenodd;stroke:#5c3566;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:nodetypes="ccccccc" />
<path
sodipodi:nodetypes="ccccccc"
style="opacity:0.25146197;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3681);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 33.422901,13.510439 L 31.417678,17.921699 L 31.417678,28.969769 L 33.551254,31.023416 L 35.492301,28.969769 L 35.492301,17.793346 L 33.422901,13.510439 z "
id="path3651" />
<path
transform="translate(15.11444,-11.15211)"
d="M 20.506096 23.251263 A 2.3422911 1.9445436 0 1 1 15.821514,23.251263 A 2.3422911 1.9445436 0 1 1 20.506096 23.251263 z"
sodipodi:ry="1.9445436"
sodipodi:rx="2.3422911"
sodipodi:cy="23.251263"
sodipodi:cx="18.163805"
id="path3653"
style="opacity:1;color:#000000;fill:url(#radialGradient4602);fill-opacity:1;fill-rule:evenodd;stroke:#5c3566;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc" />
<path
sodipodi:nodetypes="cczcczcc"
id="path3655"
d="M 33.057245,10.331398 L 28.019109,14.132097 C 28.019109,14.132097 26.162954,8.5652093 26.162954,6.0887583 C 26.162955,3.6138843 27.48878,2.6416133 28.902993,2.6416133 C 28.902993,2.6416133 37.299886,2.6416133 37.299886,2.6416133 C 38.256463,2.6416133 39.929439,3.0393603 40.128313,5.9119823 C 40.327187,8.7846031 38.095381,14.132097 38.095381,14.132097 L 33.057245,10.331398 z "
style="opacity:1;color:#000000;fill:url(#radialGradient3705);fill-opacity:1;fill-rule:evenodd;stroke:#3465a4;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
sodipodi:nodetypes="csccscc"
id="path3657"
d="M 29.915116,5.0280943 C 29.915116,5.0280943 28.099472,5.5160723 28.41988,6.6872173 C 28.740287,7.8583633 30.696747,9.7126756 31.196747,9.7126756 L 35.789258,9.7126756 C 36.539258,9.6501756 37.898608,8.1511493 38.138915,6.9800043 C 38.379221,5.8088583 36.750481,5.0280943 36.750481,5.0280943 L 29.915116,5.0280943 z "
style="opacity:0.33333333;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
style="opacity:1;color:#000000;fill:url(#radialGradient4594);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 29.73834,4.0558263 C 29.23834,4.0558263 27.922696,4.5438043 28.243104,5.7149493 C 28.563511,6.8860953 30.142741,8.7404084 31.019971,8.7404084 L 35.612482,8.7404084 C 36.302817,8.7404084 37.721832,7.1788813 37.962139,6.0077363 C 38.202445,4.8365903 37.073705,4.0558263 36.573705,4.0558263 L 29.73834,4.0558263 z "
id="path3659"
sodipodi:nodetypes="csccscc" />
<path
style="opacity:0.28654971;color:#000000;fill:url(#linearGradient4619);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 33.145635,9.6836496 L 37.830218,13.219183 L 39.067654,9.7720386 L 37.565053,12.246911 L 33.145635,9.6836496 z "
id="path4609" />
<path
id="path4611"
d="M 32.792081,9.8604263 L 28.372663,13.219183 L 26.870062,6.5900599 L 28.902993,11.981746 L 32.792081,9.8604263 z "
style="opacity:0.28654971;color:#000000;fill:url(#linearGradient4621);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="layer1"
inkscape:label="grey shirt"
inkscape:groupmode="layer">
<path
style="color:#000000;fill:url(#linearGradient3574);fill-opacity:1;fill-rule:evenodd;stroke:#949494;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 13.086385,18.12474 L 16.78888,18.12474 C 21.075337,18.12474 26.33599,19.442256 26.33599,19.980895 L 26.33599,42.608311 C 26.33599,43.14695 25.899113,43.580583 25.356444,43.580583 L 4.5188213,43.580583 C 3.9761532,43.580583 3.5392748,43.14695 3.5392748,42.608311 L 3.5392748,19.980895 C 3.5392748,19.442256 8.7109537,18.12474 13.086385,18.12474 z "
id="rect2564"
sodipodi:nodetypes="ccccccccc" />
<path
sodipodi:nodetypes="ccccccc"
id="path3576"
d="M 13.243834,18.986251 L 16.631443,18.986251 C 20.55335,18.986251 25.3666,20.507768 25.3666,20.507768 L 25.3666,42.577289 C 25.3666,42.577289 4.5086772,42.577289 4.5086772,42.577289 L 4.5086772,20.507768 C 4.5086772,20.507768 9.2405207,18.986251 13.243834,18.986251 z "
style="opacity:0.61988304;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<g
id="g5022"
transform="matrix(1.518738e-2,0,0,2.086758e-2,28.3832,40.0286)">
<rect
y="-150.69685"
x="-1559.2523"
height="478.35718"
width="1339.6335"
id="rect4173"
style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
sodipodi:nodetypes="cccc"
id="path5058"
d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
id="path5018"
sodipodi:nodetypes="cccc" />
</g>
<path
style="opacity:1;color:#000000;fill:url(#linearGradient3514);fill-opacity:1;fill-rule:evenodd;stroke:#949494;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 15.291184,23.42804 L 12.285981,30.233943 L 12.285981,42.519924 L 15.467961,45.348351 L 18.384777,42.519924 L 18.384777,30.057167 L 15.291184,23.42804 z "
id="path3446" />
<path
id="path3516"
d="M 15.303288,26.430306 L 13.298065,30.841566 L 13.298065,41.889636 L 15.431641,43.943283 L 17.372688,41.889636 L 17.372688,30.713213 L 15.303288,26.430306 z "
style="opacity:0.46783627;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3524);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:nodetypes="ccccccc" />
<path
sodipodi:type="arc"
style="opacity:1;color:#000000;fill:url(#radialGradient3542);fill-opacity:1;fill-rule:evenodd;stroke:#949494;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="path3444"
sodipodi:cx="18.163805"
sodipodi:cy="23.251263"
sodipodi:rx="2.3422911"
sodipodi:ry="1.9445436"
d="M 20.506096 23.251263 A 2.3422911 1.9445436 0 1 1 15.821514,23.251263 A 2.3422911 1.9445436 0 1 1 20.506096 23.251263 z"
transform="translate(-3.005208,1.767768)" />
<path
style="opacity:1;color:#000000;fill:url(#radialGradient3566);fill-opacity:1;fill-rule:evenodd;stroke:#949494;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 14.937632,23.251265 L 9.8994947,27.051964 C 9.8994947,27.051964 8.0433397,21.485075 8.0433397,19.008624 C 8.0433407,16.53375 9.3691657,15.561479 10.78338,15.561479 C 10.78338,15.561479 19.180273,15.561479 19.180273,15.561479 C 20.13685,15.561479 21.809826,15.959226 22.0087,18.831848 C 22.207574,21.704469 19.975768,27.051964 19.975768,27.051964 L 14.937632,23.251265 z "
id="path3440"
sodipodi:nodetypes="cczcczcc" />
<path
style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 11.795503,17.94796 C 11.795503,17.94796 9.9798577,18.435938 10.300266,19.607083 C 10.620674,20.778229 13.077134,22.632542 13.077134,22.632542 L 17.669645,22.632542 C 17.669645,22.632542 19.778995,21.071015 20.019302,19.89987 C 20.259608,18.728724 18.630868,17.94796 18.630868,17.94796 L 11.795503,17.94796 z "
id="path3442"
sodipodi:nodetypes="csccscc" />
<path
sodipodi:nodetypes="csccscc"
id="path3556"
d="M 11.618727,16.975692 C 11.618727,16.975692 9.8030817,17.46367 10.12349,18.634815 C 10.443897,19.805961 12.900358,21.660274 12.900358,21.660274 L 17.492869,21.660274 C 17.492869,21.660274 19.602219,20.098747 19.842526,18.927602 C 20.082832,17.756456 18.454092,16.975692 18.454092,16.975692 L 11.618727,16.975692 z "
style="opacity:1;color:#000000;fill:url(#radialGradient3548);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
sodipodi:nodetypes="ccccccccc"
id="path3580"
d="M 13.086385,18.12474 L 16.78888,18.12474 C 21.075337,18.12474 26.33599,19.442256 26.33599,19.980895 L 26.33599,42.608311 C 26.33599,43.14695 25.899113,43.580583 25.356444,43.580583 L 4.5188213,43.580583 C 3.9761532,43.580583 3.5392748,43.14695 3.5392748,42.608311 L 3.5392748,19.980895 C 3.5392748,19.442256 8.7109537,18.12474 13.086385,18.12474 z "
style="color:#000000;fill:url(#linearGradient3620);fill-opacity:1;fill-rule:evenodd;stroke:#949494;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
style="opacity:0.61988304;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 13.243834,18.986251 L 16.631443,18.986251 C 20.55335,18.986251 25.3666,20.507768 25.3666,20.507768 L 25.3666,42.577289 C 25.3666,42.577289 4.5086772,42.577289 4.5086772,42.577289 L 4.5086772,20.507768 C 4.5086772,20.507768 9.2405207,18.986251 13.243834,18.986251 z "
id="path3582"
sodipodi:nodetypes="ccccccc" />
<path
id="path3584"
d="M 15.291184,23.42804 C 15.291184,23.42804 12.285981,27.845821 12.285981,30.233943 L 12.285981,42.519924 L 15.467961,45.348351 L 18.384777,42.519924 L 18.384777,30.057167 C 18.384777,28.057167 15.291184,23.42804 15.291184,23.42804 z "
style="opacity:1;color:#000000;fill:url(#linearGradient4645);fill-opacity:1.0;fill-rule:evenodd;stroke:#2e3436;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:nodetypes="ccccccc" />
<path
sodipodi:nodetypes="ccccccc"
style="opacity:0.46783627;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3616);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 15.303288,26.430306 L 13.298065,30.841566 L 13.298065,41.889636 L 15.431641,43.943283 L 17.372688,41.889636 L 17.372688,30.713213 L 15.303288,26.430306 z "
id="path3586" />
<path
transform="translate(-3.005208,1.767768)"
d="M 20.506096 23.251263 A 2.3422911 1.9445436 0 1 1 15.821514,23.251263 A 2.3422911 1.9445436 0 1 1 20.506096 23.251263 z"
sodipodi:ry="1.9445436"
sodipodi:rx="2.3422911"
sodipodi:cy="23.251263"
sodipodi:cx="18.163805"
id="path3588"
style="opacity:1;color:#000000;fill:url(#radialGradient4647);fill-opacity:1.0;fill-rule:evenodd;stroke:#2e3436;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc" />
<path
sodipodi:nodetypes="cczcczcc"
id="path3590"
d="M 14.937632,23.251265 L 9.8994947,27.051964 C 9.8994947,27.051964 8.0433397,21.485075 8.0433397,19.008624 C 8.0433407,16.53375 9.3691657,15.561479 10.78338,15.561479 C 10.78338,15.561479 19.180273,15.561479 19.180273,15.561479 C 20.13685,15.561479 21.809826,15.959226 22.0087,18.831848 C 22.207574,21.704469 19.975768,27.051964 19.975768,27.051964 L 14.937632,23.251265 z "
style="opacity:1;color:#000000;fill:url(#radialGradient3612);fill-opacity:1;fill-rule:evenodd;stroke:#949494;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
sodipodi:nodetypes="csccscc"
id="path3592"
d="M 11.795503,17.94796 C 11.795503,17.94796 9.9798577,18.435938 10.300266,19.607083 C 10.620674,20.778229 12.007307,22.632542 13.077134,22.632542 L 17.669645,22.632542 C 18.546875,22.632542 19.778995,21.071015 20.019302,19.89987 C 20.259608,18.728724 18.630868,17.94796 18.630868,17.94796 L 11.795503,17.94796 z "
style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
style="opacity:1;color:#000000;fill:url(#radialGradient3610);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 11.618727,16.975692 C 11.618727,16.975692 9.8030817,17.46367 10.12349,18.634815 C 10.443897,19.805961 11.775358,21.660274 12.900358,21.660274 L 17.492869,21.660274 C 18.242869,21.660274 19.602219,20.098747 19.842526,18.927602 C 20.082832,17.756456 18.454092,16.975692 18.454092,16.975692 L 11.618727,16.975692 z "
id="path3594"
sodipodi:nodetypes="csccscc" />
<path
style="opacity:0.61988304;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 14.937632,22.720934 L 19.622215,26.256468 L 20.859651,22.809323 L 19.35705,25.284196 L 14.937632,22.720934 z "
id="path4604" />
<path
id="path4607"
d="M 14.584078,22.897711 L 10.164659,26.256468 L 8.6620577,19.627343 L 10.69499,25.019031 L 14.584078,22.897711 z "
style="opacity:0.61988304;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:nodetypes="ccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 48 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 32 KiB

617
Web/static/img/icons/14.svg Normal file
View file

@ -0,0 +1,617 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="48"
height="48"
id="hx4700"
sodipodi:version="0.32"
inkscape:version="0.45.1"
sodipodi:docname="pda-hp-ipaq-hx4700.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:docbase="/home/ph5/Bilder/icons/scalable/devices"
inkscape:export-filename=""
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
version="1.0">
<defs
id="defs3722">
<linearGradient
inkscape:collect="always"
id="linearGradient19278">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop19280" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop19282" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient19278"
id="radialGradient19284"
gradientTransform="scale(1.357519,0.736638)"
cx="17.579761"
cy="47.402553"
fx="17.579761"
fy="47.402553"
r="16.798437"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
id="linearGradient3243">
<stop
style="stop-color:#d3d7cf;stop-opacity:1"
offset="0"
id="stop3245" />
<stop
style="stop-color:#555753;stop-opacity:1"
offset="1"
id="stop3247" />
</linearGradient>
<linearGradient
id="linearGradient10668"
inkscape:collect="always">
<stop
id="stop10670"
offset="0"
style="stop-color:#ffffff;stop-opacity:1" />
<stop
id="stop10672"
offset="1"
style="stop-color:#ffffff;stop-opacity:0" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient10657">
<stop
style="stop-color:#ffffff;stop-opacity:1"
offset="0"
id="stop10659" />
<stop
style="stop-color:#ffffff;stop-opacity:0"
offset="1"
id="stop10661" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient10649">
<stop
style="stop-color:#333036;stop-opacity:1;"
offset="0"
id="stop10651" />
<stop
style="stop-color:#333036;stop-opacity:0;"
offset="1"
id="stop10653" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient10614">
<stop
style="stop-color:#3465a4;stop-opacity:1"
offset="0"
id="stop10616" />
<stop
style="stop-color:#183766;stop-opacity:1"
offset="1"
id="stop10618" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient2729">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop2731" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop2733" />
</linearGradient>
<linearGradient
id="linearGradient6638">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop6640" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop6642" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6638"
id="linearGradient3535"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.8749637,0,0,0.8750181,-25.175697,29.558337)"
x1="56.203125"
y1="14.21875"
x2="56.203125"
y2="10.71875" />
<linearGradient
id="linearGradient6745">
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="0"
id="stop6747" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop6749" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6745"
id="linearGradient3533"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.75,0,0,1,-17.359895,1.7166986)"
x1="55.146526"
y1="6.2833014"
x2="55.146526"
y2="7.2833014" />
<linearGradient
id="linearGradient8203">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop8205" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop8207" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient8203"
id="linearGradient3531"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-9.6979522e-8,-0.4943352)"
x1="12.5"
y1="3.500001"
x2="46.875"
y2="64.25" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2729"
id="linearGradient3923"
x1="69.998138"
y1="2.204505"
x2="88.981941"
y2="47.987698"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-56.99814,0)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient10649"
id="linearGradient10655"
x1="40"
y1="23"
x2="56.013611"
y2="23"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient10657"
id="linearGradient10663"
x1="45.5625"
y1="0.62499988"
x2="51.0625"
y2="46.0625"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient10668"
id="linearGradient10666"
gradientUnits="userSpaceOnUse"
x1="42.256805"
y1="2.9375"
x2="65.638611"
y2="35.8125"
gradientTransform="matrix(1,0,0,-1,0,48)" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3243"
id="radialGradient3249"
cx="53.5"
cy="5.1382136"
fx="53.5"
fy="5.1382136"
r="1.5"
gradientTransform="matrix(-2.9008359,-2.7141853e-6,2.6835559e-6,-2.3253869,179.6947,17.586695)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient10668"
id="linearGradient3315"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-29,0)"
x1="44.006805"
y1="1.9999999"
x2="56.889801"
y2="10.476215" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient10668"
id="linearGradient3319"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-29,0)"
x1="48.256805"
y1="5.1875"
x2="65.327301"
y2="15.476215" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient10668"
id="linearGradient3432"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(5,1.0000002)"
x1="43.944305"
y1="1.9999999"
x2="56.889801"
y2="10.476215" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient10614"
id="linearGradient3434"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(5,1.0000002)"
x1="56.374367"
y1="36.795494"
x2="54.472271"
y2="18.196699" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient10668"
id="linearGradient3436"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(5,1.0000002)"
x1="44"
y1="2.3125"
x2="64.952301"
y2="14.976215" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient10668"
id="linearGradient3438"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(5,1.0000002)"
x1="48.256805"
y1="5.1875"
x2="65.327301"
y2="15.476215" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3243"
id="radialGradient3440"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1.7405015,-1.8094569e-6,1.6101335e-6,-1.5502579,151.61682,14.39113)"
cx="53.5"
cy="5.1382136"
fx="53.5"
fy="5.1382136"
r="1.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2729"
id="linearGradient3442"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-22.99814,1.0000002)"
x1="69.998138"
y1="2.204505"
x2="88.981941"
y2="47.987698" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2729"
id="linearGradient2355"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-57.00186,-4.0000002e-8)"
x1="69.998138"
y1="2.204505"
x2="88.981941"
y2="47.987698" />
</defs>
<sodipodi:namedview
id="namedview10679"
pagecolor="#ffffff"
bordercolor="#6e6e6e"
borderopacity="1"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="8"
inkscape:cx="24"
inkscape:cy="23.898891"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="872"
inkscape:window-height="968"
inkscape:window-x="722"
inkscape:window-y="87"
inkscape:showpageshadow="true" />
<metadata
id="metadata3725">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>HP iPAQ hx4700</dc:title>
<dc:date>December 2007</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>Philipp Zabel</dc:title>
</cc:Agent>
</dc:creator>
<dc:subject>
<rdf:Bag>
<rdf:li>device</rdf:li>
<rdf:li>pda</rdf:li>
<rdf:li>hx4700</rdf:li>
</rdf:Bag>
</dc:subject>
<cc:license
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
<cc:requires
rdf:resource="http://web.resource.org/cc/SourceCode" />
</cc:License>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer"
style="display:inline">
<path
sodipodi:type="arc"
style="opacity:0.5;color:#000000;fill:url(#radialGradient19284);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="path19276"
sodipodi:cx="23.864855"
sodipodi:cy="34.918526"
sodipodi:rx="22.804193"
sodipodi:ry="12.374369"
d="M 46.669048 34.918526 A 22.804193 12.374369 0 1 1 1.0606613,34.918526 A 22.804193 12.374369 0 1 1 46.669048 34.918526 z"
transform="matrix(0.7112179,0,0,0.3080455,7.8081375,33.055374)" />
<rect
style="fill:#333036;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="bodycolor"
width="24"
height="42"
x="12.5"
y="2.5"
rx="11"
ry="1.6412427" />
<path
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 15,3 L 12.5,4 L 12.5,5 L 16,5 L 18,9 L 31,9 L 34,3 L 15,3 z "
id="upperplastic"
sodipodi:nodetypes="ccccccccc" />
<path
style="opacity:0.5;fill:url(#linearGradient3315);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.6"
d="M 23.5,3 C 20.473018,3 17.732629,3.1775967 15.78125,3.46875 C 14.805559,3.6143267 14.032227,3.7914382 13.53125,3.96875 C 13.28076,4.0574059 13.111778,4.159735 13.03125,4.21875 C 12.990984,4.2482575 12.997747,4.2591065 13,4.25 L 13,5 L 16,5 L 18,9 L 26.28125,9 C 25.582656,6.8758897 24.630556,4.8262586 23.6875,3 L 23.5,3 z "
id="upperplasticreflection" />
<rect
y="11.5"
x="15.5"
height="24"
width="18"
id="screen"
style="fill:#3465a4;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccccc"
id="lowerplastic"
d="M 14.5,44 L 17.5,38 L 31.5,38 L 34.5,44 L 14.5,44 z "
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="opacity:0.7;fill:url(#linearGradient3319);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.6"
d="M 17.5,38 L 14.8125,43.34375 C 15.114073,43.404527 15.420971,43.477495 15.78125,43.53125 C 17.042225,43.719392 18.653157,43.861473 20.4375,43.9375 C 19.875754,41.987237 19.561122,40.000689 19.5,38 L 17.5,38 z "
id="lowerplasticreflection" />
<path
style="fill:#221f25;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 12.5,5 L 12.5,43 L 13.142,43.5 L 15,37 L 14,36.5 L 14,10.5 L 15,10 L 13.5714,5 L 12.5,5 z "
id="leftbody"
sodipodi:nodetypes="ccccccccc" />
<rect
style="opacity:1;fill:url(#radialGradient3249);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="hplogo"
width="5"
height="3"
x="22"
y="5"
ry="0.30000001"
rx="0.33333334" />
<path
style="fill:#333036;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 34,3 L 31,9 L 18,9 L 16,5 L 13.572,5 L 15,10 L 34,10 L 35.857,3.5 L 34,3 z "
id="upperbody"
sodipodi:nodetypes="cccccccccc" />
<path
id="rightbody"
d="M 35.857,3.5 L 36.5,4 L 36.5,43 L 35.857,43.5 L 34,37 L 35,36.5 L 35,10.5 L 34,10 L 35.857,3.5 z "
style="fill:#221f25;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="opacity:1;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 31,8 L 31.375,7.25 L 30.875,7.25 L 30.5,8 L 31,8 z "
id="speaker"
sodipodi:nodetypes="ccccc" />
<path
style="fill:#333036;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 15,37 L 13.143,43.5 L 14.5,44 L 17.5,38 L 31.5,38 L 34.5,44 L 35.857,43.5 L 34,37 L 15,37 z "
id="lowerbody" />
<path
style="opacity:1;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 21,39 L 28,39 C 28.629767,39.009842 28.812174,39.023749 29,39.437103 L 29.84375,41.636206 C 30.439721,42.951663 29.010835,43.000207 27,43.000207 L 22,43.000207 C 19.989165,43.010049 18.747224,43.020555 19.1875,41.664043 L 20,39.437103 C 20.187825,39.03359 20.458621,39 21,39 z "
id="navpoint"
sodipodi:nodetypes="ccccccccc" />
<rect
style="opacity:1;fill:#555753;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="contacts"
width="1"
height="1"
x="18"
y="39" />
<rect
y="39"
x="30"
height="1"
width="1"
id="mail"
style="opacity:1;fill:#555753;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
style="opacity:1;fill:#555753;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="calendar"
width="1"
height="1"
x="17"
y="41" />
<rect
y="41"
x="31"
height="1"
width="1"
id="itask"
style="opacity:1;fill:#555753;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
ry="1.6412427"
rx="11"
y="2.5"
x="12.5"
height="42"
width="24"
id="frame"
style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#111012;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="fill:#444047;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 15,36 L 14,36.5 L 15,37 L 34,37 L 35,36.5 L 34,36 L 15,36 z "
id="lowerbezel" />
<path
id="upperbezel"
d="M 15,10 L 14,10.5 L 15,11 L 34,11 L 35,10.5 L 34,10 L 15,10 z "
style="fill:#141116;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 34.443147,41.519531 L 34.155524,40.519531 L 34.681428,40.519531 L 35,41.519531 L 34.443147,41.519531 z "
id="mic"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
id="blueled"
d="M 17,6 L 16.625,5.25 L 17.125,5.25 L 17.5,6 L 17,6 z "
style="fill:#007ef3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="fill:#ffb808;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 17.5,7 L 17.125,6.25 L 17.625,6.25 L 18,7 L 17.5,7 z "
id="redgreenled"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
id="lightsensor"
d="M 18,8 L 17.625,7.25 L 18.125,7.25 L 18.5,8 L 18,8 z "
style="fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="fill:#333036;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 34,11 L 35,10.5 L 35,36.5 L 34,36 L 34,11 z "
id="rightbezel" />
<path
id="leftbezel"
d="M 15,11 L 14,10.5 L 14,36.5 L 15,36 L 15,11 z "
style="fill:#333036;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:type="arc"
style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.6"
id="hplogo1"
sodipodi:cx="83.03125"
sodipodi:cy="3.8437498"
sodipodi:rx="0.90625"
sodipodi:ry="0.90625"
d="M 83.9375 3.8437498 A 0.90625 0.90625 0 1 1 82.125,3.8437498 A 0.90625 0.90625 0 1 1 83.9375 3.8437498 z"
transform="matrix(1.1842849,0,0,1.2204636,-73.815751,1.8902985)" />
<rect
style="opacity:1;fill:#888a85;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="wirelesssymbol"
width="1"
height="1"
x="18"
y="5" />
<path
sodipodi:nodetypes="ccccc"
id="path3333"
d="M 31.5,7 L 31.875,6.25 L 31.375,6.25 L 31,7 L 31.5,7 z "
style="opacity:1;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="opacity:1;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 32,6 L 32.375,5.25 L 31.875,5.25 L 31.5,6 L 32,6 z "
id="path3335"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3337"
d="M 29.5,8 L 29.875,7.25 L 29.375,7.25 L 29,8 L 29.5,8 z "
style="opacity:1;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="opacity:1;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 30,7 L 30.375,6.25 L 29.875,6.25 L 29.5,7 L 30,7 z "
id="path3339"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3341"
d="M 30.5,6 L 30.875,5.25 L 30.375,5.25 L 30,6 L 30.5,6 z "
style="opacity:1;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="opacity:1;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 30.25,8 L 30.6,7.25 L 30.125,7.25 L 29.75,8 L 30.25,8 z "
id="path3343"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path3345"
d="M 30.75,7 L 31.125,6.25 L 30.6,6.25 L 30.25,7 L 30.75,7 z "
style="opacity:1;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="opacity:1;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 31.25,6 L 31.6,5.25 L 31.125,5.25 L 30.75,6 L 31.25,6 z "
id="path3347"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
id="path2285"
d="M 17.5,7 L 17.125,6.25 L 17.625,6.25 L 18,7 L 17.5,7 z "
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffb808;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="color:#000000;fill:#eeeeec;fill-opacity:0.16993462;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 16,12 L 32.979002,12 C 32.979002,12 32.979746,15.435731 33,17.259146 C 32.06593,19.296259 29.242726,20.148451 25.821578,19.397811 C 19.054333,17.912999 16,25 16,25 L 16,12 z "
id="rect3198"
sodipodi:nodetypes="ccczcc" />
<path
style="opacity:0.4;fill:url(#linearGradient2355);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
d="M 23.49814,3 C 20.47116,3 17.730769,3.1775967 15.77939,3.46875 C 14.803701,3.6143267 14.030367,3.7914382 13.52939,3.96875 C 13.278902,4.0574059 13.109918,4.159735 13.02939,4.21875 C 12.989126,4.2482575 12.995887,4.2591065 12.99814,4.25 L 12.99814,42.75 C 12.995887,42.740893 12.989126,42.751742 13.02939,42.78125 C 13.109918,42.840265 13.278902,42.942594 13.52939,43.03125 C 14.030367,43.208562 14.803701,43.385673 15.77939,43.53125 C 17.730769,43.822403 20.47116,44 23.49814,44 L 25.49814,44 C 28.52512,44 31.265511,43.822403 33.21689,43.53125 C 34.192579,43.385673 34.965913,43.208562 35.46689,43.03125 C 35.717378,42.942594 35.886362,42.840265 35.96689,42.78125 C 36.007154,42.751742 36.000393,42.740893 35.99814,42.75 L 35.99814,4.25 C 36.000393,4.2591065 36.007154,4.2482575 35.96689,4.21875 C 35.886362,4.159735 35.717378,4.0574059 35.46689,3.96875 C 34.965913,3.7914382 34.192579,3.6143267 33.21689,3.46875 C 31.265511,3.1775967 28.52512,3 25.49814,3 L 23.49814,3 z M 23.49814,4 L 25.49814,4 C 28.251258,4 30.722029,4.1515249 32.49814,4.375 C 33.386196,4.4867376 34.103937,4.6136886 34.56064,4.75 C 34.775868,4.8142387 34.923699,4.8947158 34.99814,4.9375 L 34.99814,42.0625 C 34.923699,42.105284 34.775868,42.185761 34.56064,42.25 C 34.103937,42.386312 33.386196,42.513262 32.49814,42.625 C 30.722029,42.848475 28.251258,43 25.49814,43 L 23.49814,43 C 20.745022,43 18.274251,42.848475 16.49814,42.625 C 15.610084,42.513262 14.892343,42.386311 14.43564,42.25 C 14.220412,42.185761 14.072581,42.105284 13.99814,42.0625 L 13.99814,4.9375 C 14.072581,4.8947158 14.220412,4.8142387 14.43564,4.75 C 14.892343,4.6136886 15.610084,4.4867376 16.49814,4.375 C 18.274251,4.1515249 20.745022,4 23.49814,4 z "
id="tangohighlight" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48">
<defs>
<linearGradient id="e">
<stop offset="0"/>
<stop offset="1" stop-opacity="0"/>
</linearGradient>
<linearGradient id="a">
<stop offset="0" stop-opacity="0"/>
<stop offset=".5"/>
<stop offset="1" stop-opacity="0"/>
</linearGradient>
<linearGradient xlink:href="#a" id="l" x1="302.857" x2="302.857" y1="366.648" y2="609.505" gradientTransform="matrix(2.77439 0 0 1.9697 -1892.179 -872.885)" gradientUnits="userSpaceOnUse"/>
<linearGradient id="d">
<stop offset="0" stop-color="#7c7e79"/>
<stop offset=".172" stop-color="#848681"/>
<stop offset="1" stop-color="#898c86"/>
</linearGradient>
<linearGradient id="k">
<stop offset="0" stop-color="#575757"/>
<stop offset="1" stop-color="#575757" stop-opacity="0"/>
</linearGradient>
<linearGradient id="j">
<stop offset="0" stop-color="#fff"/>
<stop offset="1" stop-color="#fff" stop-opacity="0"/>
</linearGradient>
<linearGradient id="i">
<stop offset="0"/>
<stop offset="1" stop-opacity="0"/>
</linearGradient>
<linearGradient id="c">
<stop offset="0" stop-opacity=".186"/>
<stop offset="1" stop-color="#fff"/>
</linearGradient>
<linearGradient id="h">
<stop offset="0"/>
<stop offset="1" stop-opacity="0"/>
</linearGradient>
<linearGradient id="g">
<stop offset="0" stop-color="#edd400"/>
<stop offset="1" stop-color="#980"/>
</linearGradient>
<linearGradient id="f">
<stop offset="0" stop-color="#fff"/>
<stop offset="1" stop-color="#fff" stop-opacity="0"/>
</linearGradient>
<linearGradient id="b" x1="80.224" x2="48.046" y1="117.52" y2="59.8" gradientTransform="translate(4.128 3.743) scale(.31468)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ccc"/>
<stop offset=".983" stop-color="#fff"/>
</linearGradient>
<linearGradient xlink:href="#b" id="o" x1="52.006" x2="14.049" y1="166.133" y2="-42.219" gradientTransform="matrix(.33692 0 0 .16689 17.983 15.462)" gradientUnits="userSpaceOnUse"/>
<linearGradient id="u" x1="64.388" x2="64.388" y1="65.124" y2="35.569" gradientTransform="translate(1.639 -.084) scale(.3541)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#fff"/>
<stop offset=".854" stop-color="#ff6200"/>
<stop offset="1" stop-color="#f25d00"/>
</linearGradient>
<linearGradient xlink:href="#c" id="p" x1="17.603" x2="17.683" y1="26.057" y2="32.654" gradientTransform="matrix(.89879 0 0 1.07191 .478 -2.08)" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#d" id="r" x1="17.85" x2="19.04" y1="28.939" y2="41.032" gradientTransform="matrix(.88879 0 0 1.08932 2.411 -1.524)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#e" id="n" cx="605.714" cy="486.648" r="117.143" fx="605.714" fy="486.648" gradientTransform="matrix(-2.77439 0 0 1.9697 112.762 -872.885)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#e" id="m" cx="605.714" cy="486.648" r="117.143" fx="605.714" fy="486.648" gradientTransform="matrix(2.77439 0 0 1.9697 -1891.633 -872.885)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#f" id="v" cx="7.533" cy="24.203" r="8.245" fx="7.533" fy="24.203" gradientTransform="matrix(4.10009 0 0 4.20132 -25.415 -78.54)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#g" id="t" cx="19.986" cy="36.778" r="1.082" fx="19.986" fy="36.778" gradientTransform="matrix(1.12526 0 0 .98274 -3.429 .566)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#h" id="s" cx="20.444" cy="37.426" r="1.082" fx="20.444" fy="37.426" gradientTransform="matrix(1.12526 0 0 .98274 -3.429 .731)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#i" id="w" cx="11.681" cy="19.554" r="8.245" fx="11.681" fy="19.554" gradientTransform="matrix(4.10009 0 0 -4.20132 -5.198 105.353)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#j" id="x" cx="29.913" cy="30.443" r="4.002" fx="29.913" fy="30.443" gradientTransform="matrix(3.7515 0 0 3.14782 -82.01 -65.707)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#k" id="q" cx="24.195" cy="10.578" r="15.243" fx="24.195" fy="10.578" gradientTransform="matrix(1.12526 0 0 1.34006 -3.007 1.355)" gradientUnits="userSpaceOnUse"/>
</defs>
<g color="#000">
<path fill="url(#l)" d="M-1559.252-150.697h1339.633V327.66h-1339.633z" opacity=".402" style="marker:none" transform="matrix(.02158 0 0 .0186 43.123 41.638)"/>
<path fill="url(#m)" d="M-219.61876-150.68038v478.33079c142.874166.90045 345.40022-107.16966 345.40014-239.196175 0-132.026537-159.436816-239.134595-345.40014-239.134615z" opacity=".402" style="marker:none" transform="matrix(.02158 0 0 .0186 43.123 41.638)"/>
<path fill="url(#n)" d="M-1559.2523-150.68038v478.33079c-142.8742.90045-345.4002-107.16966-345.4002-239.196175 0-132.026537 159.4368-239.134595 345.4002-239.134615z" opacity=".402" style="marker:none" transform="matrix(.02158 0 0 .0186 43.123 41.638)"/>
</g>
<path fill="url(#o)" stroke="#757575" d="M21.619576 8.1833733h5.957459c.839732 0 13.886475 15.4353277 13.886475 16.3406587l-.443521 18.496745c0 .905333-.67603 1.634177-1.515762 1.634177H8.0469496c-.8397329 0-1.5157625-.728844-1.5157625-1.634177l.056478-18.496745c0-.905331 14.1921789-16.3406587 15.0319109-16.3406587z" color="#000" style="marker:none"/>
<path fill="none" d="M46.963575 45.735573H1.6386762V.41067554H46.963575V45.735573z"/>
<path fill="url(#p)" fill-rule="evenodd" d="m23 29-.045744 15.090942H11.111465L11 29h12z" clip-rule="evenodd"/>
<path fill="none" stroke="#fff" d="M21.780459 9.405584h5.559097c.783582 0 13.000869 14.399588 13.000869 15.244172l-.347158 18.212311c0 .459259-.143737.653465-.512375.653465l-31.3872026.01428c-.3686377 0-.5839636-.079918-.5839636-.45355l.2153418-18.426506c0-.844584 13.2718124-15.244172 14.0553914-15.244172z" color="#000" opacity=".313" style="marker:none"/>
<path fill="url(#q)" fill-rule="evenodd" d="m7.2075295 27.943053-.0542567 2.595194L25.521437 17.358993l15.286395 11.154428.07131-.311714-16.370456-15.904131L7.2075295 27.943053z" clip-rule="evenodd" opacity=".2"/>
<path fill="url(#r)" fill-rule="evenodd" d="M22 30v14.090942h-9.811029L12 30h10z" clip-rule="evenodd"/>
<path fill="url(#s)" fill-rule="evenodd" d="M19.576856 36.44767c.67279 0 1.216616.474605 1.216616 1.058507 0 .589811-.543826 1.068355-1.216616 1.068355-.672272 0-1.218686-.478544-1.218686-1.068355.000515-.583902.546414-1.058507 1.218686-1.058507z" clip-rule="evenodd" opacity=".409"/>
<path fill="url(#t)" fill-rule="evenodd" d="M19.462314 35.932229c.672789 0 1.216615.474605 1.216615 1.058507 0 .589809-.543826 1.068353-1.216615 1.068353-.672273 0-1.218687-.478544-1.218687-1.068353.000515-.583902.546414-1.058507 1.218687-1.058507z" clip-rule="evenodd"/>
<path fill="url(#u)" d="m24.447748 11.559337 18.92706 17.169868.494679.391991.403676-.171385-.37287-.761673-.277614-.223436-19.174931-15.572306L5.0582327 28.135731l-.2376018.14412-.2167099.706786.4334198.129248.384554-.308423L24.447748 11.559337z"/>
<path fill="#ef2929" stroke="#a40000" d="M24.330168 2.2713382 2.4484294 20.372675l-.6247289 7.165928 1.9999362 2.064323S24.231018 12.445641 24.44773 12.274963l19.63254 17.54326 1.898424-2.323997-1.615791-7.111374L24.44773 2.1668788l-.117562.1044594z"/>
<path fill="url(#v)" d="m2.8413446 20.613129-.2915552 6.623365L24.369219 8.980075l-.070328-5.8933307L2.8413446 20.613129z" color="#000" opacity=".409" style="marker:none"/>
<path fill="url(#w)" d="m24.483763 8.7509884.09946-5.8411017L43.912186 20.56184l1.491812 6.500812L24.483763 8.7509884z" color="#000" opacity=".136" style="marker:none"/>
<path fill="none" stroke="#fff" d="M27.102228 27.719824h9.039995c.770595 0 1.390967.62037 1.390967 1.390967l-.007961 9.079221c0 .770596-.596322 1.265969-1.366918 1.265969h-9.056083c-.770597 0-1.390967-.620373-1.390967-1.390969v-8.954221c0-.770597.62037-1.390967 1.390967-1.390967z" color="#000" opacity=".318" style="marker:none"/>
<rect width="10.001" height="9.962" x="26.508" y="28.514" fill="#3465a4" stroke="#757575" color="#000" rx=".381" ry=".381" style="marker:none"/>
<path fill="url(#x)" d="M27.107118 34.408261c3.617983.331177 5.527724-1.445704 8.868152-1.55274L36 29.00603 27.088388 29l.01873 5.408261z" color="#000" opacity=".398" style="marker:none"/>
</svg>

After

Width:  |  Height:  |  Size: 8.4 KiB

581
Web/static/img/icons/3.svg Normal file
View file

@ -0,0 +1,581 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="48.000000px"
height="48.000000px"
xml:space="preserve"
id="svg16168"
sodipodi:version="0.32"
inkscape:version="0.46"
sodipodi:docname="image-x-generic.svg"
sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/mimetypes"
inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
id="metadata16236">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Genric Image</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:creator>
<dc:subject>
<rdf:Bag><rdf:li>image</rdf:li><rdf:li>picture</rdf:li><rdf:li>snapshot</rdf:li><rdf:li>photo</rdf:li></rdf:Bag>
</dc:subject>
<cc:license
rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/publicdomain/"><cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /></cc:License></rdf:RDF>
</metadata>
<defs
id="defs16234"><inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 24 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="48 : 24 : 1"
inkscape:persp3d-origin="24 : 16 : 1"
id="perspective80" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5060"
id="radialGradient6719"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" /><linearGradient
inkscape:collect="always"
id="linearGradient5060"><stop
style="stop-color:black;stop-opacity:1;"
offset="0"
id="stop5062" /><stop
style="stop-color:black;stop-opacity:0;"
offset="1"
id="stop5064" /></linearGradient><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5060"
id="radialGradient6717"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" /><linearGradient
id="linearGradient5048"><stop
style="stop-color:black;stop-opacity:0;"
offset="0"
id="stop5050" /><stop
id="stop5056"
offset="0.5"
style="stop-color:black;stop-opacity:1;" /><stop
style="stop-color:black;stop-opacity:0;"
offset="1"
id="stop5052" /></linearGradient><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5048"
id="linearGradient6715"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
x1="302.85715"
y1="366.64789"
x2="302.85715"
y2="609.50507" /><linearGradient
id="linearGradient8171"><stop
style="stop-color:#bbbdba;stop-opacity:1;"
offset="0"
id="stop8173" /><stop
style="stop-color:#70746e;stop-opacity:1;"
offset="1"
id="stop8175" /></linearGradient><linearGradient
inkscape:collect="always"
id="linearGradient8155"><stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop8157" /><stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop8159" /></linearGradient><linearGradient
id="linearGradient2224"><stop
style="stop-color:#7c7c7c;stop-opacity:1;"
offset="0"
id="stop2226" /><stop
style="stop-color:#b8b8b8;stop-opacity:1;"
offset="1"
id="stop2228" /></linearGradient><linearGradient
inkscape:collect="always"
id="linearGradient2251"><stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop2253" /><stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop2255" /></linearGradient><linearGradient
id="linearGradient7648"
gradientUnits="userSpaceOnUse"
x1="21.9326"
y1="24.6274"
x2="21.9326"
y2="7.1091"
style="stroke-dasharray:none;stroke-miterlimit:4.0000000;stroke-width:1.2166667">
<stop
offset="0"
style="stop-color:#8595bc;stop-opacity:1;"
id="stop7650" />
<stop
offset="1"
style="stop-color:#041a3b;stop-opacity:1;"
id="stop7652" />
</linearGradient><linearGradient
id="linearGradient2392"><stop
id="stop2394"
offset="0.0000000"
style="stop-color:#715b26;stop-opacity:1.0000000;" /><stop
id="stop2396"
offset="1.0000000"
style="stop-color:#312710;stop-opacity:1.0000000;" /></linearGradient><linearGradient
inkscape:collect="always"
id="linearGradient12129"><stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop12131" /><stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop12133" /></linearGradient>
<linearGradient
style="stroke-dasharray:none;stroke-miterlimit:4.0000000;stroke-width:1.2166667"
y2="36.0328"
x2="31.0813"
y1="3.7319"
x1="12.4873"
gradientUnits="userSpaceOnUse"
id="aigrd1">
<stop
id="stop16177"
style="stop-color:#D2D2D2;stroke-dasharray:none;stroke-miterlimit:4.0000000;stroke-width:1.2166667"
offset="0" />
<stop
id="stop16179"
style="stop-color:#EDEDED;stroke-dasharray:none;stroke-miterlimit:4.0000000;stroke-width:1.2166667"
offset="1" />
</linearGradient>
<linearGradient
style="stroke-dasharray:none;stroke-miterlimit:4.0000000;stroke-width:1.2166667"
y2="22.5769"
x2="21.9168"
y1="30.3413"
x1="21.877"
gradientUnits="userSpaceOnUse"
id="aigrd2">
<stop
id="stop16184"
style="stop-color:#5e4f07;stop-opacity:1.0000000;"
offset="0.0000000" />
<stop
id="stop16186"
style="stop-color:#348a31;stop-opacity:1.0000000;"
offset="1.0000000" />
</linearGradient>
<linearGradient
style="stroke-dasharray:none;stroke-miterlimit:4.0000000;stroke-width:1.2166667"
y2="7.1091"
x2="21.9326"
y1="24.6274"
x1="21.9326"
gradientUnits="userSpaceOnUse"
id="aigrd3">
<stop
id="stop16199"
style="stop-color:#D0D6E5;stroke-dasharray:none;stroke-miterlimit:4.0000000;stroke-width:1.2166667"
offset="0" />
<stop
id="stop16201"
style="stop-color:#093A80;stroke-dasharray:none;stroke-miterlimit:4.0000000;stroke-width:1.2166667"
offset="1" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient12129"
id="radialGradient12135"
cx="24.218407"
cy="41.636040"
fx="24.218407"
fy="41.636040"
r="22.097088"
gradientTransform="matrix(1.000000,0.000000,0.000000,0.184000,0.000000,33.97501)"
gradientUnits="userSpaceOnUse" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient7648"
id="linearGradient7671"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.098989,0.000000,0.000000,-0.797757,-1.953865,37.32400)"
x1="21.9326"
y1="24.627399"
x2="21.9326"
y2="7.1090999" /><linearGradient
inkscape:collect="always"
xlink:href="#aigrd3"
id="linearGradient7673"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.098989,0.000000,0.000000,1.106697,-1.953865,-4.922453)"
x1="21.9326"
y1="24.6274"
x2="21.9326"
y2="7.1091" /><linearGradient
inkscape:collect="always"
xlink:href="#aigrd1"
id="linearGradient8148"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.434003,0.000000,0.000000,0.990087,52.32167,2.838918)"
x1="12.4873"
y1="3.7319"
x2="31.0813"
y2="36.0328" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient8155"
id="radialGradient8161"
cx="12.700491"
cy="10.404876"
fx="12.700491"
fy="10.404876"
r="19.96875"
gradientTransform="matrix(1.710531,-5.396358e-24,2.470345e-24,1.124849,-11.56833,1.802582)"
gradientUnits="userSpaceOnUse" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2251"
id="linearGradient8166"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(5.147570,-3.409792)"
x1="33.396004"
y1="36.921333"
x2="34.170048"
y2="38.070381" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2224"
id="linearGradient8169"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(5.147570,-3.034792)"
x1="35.996582"
y1="40.458221"
x2="33.664921"
y2="37.770721" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient8171"
id="linearGradient8177"
x1="42.1875"
y1="31"
x2="45"
y2="39.984692"
gradientUnits="userSpaceOnUse" /></defs>
<sodipodi:namedview
inkscape:window-height="818"
inkscape:window-width="1238"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="0.07058824"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
inkscape:zoom="1"
inkscape:cx="49.378608"
inkscape:cy="-24.095483"
inkscape:window-x="0"
inkscape:window-y="30"
inkscape:current-layer="svg16168"
showgrid="false"
inkscape:showpageshadow="false" />
<g
style="display:inline"
transform="matrix(2.175112e-2,0,0,2.493263e-2,42.41049,33.81117)"
id="g6707"><rect
style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="rect6709"
width="1339.6335"
height="478.35718"
x="-1559.2523"
y="-150.69685" /><path
style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
id="path6711"
sodipodi:nodetypes="cccc" /><path
sodipodi:nodetypes="cccc"
id="path6713"
d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /></g><path
style="color:#000000;fill:url(#linearGradient8148);fill-opacity:1;fill-rule:nonzero;stroke:#bbbfbb;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 2.7177715,6.4547749 L 43.379544,6.4547749 C 44.002793,6.4547749 44.504543,6.9565247 44.504543,7.5797745 L 44.504543,31.480581 C 44.504543,32.103831 36.047842,39.499872 35.424593,39.499872 L 2.7177715,39.499872 C 2.0945221,39.499872 1.5927727,38.998122 1.5927727,38.374872 L 1.5927727,7.5797745 C 1.5927727,6.9565247 2.0945221,6.4547749 2.7177715,6.4547749 z "
id="rect7603"
sodipodi:nodetypes="ccccccccc" />
<g
id="g7654"
transform="matrix(1.054774,0.000000,0.000000,1.049989,-0.814647,4.485012)"><path
id="path7644"
d="M 5.512695,30 L 39.643234,30 L 39.643234,19.627375 L 5.512695,19.627375 L 5.512695,30 z "
style="fill:url(#linearGradient7671);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.2166667;stroke-miterlimit:4" /><path
style="fill:url(#linearGradient7673);fill-rule:nonzero;stroke:none;stroke-width:1.2166667;stroke-miterlimit:4"
d="M 5.512695,5.237844 L 39.643234,5.237844 L 39.643234,19.627375 L 5.512695,19.627375 L 5.512695,5.237844 z "
id="path16203" /><g
id="g16205"
style="fill-rule:nonzero;stroke:#000000;stroke-width:1.15611064;stroke-miterlimit:4"
transform="matrix(1.189217,0.000000,0.000000,1.189217,-3.525355,-6.535408)">
<g
id="g16207">
<path
style="opacity:0.04999994;fill:#e8f52f;stroke:none"
d="M 18.4,15.4 C 18.4,17.6 16.6,19.5 14.3,19.5 C 12.1,19.5 10.2,17.7 10.2,15.4 C 10.2,13.2 12,11.3 14.3,11.3 C 16.5,11.3 18.4,13.1 18.4,15.4 z "
id="path16209" />
<path
style="opacity:0.20829994;fill:#ecf751;stroke:none"
d="M 18,15.4 C 18,17.4 16.4,19.1 14.3,19.1 C 12.3,19.1 10.6,17.5 10.6,15.4 C 10.6,13.4 12.2,11.7 14.3,11.7 C 16.3,11.7 18,13.3 18,15.4 L 18,15.4 z "
id="path16211" />
<path
style="opacity:0.36669994;fill:#f0f972;stroke:none"
d="M 17.6,15.4 C 17.6,17.2 16.1,18.7 14.3,18.7 C 12.5,18.7 11,17.2 11,15.4 C 11,13.6 12.5,12.1 14.3,12.1 C 16.1,12.1 17.6,13.6 17.6,15.4 L 17.6,15.4 z "
id="path16213" />
<path
style="opacity:0.525;fill:#f4fa95;stroke:none"
d="M 17.2,15.4 C 17.2,17 15.9,18.3 14.3,18.3 C 12.7,18.3 11.4,17 11.4,15.4 C 11.4,13.8 12.7,12.5 14.3,12.5 C 15.9,12.5 17.2,13.8 17.2,15.4 z "
id="path16215" />
<path
style="opacity:0.6833;fill:#f7fcb7;stroke:none"
d="M 16.8,15.4 C 16.8,16.8 15.7,17.9 14.3,17.9 C 12.9,17.9 11.8,16.8 11.8,15.4 C 11.8,14 12.9,12.9 14.3,12.9 C 15.7,12.9 16.8,14 16.8,15.4 L 16.8,15.4 z "
id="path16217" />
<path
style="opacity:0.8417;fill:#fbfddb;stroke:none"
d="M 16.4,15.4 C 16.4,16.6 15.4,17.5 14.3,17.5 C 13.2,17.5 12.2,16.5 12.2,15.4 C 12.2,14.3 13.2,13.3 14.3,13.3 C 15.4,13.3 16.4,14.3 16.4,15.4 z "
id="path16219" />
<path
style="fill:#ffffff;stroke:none"
d="M 16,15.4 C 16,16.4 15.2,17.2 14.2,17.2 C 13.2,17.2 12.4,16.4 12.4,15.4 C 12.4,14.4 13.2,13.6 14.2,13.6 C 15.2,13.6 16,14.4 16,15.4 L 16,15.4 z "
id="path16221" />
</g>
</g><path
style="opacity:0.3;fill-rule:nonzero;stroke:none;stroke-width:1.2166667;stroke-miterlimit:4"
d="M 25.015859,21.649044 L 33.697148,21.649044 L 35.362052,22.124732 L 32.507931,22.124732 C 32.507931,22.124732 35.362052,22.362574 36.789115,24.146401 C 38.216174,25.811305 35.12421,27.832976 35.12421,27.832976 C 35.12421,27.832976 35.12421,27.832976 35.12421,27.832976 C 35.005288,27.47621 34.291756,24.622087 32.864696,23.43287 C 31.794399,22.481496 30.605182,22.243652 30.605182,22.243652 L 25.015859,22.243652 L 25.015859,21.767966 L 25.015859,21.649044 z "
id="path16223" /><path
style="opacity:0.3;fill-rule:nonzero;stroke:none;stroke-width:1.2166667;stroke-miterlimit:4"
d="M 30.724106,22.362574 L 25.729391,22.362574 L 35.005288,27.595131 L 30.724106,22.362574 L 30.724106,22.362574 z "
id="path16225" /><path
style="fill:#515151;fill-rule:nonzero;stroke:none;stroke-width:1.2166667;stroke-miterlimit:4"
d="M 25.015859,21.767966 L 33.697148,21.767966 L 35.005288,20.935513 L 32.151167,20.935513 C 32.151167,20.935513 34.767443,20.459827 35.12421,17.486782 C 35.480973,14.513739 31.080869,11.183931 31.080869,11.183931 C 31.080869,11.183931 31.080869,11.183931 31.080869,11.302853 C 31.19979,12.016383 32.389007,17.011096 31.556557,18.913846 C 31.19979,20.578747 30.129495,20.935513 30.129495,20.935513 L 24.659094,20.935513 L 24.896938,21.767966 L 25.015859,21.767966 z "
id="path16227" /><path
style="fill:#515151;fill-rule:nonzero;stroke:none;stroke-width:1.2166667;stroke-miterlimit:4"
d="M 30.248418,20.459827 L 25.253704,20.459827 L 31.19979,11.421773 L 30.248418,20.459827 z "
id="path16229" /></g><path
style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 2.8042317,7.4528585 L 43.233985,7.4528585 C 43.384366,7.4528585 43.505431,7.5739234 43.505431,7.7243045 L 43.505431,31.422651 C 43.505431,32.368527 36.401687,38.5 36.251306,38.5 L 2.8042317,38.5 C 2.6538507,38.5 2.5327858,38.378935 2.5327858,38.228554 L 2.5327858,7.7243045 C 2.5327858,7.5739234 2.6538507,7.4528585 2.8042317,7.4528585 z "
id="rect7675"
sodipodi:nodetypes="ccccccccc" /><rect
style="opacity:0.84659095;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#4f4f4f;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="rect8163"
width="35.0625"
height="25.0625"
x="5.5"
y="10.5" /><path
style="color:#000000;fill:url(#linearGradient8169);fill-opacity:1.0;fill-rule:evenodd;stroke:url(#linearGradient8177);stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 35.206652,39.468763 C 37.23707,39.798661 44.795445,34.938834 44.491063,30.970919 C 42.927801,33.394016 39.732541,32.257657 35.623783,32.416667 C 35.623783,32.416667 36.019152,38.968763 35.206652,39.468763 z "
id="path2210"
sodipodi:nodetypes="cccc" /><path
sodipodi:nodetypes="cccc"
id="path2247"
d="M 36.657089,37.277261 C 38.026868,36.593432 41.085338,35.130796 42.384719,33.249792 C 40.788625,33.929847 39.436909,33.459288 36.682385,33.440197 C 36.682385,33.440197 36.844707,36.502291 36.657089,37.277261 z "
style="opacity:0.36931817;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient8166);stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
style="opacity:0.30113636;color:#000000;fill:url(#radialGradient8161);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 3.0625,8 L 3.0625,30.0625 C 25.388579,30.950861 27.884634,17 43,17 L 43,8 L 3.0625,8 z "
id="rect8150"
sodipodi:nodetypes="ccccc" /></svg>

After

Width:  |  Height:  |  Size: 19 KiB

View file

@ -0,0 +1,46 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48">
<defs>
<linearGradient id="k" y2="30.6" gradientUnits="userSpaceOnUse" x2="31.3" y1="23.35" x1="27.01">
<stop stop-color="#8a8a8a" offset="0"/>
<stop stop-color="#484848" offset="1"/>
</linearGradient>
<linearGradient id="SVGID_3_" y2="55.65" gradientUnits="userSpaceOnUse" x2="-144.3" gradientTransform="matrix(1.335 0 0-1.291 229.6 104.1)" y1="52.71" x1="-146.9">
<stop stop-color="#7d7d7d" offset="0"/>
<stop stop-color="#b1b1b1" offset=".5"/>
<stop stop-color="#686868" offset="1"/>
</linearGradient>
<linearGradient id="c" y2="25.86" gradientUnits="userSpaceOnUse" x2="17.83" y1="10.73" x1="18.81">
<stop stop-color="#fff" offset="0"/>
<stop stop-color="#fff" stop-opacity=".22" offset=".5"/>
<stop stop-color="#fff" offset="1"/>
</linearGradient>
<radialGradient id="r" gradientUnits="userSpaceOnUse" cy="81.5" cx="-171.7" gradientTransform="matrix(1.399 0 0-1.399 259.5 136.2)" r="8.31">
<stop stop-color="#729fcf" stop-opacity=".21" offset="0"/>
<stop stop-color="#729fcf" stop-opacity=".68" offset="1"/>
</radialGradient>
<radialGradient id="b" gradientUnits="userSpaceOnUse" cy="-511.6" cx="-174.5" gradientTransform="matrix(1.446 0 0-.362 276.2-145.1)" r="16.53">
<stop offset="0"/>
<stop stop-opacity="0" offset="1"/>
</radialGradient>
<radialGradient id="g" gradientUnits="userSpaceOnUse" cy="166.4" cx="-296.8" gradientTransform="matrix(2.593 0 0-2.252 784.6 385.3)" r="6.66">
<stop stop-color="#fff" offset="0"/>
<stop stop-color="#fff" stop-opacity=".25" offset="1"/>
</radialGradient>
<radialGradient id="s" gradientUnits="userSpaceOnUse" cy="-1674" cx="314.9" gradientTransform="matrix(.498 0 0-.145-135.8-204.1)" r="16.53">
<stop stop-color="#fff" offset="0"/>
<stop stop-color="#fff" stop-opacity="0" offset="1"/>
</radialGradient>
</defs>
<ellipse opacity=".17" rx="23.9" ry="5.98" cy="39.96" cx="23.92" fill="url(#b)"/>
<g fill="#dcdcdc">
<path d="m18.63 3.14c-8.14 0-14.75 6.61-14.75 14.75s6.61 14.74 14.75 14.74c3.48 0 6.55-1.38 9.1-3.4-0.2 1-0.08 2.04 0.76 2.76l10.96 9.53c1.23 1.07 3.09 0.93 4.16-0.3 1.07-1.24 0.93-3.09-0.3-4.16l-10.97-9.53c-0.67-0.58-1.49-0.76-2.3-0.64 1.98-2.52 3.36-5.55 3.36-9 0-8.14-6.6-14.75-14.74-14.75zm-0.08 1.23c7.64 0 13.29 4.79 13.29 13.29 0 8.68-5.81 13.29-13.29 13.29-7.3 0-13.29-5.47-13.29-13.29 0-7.98 5.82-13.29 13.29-13.29z" stroke="url(#k)" stroke-linecap="round" stroke-width="2"/>
<path d="m18.6 3.08c-8.16 0-14.79 6.63-14.79 14.79 0 8.17 6.63 14.8 14.79 14.8 3.49 0 6.58-1.39 9.11-3.42-0.21 1-0.08 2.04 0.75 2.77l11 9.56c1.24 1.07 3.1 0.93 4.18-0.3 1.07-1.24 0.93-3.1-0.31-4.18l-11-9.56c-0.67-0.58-1.49-0.75-2.31-0.64 1.99-2.52 3.38-5.57 3.38-9 0-8.16-6.63-14.79-14.8-14.79m-0.07 3.19c6.28 0 11.38 5.09 11.38 11.38 0 6.28-5.1 11.37-11.38 11.37s-11.38-5.09-11.38-11.37c0-6.29 5.1-11.38 11.38-11.38"/>
</g>
<path d="m39.51 41.58c-0.48-2.28 1.39-4.81 3.58-4.79l-10.76-9.26c-2.94-0.06-4.27 2.27-3.78 4.6l10.96 9.45" fill="url(#SVGID_3_)"/>
<circle cy="17.4" stroke="url(#c)" cx="18.38" r="13.77" fill="none"/>
<ellipse rx="8.23" ry="2.4" cy="38.77" cx="20.99" fill="url(#s)"/>
<circle cy="17.55" stroke="#3063a3" cx="18.38" r="11.62" fill="url(#r)"/>
<path opacity=".83" d="m18.2 7.4c-5.21 0-9.43 4.21-9.43 9.42 0 1.51 0.42 2.89 1.05 4.15 1.25 0.46 2.58 0.78 3.99 0.78 6.18 0 11.1-4.86 11.48-10.94-1.73-2.05-4.21-3.41-7.09-3.41" fill="url(#g)"/>
<rect opacity="0.43" rx="2.468" transform="matrix(.7530 .6580 -.6489 .7609 0 0)" height="5" width="19" stroke="#fff" y="-.13" x="40.5" fill="none"/>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" height="48" width="48" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="a">
<stop stop-color="#fdfdfd" offset="0"/>
<stop stop-color="#d4d4d4" offset="1"/>
</linearGradient>
<radialGradient id="c" cx="27.216" gradientUnits="userSpaceOnUse" cy="35.673" r="19.571" gradientTransform="matrix(2.8831 0 0 2.136 -64.968 -52.486)">
<stop stop-color="#5d5d5d" offset="0"/>
<stop stop-color="#444" offset="1"/>
</radialGradient>
<linearGradient id="d" y2="49.143" gradientUnits="userSpaceOnUse" y1="13.143" x2="21.536" x1="5.463">
<stop stop-color="#fff" offset="0"/>
<stop stop-color="#fff" stop-opacity="0" offset="1"/>
</linearGradient>
<radialGradient id="b" cx="24.643" gradientUnits="userSpaceOnUse" cy="44.286" r="22.071" gradientTransform="matrix(1 0 0 .20712 0 35.113)">
<stop offset="0"/>
<stop stop-opacity="0" offset="1"/>
</radialGradient>
<linearGradient id="g" y2="11.107" gradientUnits="userSpaceOnUse" y1="15.929" x2="7.929" x1="10.679">
<stop stop-color="#939393" offset="0"/>
<stop stop-color="#d9d9d9" offset="1"/>
</linearGradient>
<linearGradient id="e" y2="18.693" xlink:href="#a" gradientUnits="userSpaceOnUse" y1="6.11" x2="18.773" x1="2.761"/>
<linearGradient id="f" y2="18.693" xlink:href="#a" gradientUnits="userSpaceOnUse" y1="6.11" gradientTransform="translate(-.6 -.578)" x2="18.773" x1="2.761"/>
</defs>
<path d="M46.714 44.286a22.071 4.571 0 1 1-44.143 0 22.071 4.571 0 1 1 44.143 0z" opacity=".744" display="block" transform="translate(0 -.857)" fill="url(#b)" color="#000"/>
<rect height="28" stroke="#1b1b1b" fill="url(#c)" rx="1.143" ry="1.143" width="38.143" y="16.571" x="5.429" display="block" color="#000"/>
<rect height="26.06" stroke="url(#d)" fill="none" rx=".274" ry=".274" width="36.073" opacity=".312" y="17.489" x="6.392" display="block" color="#000"/>
<g transform="scale(-1 1) rotate(13.416 -44.619 -192.089)">
<rect transform="rotate(-12.991)" stroke="#2b2b2b" fill="url(#e)" rx="1.143" ry="1.143" width="39.806" height="6.509" y="10.353" x="1.705" display="block" color="#000"/>
<path d="M9.19 8.97l-2.43 6.57 4.714-1.286 2.429-6.286-4.714 1zm9.142-2.072l-2.285 6.5 4.714-1.143 2.286-6.357-4.715 1zm9.572-2.214l-2.286 6.428 4.714-1.143 2.286-6.285-4.714 1z" fill-rule="evenodd"/>
<path d="M39.413 2.018c.229.156.401.364.469.657l.732 3.075-.723 2-4.688 1.085 2.281-6.357 1.929-.46z" display="block" color="#000"/>
<rect ry=".265" stroke="#fff" fill="none" rx=".265" transform="rotate(-12.991)" width="37.843" height="4.607" stroke-opacity=".575" y="11.327" x="2.672" display="block" color="#000"/>
</g>
<rect transform="rotate(-12.991)" stroke="#2e2e2e" fill="url(#f)" rx="1.143" ry="1.143" width="40.077" height="6.942" y="9.685" x=".67" display="block" color="#000"/>
<path d="M10.143 8.143l-2.429 6.571 4.715-1.285 2.428-6.286-4.714 1zm9.286-2.357l-2.643 7 4.714-1.143 2.643-6.857-4.714 1zm9.642-2.143L26.5 10.786l4.714-1.143 2.572-7-4.715 1z" fill-rule="evenodd"/>
<path d="M41.295.978c.229.156.401.363.468.656l.661 2.647-1.08 2.786-5.116 1.228L38.58 1.58l2.715-.602z" display="block" color="#000"/>
<rect ry=".265" stroke="#fff" fill="none" rx=".265" transform="rotate(-12.991)" width="38.199" height="4.915" stroke-opacity=".575" y="10.659" x="1.637" display="block" color="#000"/>
<path d="M6.536 10.893v7.786a.96.96 0 0 0 .857.928h7.893c.863 0 1.274-1.262.607-1.928l-6.214-7.286c-.965-1.393-3.143-.714-3.143.5z" fill-rule="evenodd" stroke="#1b1b1b" fill="url(#g)"/>
<path d="M8.964 12.232a.482.482 0 1 1-.964 0 .482.482 0 1 1 .964 0zm0 5.285a.482.482 0 1 1-.964 0 .482.482 0 1 1 .964 0zm5.036 0a.482.482 0 1 1-.964 0 .482.482 0 1 1 .964 0z" display="block" fill="#fff" color="#000"/>
<path d="M10 32.429h28m-28 4.142h28M32.5 32v-4M10 36.571h28M22.5 32v-4M9.743 40.571h13.3" opacity=".261" stroke="#fff" fill="none"/>
<path d="M21.489 33.888c.078.664.168 1.326.272 1.987l-1.45.767c-.092-.649-.169-1.302-.311-1.943l1.489-.811zm2.648.574c-.017 1.43.466.82-1.315 1.781.561-.896 1.508-1.801 2.442-.994 1.782.29-.987 1.708.244.217 1.789-1.562 1.529-.687 3.03-.598 1.225.296 1.236.038-.392.975l.066-.058 1.54-.652a5.273 5.273 0 0 0-.052.08c-1.935 1.155-1.148.815-2.51.637-1.284-.225-1.978-.38-.151-1.02-.785.89-2.052 2.27-3.178 1.295-1.093-.806 1.467-1.661.526-.503-1.846 1.017-1.652 1.067-1.762-.39l1.512-.77zm7.919-1.68c.1 1.037.156 2.077.279 3.112.98 1.274-1.257 3.189-.927 1.245.235-2.232.447-2.645 2.428-3.358.377.677.583 1.471 1.173 1.877-3.33 1.756 1.165-1.019 1.665-1.284.32-.075.646-.114.972-.16l-1.322.99c-.32.047-.643.081-.953.18 2.064-1.316-.39.58-1.724 1.25-.636-.498-.787-1.303-1.227-1.982 2.165-1.526.436-.097.44 1.773-.196 1.617-2.285 2.443-1.938.212-.119-1.02-.172-2.053-.364-3.06l1.498-.795z" fill="#fff"/>
<g fill="#fff">
<path d="M13.353 28.156c1.847-1.351 1.143-.285 1.145 1.163-.015 1.304.178 2.593.468 3.86l-1.28.692c-.291-1.277-.486-2.576-.482-3.89-.02-1.575-.293-1.98 1.366-2.709l-1.217.884zm4.355.04c-.024.8-.024 1.603-.027 2.405l-.001 1.01-1.283.653-.001-1.008c-.003-.793-.003-1.585-.027-2.378l1.34-.682zm2.253-1.229c.1.807.119 1.678.147 2.508.008.244.014.488.02.733l-1.274.655c-.008-.244-.014-.488-.024-.731-.037-.827-.043-1.671-.208-2.483l1.34-.682zm2.459-.615c-.2.692-.273 1.416-.343 2.134a49.16 49.16 0 0 0-.13 2.32l-1.275.643c.03-.774.06-1.548.118-2.321.055-.698.084-1.425.29-2.093l1.34-.683z"/>
<path d="M11.914 28.091c.92.194 1.853.354 2.78.511 2.18.337 4.368.636 6.56.887a170.7 170.7 0 0 1 2.747.3l-1.184.838c-.907-.112-1.814-.217-2.723-.316a230.868 230.868 0 0 1-6.566-.89c-.94-.151-1.888-.336-2.83-.445l1.216-.885z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48">
<defs>
<radialGradient xlink:href="#a" id="d" cx="4.3920336" cy="32.307854" r="6.375" fx="4.3920336" fy="32.307854" gradientTransform="matrix(1 0 0 .5098 0 16.05392)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#a" id="e" cx="4.3920336" cy="32.307854" r="6.375" fx="4.3920336" fy="32.307854" gradientTransform="matrix(1 0 0 .5098 0 16.05392)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#b" id="c" cx="23.25" cy="35.375" r="18.5" fx="23.25" fy="35.375" gradientTransform="matrix(1 0 0 .39865 0 21.2728)" gradientUnits="userSpaceOnUse"/>
<linearGradient id="b">
<stop offset="0"/>
<stop offset="1" stop-opacity="0"/>
</linearGradient>
<linearGradient id="a">
<stop offset="0" stop-color="#fff"/>
<stop offset="1" stop-color="#fff" stop-opacity="0"/>
</linearGradient>
</defs>
<g color="#000">
<path fill="url(#c)" fill-rule="evenodd" d="M41.75 35.375a18.5 7.375 0 1 1-37 0 18.5 7.375 0 1 1 37 0z" opacity=".3" overflow="visible" style="marker:none" transform="translate(0 2.834646)"/>
<path fill="#9db029" stroke="#596616" stroke-linecap="round" stroke-linejoin="round" d="M41.625 7.7951523 18.5625 10.629798v21.78125c-1.645955-.557651-3.931785-.703429-6.4375-.1875-4.356314.896969-7.4778602 3.299487-7 5.34375.4778601 2.044263 4.393685 2.99072 8.75 2.09375 4.116641-.84762 7.684123-3.037802 7.602633-5l.15625-19.03125 16.930457-2.895306v17.284614c-10.25-1.5-13.292201 2.893236-12.81434 4.9375.47786 2.044263 4.393686 2.990719 8.75 2.09375 3.865376-.795885 6.63241-2.763211 6.90625-4.625L41.625 7.7951523z" display="block" style="marker:none"/>
<path fill="none" stroke="#fff" d="M40.729036 8.8956383 19.547267 11.730284v21.838337c-7.565255-1.90531-13.7331038 1.834409-13.2786726 3.778444.7044311 3.319035 14.3783746 1.102234 14.3008796-3.13876l.148589-19.473166 18.850374-2.892332v19.437166c-7.566284-1.926647-13.265498 1.376384-12.811066 3.32042.579431 3.194035 12.378226 2.113362 13.76364-2.657146l.208025-23.0476087z" display="block" opacity=".51176471" style="marker:none"/>
<path fill="url(#d)" d="M12.25 32.75a6.375 3.25 0 1 1-12.75 0 6.375 3.25 0 1 1 12.75 0z" display="block" opacity=".51176471" overflow="visible" style="marker:none" transform="matrix(.73452 -.11164 .11164 .73452 3.903362 12.22551)"/>
<path fill="url(#e)" d="M12.25 32.75a6.375 3.25 0 1 1-12.75 0 6.375 3.25 0 1 1 12.75 0z" display="block" opacity=".51176471" overflow="visible" style="marker:none" transform="matrix(.73452 -.11164 .11164 .73452 23.74587 9.390864)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

408
Web/static/img/icons/7.svg Normal file
View file

@ -0,0 +1,408 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="internet-news-reader.svg"
sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/apps"
inkscape:version="0.46"
sodipodi:version="0.32"
id="svg1724"
height="48px"
width="48px"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs3">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 24 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="48 : 24 : 1"
inkscape:persp3d-origin="24 : 16 : 1"
id="perspective66" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5060"
id="radialGradient6719"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" />
<linearGradient
inkscape:collect="always"
id="linearGradient5060">
<stop
style="stop-color:black;stop-opacity:1;"
offset="0"
id="stop5062" />
<stop
style="stop-color:black;stop-opacity:0;"
offset="1"
id="stop5064" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5060"
id="radialGradient6717"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" />
<linearGradient
id="linearGradient5048">
<stop
style="stop-color:black;stop-opacity:0;"
offset="0"
id="stop5050" />
<stop
id="stop5056"
offset="0.5"
style="stop-color:black;stop-opacity:1;" />
<stop
style="stop-color:black;stop-opacity:0;"
offset="1"
id="stop5052" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5048"
id="linearGradient6715"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
x1="302.85715"
y1="366.64789"
x2="302.85715"
y2="609.50507" />
<linearGradient
id="linearGradient2951"
inkscape:collect="always">
<stop
id="stop2953"
offset="0"
style="stop-color:#000000;stop-opacity:1;" />
<stop
id="stop2955"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient2941"
inkscape:collect="always">
<stop
id="stop2943"
offset="0"
style="stop-color:#ffffff;stop-opacity:1;" />
<stop
id="stop2945"
offset="1"
style="stop-color:#ffffff;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient2926">
<stop
id="stop2928"
offset="0.0000000"
style="stop-color:#787878;stop-opacity:1.0000000;" />
<stop
id="stop2930"
offset="1.0000000"
style="stop-color:#d0d0d0;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient2908">
<stop
id="stop2910"
offset="0"
style="stop-color:#828282;stop-opacity:1;" />
<stop
id="stop2912"
offset="1"
style="stop-color:#828282;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient2831">
<stop
id="stop2833"
offset="0.0000000"
style="stop-color:#919191;stop-opacity:1.0000000;" />
<stop
style="stop-color:#e9e9e9;stop-opacity:1.0000000;"
offset="0.20232038"
id="stop2839" />
<stop
id="stop2843"
offset="0.23641536"
style="stop-color:#f3f3f3;stop-opacity:1.0000000;" />
<stop
id="stop2841"
offset="0.29892281"
style="stop-color:#e6e6e6;stop-opacity:1.0000000;" />
<stop
id="stop2835"
offset="1.0000000"
style="stop-color:#f8f8f8;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
gradientUnits="userSpaceOnUse"
y2="17.640900"
x2="17.808550"
y1="46.606094"
x1="17.827532"
gradientTransform="matrix(1.376922,0.000000,0.000000,0.824973,-1.442762,-2.734599)"
id="linearGradient2837"
xlink:href="#linearGradient2831"
inkscape:collect="always" />
<linearGradient
gradientUnits="userSpaceOnUse"
y2="25.539530"
x2="12.728428"
y1="38.134369"
x1="12.745098"
gradientTransform="matrix(1.119541,0.000000,0.000000,0.893223,0.125000,-1.125000)"
id="linearGradient2932"
xlink:href="#linearGradient2926"
inkscape:collect="always" />
<linearGradient
gradientUnits="userSpaceOnUse"
y2="73.135864"
x2="40.419140"
y1="13.835308"
x1="4.6806560"
gradientTransform="matrix(1.310510,0.000000,0.000000,0.763062,0.125000,-1.125000)"
id="linearGradient2947"
xlink:href="#linearGradient2941"
inkscape:collect="always" />
<radialGradient
gradientUnits="userSpaceOnUse"
r="10.295440"
fy="44.613575"
fx="11.770608"
cy="44.613575"
cx="11.770608"
gradientTransform="scale(2.033667,0.491723)"
id="radialGradient2957"
xlink:href="#linearGradient2951"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
inkscape:window-y="30"
inkscape:window-x="225"
inkscape:window-height="818"
inkscape:window-width="929"
inkscape:document-units="px"
inkscape:grid-bbox="true"
showgrid="false"
inkscape:current-layer="layer1"
inkscape:cy="18.851997"
inkscape:cx="22.057648"
inkscape:zoom="1"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="0.16470588"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
inkscape:showpageshadow="false" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>News</dc:title>
<dc:date>2005-03-11</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>http://jimmac.musichall.cz/</dc:source>
<dc:subject>
<rdf:Bag>
<rdf:li>news</rdf:li>
<rdf:li>usenet</rdf:li>
<rdf:li>new</rdf:li>
</rdf:Bag>
</dc:subject>
<cc:license
rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/publicdomain/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
inkscape:label="Layer 1"
id="layer1">
<g
transform="matrix(2.374466e-2,0,0,2.086758e-2,44.68185,33.2786)"
id="g6707">
<rect
style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="rect6709"
width="1339.6335"
height="478.35718"
x="-1559.2523"
y="-150.69685" />
<path
style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
id="path6711"
sodipodi:nodetypes="cccc" />
<path
sodipodi:nodetypes="cccc"
id="path6713"
d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
</g>
<path
sodipodi:nodetypes="cssssssss"
id="path1943"
d="M 6.6318643,11.549491 L 2.3792281,31.036252 C 1.6982888,34.156506 3.1866903,36.150182 5.3399238,36.150182 L 42.590860,36.150182 C 44.744093,36.150182 46.246357,33.815110 45.497724,31.090083 L 40.114641,11.495661 C 39.966374,10.955968 39.277978,10.525719 38.715040,10.526706 L 8.0314653,10.580537 C 7.2043318,10.581987 6.7925280,10.813285 6.6318643,11.549491 z "
style="fill:url(#linearGradient2837);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#828282;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
<path
sodipodi:nodetypes="ccccc"
id="path2850"
d="M 36.854646,13.732143 L 28.535714,13.732143 L 29.311828,18.303571 L 37.696429,18.303571 L 36.854646,13.732143 z "
style="fill:#000000;fill-opacity:0.17543860;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
<path
sodipodi:nodetypes="cc"
id="path2852"
d="M 38.714286,21.357143 L 23.714286,21.357143"
style="stroke-opacity:0.099415191;stroke-linejoin:miter;stroke-linecap:round;stroke-width:1.0000000px;stroke:#000000;fill-rule:evenodd;fill-opacity:0.75000000;fill:none" />
<path
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:0.099415191"
d="M 39.214286,23.357143 L 23.714286,23.357143"
id="path2854"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
id="path2856"
d="M 39.839286,25.357143 L 23.714286,25.357143"
style="stroke-opacity:0.12280702;stroke-linejoin:miter;stroke-linecap:round;stroke-width:1.0000000px;stroke:#000000;fill-rule:evenodd;fill-opacity:0.75000000;fill:none" />
<path
style="stroke-opacity:0.15204678;stroke-linejoin:miter;stroke-linecap:round;stroke-width:0.99128145px;stroke:#000000;fill-rule:evenodd;fill-opacity:0.75000000;fill:none"
d="M 40.410467,27.357143 L 23.705605,27.357143"
id="path2858"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
id="path2860"
d="M 41.035175,29.357143 L 23.705897,29.357143"
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.99157524px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:0.15204675" />
<path
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.99190271px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:0.15204675"
d="M 41.784851,31.357143 L 23.706221,31.357143"
id="path2862"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
id="path2864"
d="M 40.852709,33.357143 L 23.700863,33.357143"
style="stroke-opacity:0.11695904;stroke-linejoin:miter;stroke-linecap:round;stroke-width:0.98648584px;stroke:#000000;fill-rule:evenodd;fill-opacity:0.75000000;fill:none" />
<g
transform="translate(0.500000,-1.125000)"
id="g2882">
<text
xml:space="preserve"
style="font-size:6.5877376;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Times New Roman;text-anchor:start;writing-mode:lr-tb"
x="11.739901"
y="19.331924"
id="text2866"
sodipodi:linespacing="100%"
transform="matrix(1.000000,0.000000,-0.169202,1.000000,0.000000,0.000000)"><tspan
sodipodi:role="line"
id="tspan2868"
x="11.739901"
y="19.331924">N</tspan></text>
<text
xml:space="preserve"
style="font-size:6.5877376;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Times New Roman;text-anchor:start;writing-mode:lr-tb"
x="15.444986"
y="19.331924"
id="text2870"
sodipodi:linespacing="100%"
transform="matrix(1.000000,0.000000,-0.114632,1.000000,0.000000,0.000000)"><tspan
sodipodi:role="line"
id="tspan2872"
x="15.444986"
y="19.331924">E</tspan></text>
<text
xml:space="preserve"
style="font-size:6.5877376;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Times New Roman;text-anchor:start;writing-mode:lr-tb"
x="16.637789"
y="19.331924"
id="text2874"
sodipodi:linespacing="100%"
transform="matrix(1.000000,0.000000,5.603472e-2,1.000000,0.000000,0.000000)"><tspan
sodipodi:role="line"
id="tspan2876"
x="16.637789"
y="19.331924">W</tspan></text>
<text
xml:space="preserve"
style="font-size:6.5877376;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Times New Roman;text-anchor:start;writing-mode:lr-tb"
x="21.811335"
y="19.328707"
id="text2878"
sodipodi:linespacing="100%"
transform="matrix(1.000000,0.000000,0.109619,1.000000,0.000000,0.000000)"><tspan
sodipodi:role="line"
id="tspan2880"
x="21.811335"
y="19.328707">S</tspan></text>
</g>
<path
sodipodi:nodetypes="ccsscc"
id="path2924"
d="M 21.125000,21.375000 L 21.125000,33.375000 L 8.1874999,33.375000 C 7.0555768,33.375000 6.1249999,32.187500 6.6874999,30.500000 C 6.6874999,30.500000 8.6249999,21.375000 8.6249999,21.375000 L 21.125000,21.375000 z "
style="fill:url(#linearGradient2932);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#9e9e9e;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
<path
sodipodi:nodetypes="cc"
id="path2934"
d="M 20.187500,31.437500 L 7.6875000,31.437500"
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.30994150" />
<path
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.4495406px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.30994150"
d="M 20.187500,31.437350 L 7.6875000,31.437350"
id="path2937"
sodipodi:nodetypes="cc" />
<path
style="fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2947);stroke-width:0.98188436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
d="M 7.4330493,12.290153 L 3.4527295,31.055192 C 3.0113565,33.136025 3.1341190,35.141495 5.4303252,35.141495 L 42.123439,35.141495 C 44.357145,35.141495 45.079222,33.295029 44.301442,30.479785 L 39.279677,12.303060 C 39.142367,11.806056 38.821386,11.472031 38.302769,11.472893 L 8.4724575,11.522485 C 7.8354451,11.523544 7.5463405,11.756047 7.4330493,12.290153 z "
id="path2939"
sodipodi:nodetypes="cssssssss" />
<path
transform="translate(-0.156250,0.125000)"
d="M 6.2187500 31.437500 A 0.96875000 0.96875000 0 1 1 4.2812500,31.437500 A 0.96875000 0.96875000 0 1 1 6.2187500 31.437500 z"
sodipodi:ry="0.96875000"
sodipodi:rx="0.96875000"
sodipodi:cy="31.437500"
sodipodi:cx="5.2500000"
id="path2963"
style="overflow:visible;display:inline;visibility:visible;marker-end:none;marker-mid:none;marker-start:none;marker:none;stroke-opacity:1.0000000;stroke-dashoffset:0.0000000;stroke-miterlimit:4.0000000;stroke-linejoin:round;stroke-linecap:round;stroke-width:1.0000000;stroke:none;fill-rule:nonzero;fill-opacity:0.63742691;fill:#ffffff;color:#000000"
sodipodi:type="arc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48">
<defs>
<path id="l" fill="#fff" d="M18.788838 12.493138a6.7175145 6.7175145 0 1 1-13.4350291 0 6.7175145 6.7175145 0 1 1 13.4350291 0z" overflow="visible" style="marker:none"/>
</defs>
<defs>
<linearGradient id="a">
<stop offset="0" stop-color="#fff"/>
<stop offset="1" stop-color="#fff" stop-opacity="0"/>
</linearGradient>
<linearGradient id="e">
<stop offset="0" stop-color="#fff"/>
<stop offset="1" stop-color="#fff" stop-opacity="0"/>
</linearGradient>
<linearGradient id="d">
<stop offset="0" stop-color="#fff"/>
<stop offset="1" stop-color="#fff" stop-opacity=".16494845"/>
</linearGradient>
<linearGradient id="c">
<stop offset="0"/>
<stop offset="1" stop-opacity="0"/>
</linearGradient>
<linearGradient id="b">
<stop offset="0" stop-color="#d3e9ff"/>
<stop offset=".15517241" stop-color="#d3e9ff"/>
<stop offset=".75" stop-color="#4074ae"/>
<stop offset="1" stop-color="#36486c"/>
</linearGradient>
<linearGradient xlink:href="#a" id="i" x1="-25.176178" x2="-22.252472" y1="30.057165" y2="21.041553" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#a" id="j" x1="-25.176178" x2="-22.113543" y1="30.057165" y2="22.661524" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#a" id="m" x1="-22.822565" x2="-22.113543" y1="28.337734" y2="22.661524" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#a" id="n" x1="-21.658581" x2="-21.962101" y1="15.649428" y2="21.336346" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#b" id="g" cx="18.247644" cy="15.716079" r="29.993349" fx="18.247644" fy="15.716079" gradientTransform="scale(.99999 1.00001)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#c" id="f" cx="15.115514" cy="63.965388" r="12.289036" fx="15.115514" fy="63.965388" gradientTransform="scale(1.64399 .60828)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#d" id="h" cx="15.601279" cy="12.142302" r="43.526714" fx="15.601279" fy="12.142302" gradientTransform="scale(.99999 1.00001)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#e" id="o" cx="12.071323" cy="12.493138" r="6.7175145" fx="12.071323" fy="12.493138" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#e" id="p" cx="12.071323" cy="12.493138" r="6.7175145" fx="12.071323" fy="12.493138" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#e" id="k" cx="12.071323" cy="12.493138" r="6.7175145" fx="12.071323" fy="12.493138" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#e" id="q" cx="12.071323" cy="12.493138" r="6.7175145" fx="12.071323" fy="12.493138" gradientUnits="userSpaceOnUse"/>
</defs>
<path fill="url(#f)" d="M45.052803 38.908627a20.203051 7.4751287 0 1 1-40.4061012 0 20.203051 7.4751287 0 1 1 40.4061012 0z" transform="matrix(1 0 0 1.24324 0 -10.27241)"/>
<path fill="url(#g)" stroke="#39396c" d="M43.959853 23.485499c0 10.709718-8.682103 19.391723-19.390348 19.391723-10.709226 0-19.3908387-8.682103-19.3908387-19.391723 0-10.709227 8.6816127-19.3903473 19.3908387-19.3903473 10.708245 0 19.390348 8.6811203 19.390348 19.3903473z"/>
<g fill="#204a87" fill-opacity=".71345031" transform="translate(.121079 .232914) scale(.98237)">
<path d="M44.0713 20.7144c0 .2627 0 0 0 0l-.5449.6172c-.334-.3936-.709-.7246-1.0898-1.0703l-.8359.123-.7637-.8633v1.0684l.6543.4951.4355.4932.582-.6582c.1465.2744.291.5488.4365.8232v.8223l-.6553.7402-1.1992.8232-.9082.9063-.582-.6602.291-.7402-.5811-.6582-.9814-2.0977-.8359-.9453-.2188.2461.3281 1.1934.6172.6992c.3525 1.0176.7012 1.9902 1.1641 2.9629.7178 0 1.3945-.0762 2.1074-.166v.5762l-.8721 2.1392-.7998.9043-.6543 1.4004v2.3027l.2188.9063-.3633.4102-.8008.4941-.8359.6992.6914.7813-.9453.8242.1816.5332-1.418 1.6055h-.9443l-.7998.4941h-.5098v-.6582l-.2168-1.3184c-.2813-.8262-.5742-1.6465-.8721-2.4668 0-.6055.0361-1.2051.0723-1.8105l.3643-.8223-.5098-.9883.0371-1.3574-.6914-.7813.3457-1.1309-.5625-.6382h-.9824l-.3271-.3701-.9814.6177-.3994-.4536-.9092.7817c-.6172-.6997-1.2354-1.3989-1.8535-2.0981l-.7266-1.7285.6543-.9863-.3633-.4111.7988-1.8936c.6563-.8164 1.3418-1.5996 2.0352-2.3857l1.2363-.3291 1.3809-.1641.9453.2471L33.459 19.15l.4727-.5342.6533-.082 1.2363.4111h.9453l.6543-.5762.291-.4111-.6553-.4111-1.0908-.082c-.3027-.4199-.584-.8613-.9434-1.2344l-.3643.1641-.1455 1.0703-.6543-.7402-.1445-.8242-.7266-.5742h-.292l.7275.8223-.291.7402-.5811.1641.3633-.7402-.6553-.3281-.5801-.6582-1.0918.2461-.1445.3281-.6543.4121-.3633.9053-.9082.4521-.4004-.4521h-.4355v-1.4814l.9453-.4941h.7266l-.1465-.5752-.5801-.5762.9805-.2061.5449-.6162.4355-.7412h.8008l-.2188-.5752.5098-.3291v.6582l1.0898.2461 1.0898-.9043.0732-.4121.9443-.6577c-.3418.0425-.6836.0737-1.0176.1646v-.7411l.3633-.8228h-.3633l-.7984.7402-.2188.4116.2188.5767-.3643.9863-.5811-.3291-.5078-.5752-.8008.5752-.291-1.3159 1.3809-.9048v-.4941l.873-.5757 1.3809-.3296.9453.3296 1.7441.3291-.4355.4932h-.9453l.9453.9873.7266-.8223.2207-.3618s2.7871 2.498 4.3799 5.2305c1.5928 2.7334 2.3408 5.9551 2.3408 6.6094zM26.0703 9.2363l-.0732.4932.5098.3291.8711-.5757-.4355-.4937-.582.3296-.29-.0825m.7996-3.373-1.8906-.7407-2.1797.2466-2.6904.7402-.5088.4941 1.6719 1.1514v.6582l-.6543.6582.873 1.729.5801-.3301.7285-1.1514c1.123-.3472 2.1299-.7407 3.1973-1.2344l.873-2.2212m1.9629 6.9117-.291-.7412-.5098.165.1465.9043.6543-.3281"/>
<path d="m29.123 12.6089-.1455.9883.7998-.165.5811-.5752-.5088-.4941c-.1709-.4551-.3672-.8799-.5811-1.3164h-.4355v.4932l.29.3291v.7402M18.3652 28.2422l-.582-1.1523-1.0903-.2466-.5815-1.5625-1.4536.1641-1.2354-.9043-1.3091 1.1514v.1816c-.396-.1143-.8828-.1299-1.2354-.3467l-.291-.8223v-.9053l-.8721.082c.0728-.5762.145-1.1514.2183-1.7275h-.5093l-.5083.6582-.5093.2461-.7271-.4102-.0728-.9053.1455-.9873 1.0908-.8223h.8721l.145-.4941 1.0903.2461.7998.9883.1455-1.6465 1.3813-1.1514.5088-1.2344 1.0176-.4111.5815-.8223 1.3081-.248.6548-.9863h-1.9629l1.2358-.5762h.8716l1.2363-.4121.1455-.4922-.4365-.4121-.5088-.165.1455-.4932-.3633-.7402-.8726.3281.1455-.6577-1.0176-.5762-.7993 1.3979.0723.4941-.7993.3301-.5093 1.0693-.2178-.9873-1.3813-.5762-.2183-.7402 1.8174-1.0703.7998-.7402.0728-.9048-.436-.2471-.5815-.0825-.3633.9053s-.6079.1191-.7642.1577c-1.9961 1.8394-6.0293 5.8101-6.9663 13.3062.0371.1738.6792 1.1816.6792 1.1816l1.5264.9043 1.5264.4121.6548.8232 1.0171.7402.5815-.082.436.1963v.1328l-.5811 1.563-.4365.6582.1455.3301-.3633 1.2324 1.3086 2.3867 1.3081 1.1523.582.8223-.0732 1.7285.4365.9863-.4365 1.8926s-.0342-.0117.0215.1777c.0562.1895 2.3291 1.4512 2.4736 1.3438.144-.1094.2671-.2051.2671-.2051l-.145-.4102.5811-.5762.2183-.5762.9453-.3301.7266-1.8105-.2178-.4922.5078-.7402 1.0908-.248.582-1.3164-.1455-1.6445.8721-1.2344.1455-1.2344c-1.1934-.5918-2.377-1.2012-3.5615-1.8105M16.7656 9.5649l.7266.4937h.582v-.5757l-.7266-.3291-.582.4111"/>
<path d="m14.876 8.9072-.3638.9048h.7271l.3638-.8228c.3135-.2217.6255-.4448.9448-.6582l.7271.2471c.4844.3291.9688.6582 1.4536.9868l.7275-.6577-.8003-.3291-.3638-.7407-1.3809-.1646-.0728-.4116-.6543.165-.2904.5758-.3638-.7407-.145.3291.0728.8228-.5816.494m2.6162-2.0576.3638-.3286.7271-.1646c.498-.2422.998-.4053 1.5264-.5762l-.29-.4937-.9385.1348-.4434.4419-.731.106-.6499.3052-.3159.1528-.1929.2583.9443.1641m1.2363 7.8169.4365-.6582-.6548-.4932.2183 1.1514"/>
</g>
<path fill="none" stroke="url(#h)" d="M42.975093 23.485534c0 10.16582-8.241178 18.406906-18.4056 18.406906-10.165354 0-18.4060669-8.241179-18.4060669-18.406906 0-10.165354 8.2407129-18.4056 18.4060669-18.4056 10.164422 0 18.4056 8.240246 18.4056 18.4056z" opacity=".3956044"/>
<path fill="none" stroke="url(#i)" stroke-linecap="round" stroke-linejoin="round" stroke-width=".88164198" d="M-2.8284283 21.041553a15.733126 9.4575529 0 1 1-31.4662517 0 15.733126 9.4575529 0 1 1 31.4662517 0z" color="#000" overflow="visible" style="marker:none" transform="matrix(1.13103 .6131 -.47656 .87914 54.09058 16.04435)"/>
<path fill="none" stroke="url(#j)" stroke-linecap="round" stroke-linejoin="round" stroke-width=".88164198" d="M-2.8284283 21.041553a15.733126 9.4575529 0 1 1-31.4662517 0 15.733126 9.4575529 0 1 1 31.4662517 0z" color="#000" overflow="visible" style="marker:none" transform="matrix(.93933 -.87909 .6833 .73013 32.31406 -4.451561)"/>
<g fill-rule="evenodd" color="#000" transform="matrix(-1.04577 .76725 .76725 1.04577 35.61651 -22.14396)">
<path fill="url(#k)" d="M18.788838 12.493138a6.7175145 6.7175145 0 1 1-13.4350291 0 6.7175145 6.7175145 0 1 1 13.4350291 0z" overflow="visible" style="marker:none" transform="translate(14.95026 22.93047)"/>
<use xlink:href="#l" overflow="visible" style="marker:none" transform="translate(23.30035 31.57234) scale(.30827)"/>
</g>
<path fill="none" stroke="url(#m)" stroke-linecap="round" stroke-linejoin="round" stroke-width=".88164198" d="M-2.8284283 21.041553a15.733126 9.4575529 0 1 1-31.4662517 0 15.733126 9.4575529 0 1 1 31.4662517 0z" color="#000" overflow="visible" style="marker:none" transform="matrix(-1.28032 -.12616 .09806 -.99518 -2.405125 40.52387)"/>
<path fill="none" stroke="url(#n)" stroke-linecap="round" stroke-linejoin="round" stroke-width=".90226138" d="M-2.8284283 21.041553a15.733126 9.4575529 0 1 1-31.4662517 0 15.733126 9.4575529 0 1 1 31.4662517 0z" color="#000" overflow="visible" style="marker:none" transform="matrix(.91787 -.85898 .6677 .71343 27.63317 -6.909069)"/>
<g fill-rule="evenodd" color="#000" transform="scale(-1 1) rotate(36.266 21.33340587 -27.92446612)">
<path fill="url(#o)" d="M18.788838 12.493138a6.7175145 6.7175145 0 1 1-13.4350291 0 6.7175145 6.7175145 0 1 1 13.4350291 0z" overflow="visible" style="marker:none" transform="translate(14.95026 22.93047)"/>
<use xlink:href="#l" overflow="visible" style="marker:none" transform="translate(23.30035 31.57234) scale(.30827)"/>
</g>
<g fill-rule="evenodd" color="#000" transform="scale(-1 1) rotate(36.266 41.34363601 -36.35995218)">
<path fill="url(#p)" d="M18.788838 12.493138a6.7175145 6.7175145 0 1 1-13.4350291 0 6.7175145 6.7175145 0 1 1 13.4350291 0z" overflow="visible" style="marker:none" transform="translate(14.95026 22.93047)"/>
<use xlink:href="#l" overflow="visible" style="marker:none" transform="translate(23.30035 31.57234) scale(.30827)"/>
</g>
<g fill-rule="evenodd" color="#000" transform="matrix(-.87023 .63857 .63846 .87038 25.20503 -35.31278)">
<path fill="url(#q)" d="M18.788838 12.493138a6.7175145 6.7175145 0 1 1-13.4350291 0 6.7175145 6.7175145 0 1 1 13.4350291 0z" overflow="visible" style="marker:none" transform="translate(14.95026 22.93047)"/>
<use xlink:href="#l" overflow="visible" style="marker:none" transform="translate(23.30035 31.57234) scale(.30827)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,61 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" height="48" width="48" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="k" x1="40.57" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="41.69" y1="36.4" y2="35.49"/>
<linearGradient id="a">
<stop offset="0"/>
<stop stop-opacity="0" offset="1"/>
</linearGradient>
<linearGradient id="l" x1="20.05" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="21.91" y1="36.32" y2="37.07"/>
<radialGradient id="g" gradientUnits="userSpaceOnUse" cy="17.06" cx="29.34" r="7.22">
<stop stop-color="#f4d9b1" offset="0"/>
<stop stop-color="#df9725" offset="1"/>
</radialGradient>
<radialGradient id="i" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="22.51" cx="30.99" r="8.662"/>
<linearGradient id="m" xlink:href="#c" gradientUnits="userSpaceOnUse" x2="0" y1="29.55" y2="35.8"/>
<linearGradient id="c">
<stop stop-color="#fff" offset="0"/>
<stop stop-color="#c9c9c9" offset="1"/>
</linearGradient>
<radialGradient id="h" gradientUnits="userSpaceOnUse" cy="27.2" cx="28.09" gradientTransform="matrix(1.298 0 0 .8848 -8.358 4.941)" r="13.56">
<stop stop-color="#3b74bc" offset="0"/>
<stop stop-color="#2d5990" offset="1"/>
</radialGradient>
<radialGradient id="f" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="19.01" cx="31.11" gradientTransform="matrix(1.776 0 0 .584 -24.25 28.28)" r="8.662"/>
<linearGradient id="p" x1="27.27" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="28.38" y1="29.22" y2="28.32"/>
<linearGradient id="o" x1="6.742" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="8.602" y1="29.15" y2="29.9"/>
<linearGradient id="n" xlink:href="#c" gradientUnits="userSpaceOnUse" x2="0" y1="22.55" y2="28.8"/>
<radialGradient id="e" gradientUnits="userSpaceOnUse" cy="10.06" cx="16.22" r="7.22">
<stop stop-color="#e9b15e" offset="0"/>
<stop stop-color="#966416" offset="1"/>
</radialGradient>
<radialGradient id="d" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="15.51" cx="17.86" r="8.662"/>
<radialGradient id="j" gradientUnits="userSpaceOnUse" cy="19.84" cx="16.22" gradientTransform="matrix(1 0 0 .6819 0 8.234)" r="13.56">
<stop stop-color="#727e0a" offset="0"/>
<stop stop-color="#5b6508" offset="1"/>
</radialGradient>
<radialGradient id="b" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="19.01" cx="31.11" gradientTransform="matrix(1.776 0 0 .9592 -37.38 11.77)" r="8.662"/>
</defs>
<ellipse rx="15.38" ry="8.309" cy="30" cx="17.86" fill="url(#b)"/>
<path stroke-linejoin="round" d="m12.86 34.64h10.61c3.01 0 5.98-1.102 7.07-4.243 1.036-2.982 0.177-8.662-6.541-13.26h-12.55c-6.718 4.243-7.557 10.05-6.01 13.44 1.576 3.454 4.243 4.066 7.425 4.066z" stroke="#404604" stroke-linecap="round" fill="url(#j)"/>
<path fill="#9db029" d="m17.93 19.79s-2.151 1.66-1.966 3.66c-2.041-1.801-2.1-5.252-2.1-5.252l4.066 1.591"/>
<path opacity=".2150" stroke-linejoin="round" d="m12.97 33.57h10.32c2.64 0 5.253-0.968 6.211-3.727 0.91-2.62-0.095-7.609-5.995-11.65h-11.52c-5.916 3.74-6.903 8.83-5.544 11.81 1.384 3.034 3.727 3.571 6.522 3.571z" stroke="#fff" stroke-linecap="round" fill="none"/>
<path fill="#9db029" d="m18.91 19.79s2.151 1.66 1.966 3.66c2.041-1.801 2.1-5.252 2.1-5.252l-4.066 1.591"/>
<circle cy="15.51" cx="17.86" r="8.662" fill="url(#d)"/>
<circle stroke="#6f4709" cy="12" cx="17.99" r="8.662" fill="url(#e)"/>
<circle opacity=".1270" stroke="#fff" cy="12.01" cx="17.99" r="7.597" fill="none"/>
<path fill="url(#n)" d="m22.58 27.04h4.243l-2.475-2.298-0.53 0.707-0.53-0.53-0.707 2.121"/>
<path opacity=".2280" d="m8.548 33.6c-1.248-0.54-1.806-1.86-1.806-1.86 0.841-4.069 3.72-7.05 3.72-7.05s-2.279 6.412-1.914 8.904" fill="url(#o)"/>
<path opacity=".2280" d="m27.45 32.74c1.231-0.581 1.804-2 1.804-2-0.95-4.04-3.97-6.84-3.97-6.84s2.465 6.343 2.172 8.845" fill="url(#p)"/>
<ellipse rx="15.38" ry="5.059" cy="39.38" cx="30.99" fill="url(#f)"/>
<path stroke-linejoin="round" d="m25.99 41.64h10.61c3.01 0 5.98-1.102 7.07-4.243 1.036-2.983 0.177-8.662-6.541-13.26h-12.56c-6.718 4.243-7.557 10.04-6.01 13.44 1.576 3.454 4.243 4.066 7.425 4.066z" stroke="#204a87" stroke-linecap="round" fill="url(#h)"/>
<path fill="url(#m)" d="m26.69 25.73c3.182 2.828 4.596 13.08 4.596 13.08s1.414-10.25 3.889-13.26l-8.49 0.17"/>
<path fill="#729fcf" d="m28.97 26.79s-2.151 1.66-1.966 3.66c-2.041-1.801-2.1-5.252-2.1-5.252l4.066 1.591"/>
<path opacity=".2150" stroke-linejoin="round" d="m25.91 40.59 10.49-0.022c2.64 0 5.253-0.968 6.211-3.727 0.91-2.62-0.095-7.609-5.995-11.65l-11.52-0.23c-5.901 3.727-7.04 8.823-5.662 12.04 1.381 3.221 3.395 3.571 6.477 3.593z" stroke="#fff" stroke-linecap="round" fill="none"/>
<path fill="#729fcf" d="m33.41 26.79s2.151 1.66 1.966 3.66c2.041-1.801 2.1-5.252 2.1-5.252l-4.07 1.59"/>
<circle cy="22.51" cx="30.99" r="8.662" fill="url(#i)"/>
<circle stroke="#c17d11" cy="19.01" cx="31.11" r="8.662" fill="url(#g)"/>
<circle opacity=".1960" stroke="#fff" cy="19.01" cx="31.11" r="7.597" fill="none"/>
<path opacity=".2280" d="m21.85 40.78c-1.248-0.545-1.806-1.858-1.806-1.858 0.841-4.069 3.72-7.05 3.72-7.05s-2.279 6.411-1.914 8.904" fill="url(#l)"/>
<path opacity=".2280" d="m40.76 39.92c1.231-0.581 1.804-2 1.804-2-0.959-4.04-3.976-6.843-3.976-6.843s2.465 6.343 2.172 8.845" fill="url(#k)"/>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 B

After

Width:  |  Height:  |  Size: 230 B

View file

@ -7,7 +7,7 @@
viewBox="0 0 2.9104165 2.9104168" viewBox="0 0 2.9104165 2.9104168"
version="1.1" version="1.1"
id="svg5" id="svg5"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)" inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
sodipodi:docname="messages.svg" sodipodi:docname="messages.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
@ -26,15 +26,17 @@
showgrid="true" showgrid="true"
units="px" units="px"
width="11px" width="11px"
inkscape:zoom="1" inkscape:zoom="64"
inkscape:cx="4.5" inkscape:cx="5.1015625"
inkscape:cy="5.5" inkscape:cy="5.6875"
inkscape:window-width="1920" inkscape:window-width="1858"
inkscape:window-height="1017" inkscape:window-height="1057"
inkscape:window-x="-8" inkscape:window-x="-8"
inkscape:window-y="-8" inkscape:window-y="-8"
inkscape:window-maximized="1" inkscape:window-maximized="1"
inkscape:current-layer="layer1"> inkscape:current-layer="layer1"
inkscape:showpageshadow="2"
inkscape:deskcolor="#505050">
<inkscape:grid <inkscape:grid
type="xygrid" type="xygrid"
id="grid9" id="grid9"
@ -71,21 +73,8 @@
id="image14" id="image14"
style="display:none;image-rendering:pixelated" /> style="display:none;image-rendering:pixelated" />
<path <path
id="path2791"
style="fill:#a2b3c6;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="fill:#a2b3c6;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 0,0.79375 c 0,0 0,-0.52916666 0.5291667,-0.52916666 0.5291666,0 1.8520833,0 1.8520833,0 0,0 0.5291666,0 0.5291666,0.52916666 0,0.5291666 0,1.3229166 0,1.3229166 0,0 0,0.5291667 -0.5291666,0.5291667 -0.5291667,0 -1.8520833,0 -1.8520833,0 0,0 -0.5291667,0 -0.5291667,-0.5291667 C 0,1.5875 0,0.79375 0,0.79375 Z" d="M 0.52916666 0.26458333 C 4.9280306e-07 0.26458333 0 0.79375 0 0.79375 L 0 2.1166667 C 0 2.6458328 0.52916666 2.6458333 0.52916666 2.6458333 L 2.38125 2.6458333 C 2.9104161 2.6458333 2.9104166 2.1166667 2.9104166 2.1166667 L 2.9104166 0.79375 C 2.9104166 0.26458386 2.38125 0.26458333 2.38125 0.26458333 L 0.52916666 0.26458333 z M 0.39274088 0.52916666 A 0.1322915 0.1322915 0 0 1 0.48627523 0.56844075 L 1.2758911 1.3575399 A 0.13229166 0.13229166 0 0 1 1.2851929 1.3652913 A 0.13229166 0.13229166 0 0 1 1.2975952 1.3797607 L 1.4552083 1.5368571 L 1.6097209 1.3823446 A 0.13229166 0.13229166 0 0 1 1.6267741 1.3611572 A 0.13229166 0.13229166 0 0 1 1.6469279 1.3451375 L 2.4236247 0.56844075 A 0.1322915 0.1322915 0 0 1 2.6112101 0.56844075 A 0.1322915 0.1322915 0 0 1 2.6112101 0.7560262 L 1.9089274 1.4583089 L 2.6075928 2.1564575 A 0.13229166 0.13229166 0 0 1 2.6075928 2.3419759 A 0.13229166 0.13229166 0 0 1 2.4200073 2.3419759 L 1.7228922 1.6443441 L 1.5487427 1.8184936 A 0.13230472 0.13230472 0 0 1 1.3611572 1.8184936 L 1.1890747 1.6464111 L 0.49040934 2.3419759 A 0.13229166 0.13229166 0 0 1 0.30282389 2.3419759 A 0.13229166 0.13229166 0 0 1 0.30282389 2.1543904 L 1.0025228 1.4598592 L 0.29868978 0.7560262 A 0.1322915 0.1322915 0 0 1 0.29868978 0.56844075 A 0.1322915 0.1322915 0 0 1 0.39274088 0.52916666 z " />
id="path2791" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.264583px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
d="M 0.39274088,0.66145833 1.4552083,1.7239258 2.5176757,0.66145833"
id="path3062"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.26458333;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M 0.396875,2.2489583 1.190625,1.4593424"
id="path3907" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.26458333;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="m 2.5135416,2.2489583 -0.79375,-0.79375"
id="path4107" />
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 479 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Some files were not shown because too many files have changed in this diff Show more