Merge V0.14.0
32
AUTHORS
|
@ -1,9 +1,9 @@
|
|||
1216 ArthurHoaro <arthur@hoa.ro>
|
||||
456 nodiscc <nodiscc@gmail.com>
|
||||
1221 ArthurHoaro <arthur@hoa.ro>
|
||||
518 nodiscc <nodiscc@gmail.com>
|
||||
405 VirtualTam <virtualtam@flibidi.net>
|
||||
56 Sébastien Sauvage <sebsauvage@sebsauvage.net>
|
||||
27 dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
||||
19 Keith Carangelo <mail@kcaran.com>
|
||||
31 Keith Carangelo <mail@kcaran.com>
|
||||
28 dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
||||
16 Luce Carević <lcarevic@access42.net>
|
||||
15 Florian Eula <eula.florian@gmail.com>
|
||||
14 Emilien Klein <emilien@klein.st>
|
||||
|
@ -11,21 +11,18 @@
|
|||
9 Lucas Cimon <lucas.cimon@gmail.com>
|
||||
9 Willi Eggeling <thewilli@gmail.com>
|
||||
8 Christophe HENRY <christophe.henry@sbgodin.fr>
|
||||
6 Immánuel Fodor <immanuelfactor+github@gmail.com>
|
||||
6 YFdyh000 <yfdyh000@gmail.com>
|
||||
6 kalvn <kalvnthereal@gmail.com>
|
||||
7 kalvn <kalvnthereal@gmail.com>
|
||||
6 B. van Berkum <dev@dotmpe.com>
|
||||
6 Immánuel Fodor <immanuelfactor+github@gmail.com>
|
||||
6 YFdyh000 <yfdyh000@gmail.com>
|
||||
6 kalvn <kalvnthereal@gmail.com>
|
||||
6 llune <llune@users.noreply.github.com>
|
||||
5 Mark Schmitz <kramred@gmail.com>
|
||||
5 Sébastien NOBILI <code@pipoprods.org>
|
||||
4 Alexandre Alapetite <alexandre@alapetite.fr>
|
||||
4 yude <yudesleepy@gmail.com>
|
||||
4 David Sferruzza <david.sferruzza@gmail.com>
|
||||
4 yude <yudesleepy@gmail.com>
|
||||
3 Agurato <mail.vmonot@gmail.com>
|
||||
3 Andreas Waschinski <25221082+waschinski@users.noreply.github.com>
|
||||
3 Christoph Stoettner <christoph.stoettner@stoeps.de>
|
||||
3 Olivier <bourreauolivier@gmail.com>
|
||||
3 Teromene <teromene@teromene.fr>
|
||||
|
@ -43,24 +40,18 @@
|
|||
2 Miloš Jovanović <mjovanovic@gmail.com>
|
||||
2 Neros <contact@neros.fr>
|
||||
2 Qwerty <champlywood@free.fr>
|
||||
2 Robert Riebisch <15858666+bttrx@users.noreply.github.com>
|
||||
2 Sebastien Wains <sebw@users.noreply.github.com>
|
||||
2 Stephen Muth <smuth4@gmail.com>
|
||||
2 Timo Van Neerden <fire@lehollandaisvolant.net>
|
||||
2 flow.gunso <flow.gunso@gmail.com>
|
||||
2 julienCXX <software@chmodplusx.eu>
|
||||
2 Knah Tsaeb <Knah-Tsaeb@knah-tsaeb.org>
|
||||
2 philipp-r <philipp-r@users.noreply.github.com>
|
||||
2 pips <pips@e5150.fr>
|
||||
2 prog-it <pash.vld@gmail.com>
|
||||
2 trailjeep <trailjeep@gmail.com>
|
||||
1 leyrer <gitlab@leyrer.priv.at>
|
||||
1 locness3 <37651007+locness3@users.noreply.github.com>
|
||||
1 owen bell <66233223+xfnw@users.noreply.github.com>
|
||||
1 philipp <philipp@philipp.PC.Ubuntu>
|
||||
1 rfolo9li <50079896+rfolo9li@users.noreply.github.com>
|
||||
1 sprak3000 <sprak3000+github@gmail.com>
|
||||
1 yudejp <i@yude.jp>
|
||||
1 Rajat Hans <rajathans9@gmail.com>
|
||||
1 7Ds7 <7Ds7@users.noreply.github.com>
|
||||
1 Adrien Oliva <adrien.oliva@yapbreak.fr>
|
||||
1 Adrien le Maire <adrien@alemaire.be>
|
||||
1 Ajabep <ajabep@users.noreply.github.com>
|
||||
1 Alexis J <alexis@effingo.be>
|
||||
|
@ -85,6 +76,7 @@
|
|||
1 Franck Kerbiriou <FranckKe@users.noreply.github.com>
|
||||
1 Gary Marigliano <gmarigliano93@gmail.com>
|
||||
1 Hazhar Galeh <78073762+hazhargaleh@users.noreply.github.com>
|
||||
1 Henschi <to@h6l.de>
|
||||
1 Hg <dev@indigo.re>
|
||||
1 Jens Kubieziel <github@kubieziel.de>
|
||||
1 Jonathan Amiez <jonathan.amiez@gmail.com>
|
||||
|
@ -97,11 +89,14 @@
|
|||
1 Loïc Carr <zizou.xena@gmail.com>
|
||||
1 Mark Gerarts <mark.gerarts@gmail.com>
|
||||
1 Marsup <marsup@gmail.com>
|
||||
1 Martin Puppe <dev@mpuppe.de>
|
||||
1 Mickaël Schoentgen <contact@tiger-222.fr>
|
||||
1 Nicolas Friedli <nicolas@theologique.ch>
|
||||
1 Nicolas Le Gaillart <nicolas@legaillart.fr>
|
||||
1 Paul van den Burg <github@paulvandenburg.nl>
|
||||
1 Rajat Hans <rajathans9@gmail.com>
|
||||
1 Sbgodin <Sbgodin@users.noreply.github.com>
|
||||
1 Thibaud CANALE <thican@thican.net>
|
||||
1 ToM <tom@leloop.org>
|
||||
1 TsT <tst2005@gmail.com>
|
||||
1 agentcobra <agentcobra@free.fr>
|
||||
|
@ -119,5 +114,6 @@
|
|||
1 owen bell <66233223+xfnw@users.noreply.github.com>
|
||||
1 philipp <philipp@philipp.PC.Ubuntu>
|
||||
1 rfolo9li <50079896+rfolo9li@users.noreply.github.com>
|
||||
1 sokai <sokai@users.noreply.github.com>
|
||||
1 sprak3000 <sprak3000+github@gmail.com>
|
||||
1 yudejp <i@yude.jp>
|
||||
|
|
407
CHANGELOG.md
|
@ -13,8 +13,8 @@ Check the [milestones](https://github.com/shaarli/Shaarli/milestones) to see wha
|
|||
|
||||
* The issues list should preferably contain **only tasks that can be actioned immediately**. Anyone should be able to open the issues list, pick one and start working on it immediately.
|
||||
* If you have a clear idea of a **feature you expect, or have a specific bug/defect to report**, [search the issues list, both open and closed](https://github.com/shaarli/Shaarli/issues?q=is%3Aissue) to check if it has been discussed, and comment on the appropriate issue. If you can't find one, please open a [new issue](https://github.com/shaarli/Shaarli/issues/new)
|
||||
* **General discussions** fit in #44 so that we don't follow a slope where users and contributors have to track 90 "maybe" items in the bug tracker. Separate issues about clear, separate steps can be opened after discussion.
|
||||
* You can also join instant discussion at https://gitter.im/shaarli/Shaarli, or via IRC as described [here](https://github.com/shaarli/Shaarli/issues/44#issuecomment-77745105)
|
||||
* The **[general discussion](https://github.com/shaarli/Shaarli/issues/308)** issue can be used for general announcements or project-related discussion.
|
||||
* You can also join instant discussion at https://gitter.im/shaarli/Shaarli.
|
||||
|
||||
### Documentation
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@ _Do you want to share the links you discover?_
|
|||
_Shaarli is a minimalist link sharing service that you can install on your own server._
|
||||
_It is designed to be personal (single-user), fast and handy._
|
||||
|
||||
[![](https://img.shields.io/badge/stable-v0.12.2-blue.svg)](https://github.com/shaarli/Shaarli/releases/tag/v0.11.1)
|
||||
[![](https://img.shields.io/badge/latest-v0.13.0-blue.svg)](https://github.com/shaarli/Shaarli/releases/tag/v0.12.2)
|
||||
[![](https://img.shields.io/badge/release-v0.13.0-blue.svg)](https://github.com/shaarli/Shaarli/releases/tag/v0.13.0)
|
||||
[![](https://img.shields.io/badge/master-v0.13.x-blue.svg)](https://github.com/shaarli/Shaarli)
|
||||
[![](https://github.com/shaarli/Shaarli/actions/workflows/ci.yml/badge.svg)](https://github.com/shaarli/Shaarli/actions)
|
||||
[![](https://github.com/shaarli/Shaarli/actions/workflows/trivy-release.yml/badge.svg)](https://github.com/shaarli/Shaarli/actions)
|
||||
[![Join the chat at https://gitter.im/shaarli/Shaarli](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/shaarli/Shaarli)
|
||||
[![Docker repository](https://img.shields.io/docker/pulls/shaarli/shaarli.svg)](https://github.com/shaarli/Shaarli/pkgs/container/shaarli)
|
||||
|
||||
|
|
|
@ -322,7 +322,7 @@ function format_date($date, $time = true, $intl = true)
|
|||
return $date->format($format);
|
||||
}
|
||||
$formatter = new IntlDateFormatter(
|
||||
setlocale(LC_TIME, 0),
|
||||
get_locale(LC_TIME),
|
||||
IntlDateFormatter::LONG,
|
||||
$time ? IntlDateFormatter::LONG : IntlDateFormatter::NONE
|
||||
);
|
||||
|
@ -503,3 +503,23 @@ function exception2text(Throwable $e): string
|
|||
{
|
||||
return $e->getMessage() . PHP_EOL . $e->getFile() . $e->getLine() . PHP_EOL . $e->getTraceAsString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current locale, overrides 'C' locale which is no longer compatible with PHP-intl
|
||||
*
|
||||
* @param int $category Category of the locale (LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_ALL)
|
||||
*
|
||||
* @return string|false The locale, or false if not found.
|
||||
*
|
||||
* @see https://github.com/php/php-src/issues/12561
|
||||
*/
|
||||
function get_locale(int $category = LC_CTYPE)
|
||||
{
|
||||
$locale = setlocale($category, 0);
|
||||
|
||||
if ($locale === 'C' || startsWith($locale, 'C.')) {
|
||||
$locale = 'en_US.utf8'; // failback
|
||||
}
|
||||
|
||||
return $locale;
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ class Info extends ApiController
|
|||
'timezone' => $this->conf->get('general.timezone', 'UTC'),
|
||||
'enabled_plugins' => $this->conf->get('general.enabled_plugins', []),
|
||||
'default_private_links' => $this->conf->get('privacy.default_private_links', false),
|
||||
'tags_separator' => $this->conf->get('general.tags_separator', ' '),
|
||||
],
|
||||
];
|
||||
|
||||
|
|
|
@ -505,7 +505,7 @@ class Bookmark
|
|||
}
|
||||
|
||||
/**
|
||||
* Rename a tag in tags list.
|
||||
* Rename a tag in tags list. If the new tag already exists, merge them
|
||||
*
|
||||
* @param string $fromTag
|
||||
* @param string $toTag
|
||||
|
@ -513,9 +513,13 @@ class Bookmark
|
|||
public function renameTag(string $fromTag, string $toTag): void
|
||||
{
|
||||
if (($pos = array_search($fromTag, $this->tags ?? [])) !== false) {
|
||||
if (in_array($toTag, $this->tags ?? []) !== false) {
|
||||
$this->deleteTag($fromTag);
|
||||
} else {
|
||||
$this->tags[$pos] = trim($toTag);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a tag in tags list.
|
||||
|
|
|
@ -372,7 +372,6 @@ class ConfigManager
|
|||
$this->setEmpty('general.tags_separator', ' ');
|
||||
|
||||
$this->setEmpty('updates.check_updates', true);
|
||||
$this->setEmpty('updates.check_updates_branch', 'latest');
|
||||
$this->setEmpty('updates.check_updates_interval', 86400);
|
||||
|
||||
$this->setEmpty('feed.rss_permalinks', true);
|
||||
|
|
|
@ -36,7 +36,7 @@ class ServerController extends ShaarliAdminController
|
|||
}
|
||||
|
||||
$currentVersion = ApplicationUtils::getVersion('./shaarli_version.php');
|
||||
$currentVersion = $currentVersion === 'dev' ? $currentVersion : 'v' . $currentVersion;
|
||||
$currentVersion = ApplicationUtils::isDevVersion($currentVersion) ? $currentVersion : 'v' . $currentVersion;
|
||||
$phpEol = new \DateTimeImmutable(ApplicationUtils::getPhpEol(PHP_VERSION));
|
||||
|
||||
$permissions = array_merge(
|
||||
|
|
|
@ -38,7 +38,7 @@ class FeedController extends ShaarliVisitorController
|
|||
}
|
||||
|
||||
// Generate data.
|
||||
$this->container->feedBuilder->setLocale(strtolower(setlocale(LC_COLLATE, 0)));
|
||||
$this->container->feedBuilder->setLocale(strtolower(get_locale(LC_COLLATE)));
|
||||
$this->container->feedBuilder->setHideDates($this->container->conf->get('privacy.hide_timestamps', false));
|
||||
$this->container->feedBuilder->setUsePermalinks(
|
||||
null !== $request->getParam('permalinks') || !$this->container->conf->get('feed.rss_permalinks')
|
||||
|
|
|
@ -19,7 +19,7 @@ class ApplicationUtils
|
|||
|
||||
public static $GITHUB_URL = 'https://github.com/shaarli/Shaarli';
|
||||
public static $GIT_RAW_URL = 'https://raw.githubusercontent.com/shaarli/Shaarli';
|
||||
public static $GIT_BRANCHES = ['latest', 'stable'];
|
||||
public static $RELEASE_BRANCH = 'release';
|
||||
private static $VERSION_START_TAG = '<?php /* ';
|
||||
private static $VERSION_END_TAG = ' */ ?>';
|
||||
|
||||
|
@ -89,7 +89,6 @@ class ApplicationUtils
|
|||
* @param int $checkInterval the minimum interval between update checks (in seconds
|
||||
* @param bool $enableCheck whether to check for new versions
|
||||
* @param bool $isLoggedIn whether the user is logged in
|
||||
* @param string $branch check update for the given branch
|
||||
*
|
||||
* @throws Exception an invalid branch has been set for update checks
|
||||
*
|
||||
|
@ -100,13 +99,12 @@ class ApplicationUtils
|
|||
$updateFile,
|
||||
$checkInterval,
|
||||
$enableCheck,
|
||||
$isLoggedIn,
|
||||
$branch = 'stable'
|
||||
$isLoggedIn
|
||||
) {
|
||||
// Do not check versions for visitors
|
||||
// Do not check if the user doesn't want to
|
||||
// Do not check with dev version
|
||||
if (!$isLoggedIn || empty($enableCheck) || $currentVersion === 'dev') {
|
||||
if (!$isLoggedIn || empty($enableCheck) || self::isDevVersion($currentVersion)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -120,16 +118,10 @@ class ApplicationUtils
|
|||
return false;
|
||||
}
|
||||
|
||||
if (!in_array($branch, self::$GIT_BRANCHES)) {
|
||||
throw new Exception(
|
||||
'Invalid branch selected for updates: "' . $branch . '"'
|
||||
);
|
||||
}
|
||||
|
||||
// Late Static Binding allows overriding within tests
|
||||
// See http://php.net/manual/en/language.oop5.late-static-bindings.php
|
||||
$latestVersion = static::getVersion(
|
||||
self::$GIT_RAW_URL . '/' . $branch . '/' . self::$VERSION_FILE
|
||||
self::$GIT_RAW_URL . '/' . self::$RELEASE_BRANCH . '/' . self::$VERSION_FILE
|
||||
);
|
||||
|
||||
if (!$latestVersion) {
|
||||
|
@ -334,4 +326,11 @@ class ApplicationUtils
|
|||
'8.2' => '2025-12-08',
|
||||
][$matches[1]] ?? (new \DateTime('+2 year'))->format('Y-m-d');
|
||||
}
|
||||
|
||||
public static function isDevVersion(string $version): bool
|
||||
{
|
||||
return strpos($version, 'dev') !== false
|
||||
|| preg_match('/[a-f0-9]{7}/', $version) === 1
|
||||
;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,10 +52,10 @@ function get_http_response(
|
|||
}
|
||||
|
||||
$userAgent =
|
||||
'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:45.0)'
|
||||
. ' Gecko/20100101 Firefox/45.0';
|
||||
'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:115.0)'
|
||||
. ' Gecko/20100101 Firefox/115.0';
|
||||
$acceptLanguage =
|
||||
substr(setlocale(LC_COLLATE, 0), 0, 2) . ',en-US;q=0.7,en;q=0.3';
|
||||
substr(get_locale(LC_COLLATE), 0, 2) . ',en-US;q=0.7,en;q=0.3';
|
||||
$maxRedirs = 3;
|
||||
|
||||
if (!function_exists('curl_init')) {
|
||||
|
|
|
@ -59,6 +59,12 @@ class MetadataRetriever
|
|||
if (!empty($title) && strtolower($charset) !== 'utf-8') {
|
||||
$title = mb_convert_encoding($title, 'utf-8', $charset);
|
||||
}
|
||||
if (!empty($description) && strtolower($charset) !== 'utf-8') {
|
||||
$description = mb_convert_encoding($description, 'utf-8', $charset);
|
||||
}
|
||||
if (!empty($tags) && strtolower($charset) !== 'utf-8') {
|
||||
$tags = mb_convert_encoding($tags, 'utf-8', $charset);
|
||||
}
|
||||
|
||||
return array_map([$this, 'cleanMetadata'], [
|
||||
'title' => $title,
|
||||
|
|
|
@ -1,591 +1,3 @@
|
|||
<<<<<<< HEAD
|
||||
<?php
|
||||
|
||||
namespace Shaarli\Legacy;
|
||||
|
||||
use ArrayAccess;
|
||||
use Countable;
|
||||
use DateTime;
|
||||
use Iterator;
|
||||
use Shaarli\Bookmark\Exception\BookmarkNotFoundException;
|
||||
use Shaarli\Exceptions\IOException;
|
||||
use Shaarli\Helper\FileUtils;
|
||||
use Shaarli\Render\PageCacheManager;
|
||||
|
||||
/**
|
||||
* Data storage for bookmarks.
|
||||
*
|
||||
* This object behaves like an associative array.
|
||||
*
|
||||
* Example:
|
||||
* $myLinks = new LinkDB();
|
||||
* echo $myLinks[350]['title'];
|
||||
* foreach ($myLinks as $link)
|
||||
* echo $link['title'].' at url '.$link['url'].'; description:'.$link['description'];
|
||||
*
|
||||
* Available keys:
|
||||
* - id: primary key, incremental integer identifier (persistent)
|
||||
* - description: description of the entry
|
||||
* - created: creation date of this entry, DateTime object.
|
||||
* - updated: last modification date of this entry, DateTime object.
|
||||
* - private: Is this link private? 0=no, other value=yes
|
||||
* - tags: tags attached to this entry (separated by spaces)
|
||||
* - title Title of the link
|
||||
* - url URL of the link. Used for displayable bookmarks.
|
||||
* Can be absolute or relative in the database but the relative bookmarks
|
||||
* will be converted to absolute ones in templates.
|
||||
* - real_url Raw URL in stored in the DB (absolute or relative).
|
||||
* - shorturl Permalink smallhash
|
||||
*
|
||||
* Implements 3 interfaces:
|
||||
* - ArrayAccess: behaves like an associative array;
|
||||
* - Countable: there is a count() method;
|
||||
* - Iterator: usable in foreach () loops.
|
||||
*
|
||||
* ID mechanism:
|
||||
* ArrayAccess is implemented in a way that will allow to access a link
|
||||
* with the unique identifier ID directly with $link[ID].
|
||||
* Note that it's not the real key of the link array attribute.
|
||||
* This mechanism is in place to have persistent link IDs,
|
||||
* even though the internal array is reordered by date.
|
||||
* Example:
|
||||
* - DB: link #1 (2010-01-01) link #2 (2016-01-01)
|
||||
* - Order: #2 #1
|
||||
* - Import bookmarks containing: link #3 (2013-01-01)
|
||||
* - New DB: link #1 (2010-01-01) link #2 (2016-01-01) link #3 (2013-01-01)
|
||||
* - Real order: #2 #3 #1
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
class LegacyLinkDB implements Iterator, Countable, ArrayAccess
|
||||
{
|
||||
// Links are stored as a PHP serialized string
|
||||
private $datastore;
|
||||
|
||||
// Link date storage format
|
||||
public const LINK_DATE_FORMAT = 'Ymd_His';
|
||||
|
||||
// List of bookmarks (associative array)
|
||||
// - key: link date (e.g. "20110823_124546"),
|
||||
// - value: associative array (keys: title, description...)
|
||||
private $links;
|
||||
|
||||
// List of all recorded URLs (key=url, value=link offset)
|
||||
// for fast reserve search (url-->link offset)
|
||||
private $urls;
|
||||
|
||||
/**
|
||||
* @var array List of all bookmarks IDS mapped with their array offset.
|
||||
* Map: id->offset.
|
||||
*/
|
||||
protected $ids;
|
||||
|
||||
// List of offset keys (for the Iterator interface implementation)
|
||||
private $keys;
|
||||
|
||||
// Position in the $this->keys array (for the Iterator interface)
|
||||
private $position;
|
||||
|
||||
// Is the user logged in? (used to filter private bookmarks)
|
||||
private $loggedIn;
|
||||
|
||||
// Hide public bookmarks
|
||||
private $hidePublicLinks;
|
||||
|
||||
/**
|
||||
* Creates a new LinkDB
|
||||
*
|
||||
* Checks if the datastore exists; else, attempts to create a dummy one.
|
||||
*
|
||||
* @param string $datastore datastore file path.
|
||||
* @param boolean $isLoggedIn is the user logged in?
|
||||
* @param boolean $hidePublicLinks if true all bookmarks are private.
|
||||
*/
|
||||
public function __construct(
|
||||
$datastore,
|
||||
$isLoggedIn,
|
||||
$hidePublicLinks
|
||||
) {
|
||||
|
||||
$this->datastore = $datastore;
|
||||
$this->loggedIn = $isLoggedIn;
|
||||
$this->hidePublicLinks = $hidePublicLinks;
|
||||
$this->check();
|
||||
$this->read();
|
||||
}
|
||||
|
||||
/**
|
||||
* Countable - Counts elements of an object
|
||||
*/
|
||||
public function count(): int
|
||||
{
|
||||
return count($this->links);
|
||||
}
|
||||
|
||||
/**
|
||||
* ArrayAccess - Assigns a value to the specified offset
|
||||
*/
|
||||
public function offsetSet($offset, $value): void
|
||||
{
|
||||
// TODO: use exceptions instead of "die"
|
||||
if (!$this->loggedIn) {
|
||||
die(t('You are not authorized to add a link.'));
|
||||
}
|
||||
if (!isset($value['id']) || empty($value['url'])) {
|
||||
die(t('Internal Error: A link should always have an id and URL.'));
|
||||
}
|
||||
if (($offset !== null && !is_int($offset)) || !is_int($value['id'])) {
|
||||
die(t('You must specify an integer as a key.'));
|
||||
}
|
||||
if ($offset !== null && $offset !== $value['id']) {
|
||||
die(t('Array offset and link ID must be equal.'));
|
||||
}
|
||||
|
||||
// If the link exists, we reuse the real offset, otherwise new entry
|
||||
$existing = $this->getLinkOffset($offset);
|
||||
if ($existing !== null) {
|
||||
$offset = $existing;
|
||||
} else {
|
||||
$offset = count($this->links);
|
||||
}
|
||||
$this->links[$offset] = $value;
|
||||
$this->urls[$value['url']] = $offset;
|
||||
$this->ids[$value['id']] = $offset;
|
||||
}
|
||||
|
||||
/**
|
||||
* ArrayAccess - Whether or not an offset exists
|
||||
*/
|
||||
public function offsetExists($offset): bool
|
||||
{
|
||||
return array_key_exists($this->getLinkOffset($offset), $this->links);
|
||||
}
|
||||
|
||||
/**
|
||||
* ArrayAccess - Unsets an offset
|
||||
*/
|
||||
public function offsetUnset($offset): void
|
||||
{
|
||||
if (!$this->loggedIn) {
|
||||
// TODO: raise an exception
|
||||
die('You are not authorized to delete a link.');
|
||||
}
|
||||
$realOffset = $this->getLinkOffset($offset);
|
||||
$url = $this->links[$realOffset]['url'];
|
||||
unset($this->urls[$url]);
|
||||
unset($this->ids[$realOffset]);
|
||||
unset($this->links[$realOffset]);
|
||||
}
|
||||
|
||||
/**
|
||||
* ArrayAccess - Returns the value at specified offset
|
||||
*/
|
||||
public function offsetGet($offset): ?array
|
||||
{
|
||||
$realOffset = $this->getLinkOffset($offset);
|
||||
return isset($this->links[$realOffset]) ? $this->links[$realOffset] : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Iterator - Returns the current element
|
||||
*/
|
||||
public function current(): array
|
||||
{
|
||||
return $this[$this->keys[$this->position]];
|
||||
}
|
||||
|
||||
/**
|
||||
* Iterator - Returns the key of the current element
|
||||
*
|
||||
* @return int|string
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function key()
|
||||
{
|
||||
return $this->keys[$this->position];
|
||||
}
|
||||
|
||||
/**
|
||||
* Iterator - Moves forward to next element
|
||||
*/
|
||||
public function next(): void
|
||||
{
|
||||
++$this->position;
|
||||
}
|
||||
|
||||
/**
|
||||
* Iterator - Rewinds the Iterator to the first element
|
||||
*
|
||||
* Entries are sorted by date (latest first)
|
||||
*/
|
||||
public function rewind(): void
|
||||
{
|
||||
$this->keys = array_keys($this->ids);
|
||||
$this->position = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Iterator - Checks if current position is valid
|
||||
*/
|
||||
public function valid(): bool
|
||||
{
|
||||
return isset($this->keys[$this->position]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the DB directory and file exist
|
||||
*
|
||||
* If no DB file is found, creates a dummy DB.
|
||||
*/
|
||||
private function check()
|
||||
{
|
||||
if (file_exists($this->datastore)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Create a dummy database for example
|
||||
$this->links = [];
|
||||
$link = [
|
||||
'id' => 1,
|
||||
'title' => t('The personal, minimalist, super-fast, database free, bookmarking service'),
|
||||
'url' => 'https://shaarli.readthedocs.io',
|
||||
'description' => t(
|
||||
'Welcome to Shaarli! This is your first public bookmark. '
|
||||
. 'To edit or delete me, you must first login.
|
||||
|
||||
To learn how to use Shaarli, consult the link "Documentation" at the bottom of this page.
|
||||
|
||||
You use the community supported version of the original Shaarli project, by Sebastien Sauvage.'
|
||||
),
|
||||
'private' => 0,
|
||||
'created' => new DateTime(),
|
||||
'tags' => 'opensource software',
|
||||
'sticky' => false,
|
||||
];
|
||||
$link['shorturl'] = link_small_hash($link['created'], $link['id']);
|
||||
$this->links[1] = $link;
|
||||
|
||||
$link = [
|
||||
'id' => 0,
|
||||
'title' => t('My secret stuff... - Pastebin.com'),
|
||||
'url' => 'http://sebsauvage.net/paste/?8434b27936c09649#bR7XsXhoTiLcqCpQbmOpBi3rq2zzQUC5hBI7ZT1O3x8=',
|
||||
'description' => t('Shhhh! I\'m a private link only YOU can see. You can delete me too.'),
|
||||
'private' => 1,
|
||||
'created' => new DateTime('1 minute ago'),
|
||||
'tags' => 'secretstuff',
|
||||
'sticky' => false,
|
||||
];
|
||||
$link['shorturl'] = link_small_hash($link['created'], $link['id']);
|
||||
$this->links[0] = $link;
|
||||
|
||||
// Write database to disk
|
||||
$this->write();
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads database from disk to memory
|
||||
*/
|
||||
private function read()
|
||||
{
|
||||
// Public bookmarks are hidden and user not logged in => nothing to show
|
||||
if ($this->hidePublicLinks && !$this->loggedIn) {
|
||||
$this->links = [];
|
||||
return;
|
||||
}
|
||||
|
||||
$this->urls = [];
|
||||
$this->ids = [];
|
||||
$this->links = FileUtils::readFlatDB($this->datastore, []);
|
||||
|
||||
$toremove = [];
|
||||
foreach ($this->links as $key => &$link) {
|
||||
if (!$this->loggedIn && $link['private'] != 0) {
|
||||
// Transition for not upgraded databases.
|
||||
unset($this->links[$key]);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Sanitize data fields.
|
||||
sanitizeLink($link);
|
||||
|
||||
// Remove private tags if the user is not logged in.
|
||||
if (!$this->loggedIn) {
|
||||
$link['tags'] = preg_replace('/(^|\s+)\.[^($|\s)]+\s*/', ' ', $link['tags']);
|
||||
}
|
||||
|
||||
$link['real_url'] = $link['url'];
|
||||
|
||||
$link['sticky'] = isset($link['sticky']) ? $link['sticky'] : false;
|
||||
|
||||
// To be able to load bookmarks before running the update, and prepare the update
|
||||
if (!isset($link['created'])) {
|
||||
$link['id'] = $link['linkdate'];
|
||||
$link['created'] = DateTime::createFromFormat(self::LINK_DATE_FORMAT, $link['linkdate']);
|
||||
if (!empty($link['updated'])) {
|
||||
$link['updated'] = DateTime::createFromFormat(self::LINK_DATE_FORMAT, $link['updated']);
|
||||
}
|
||||
$link['shorturl'] = smallHash($link['linkdate']);
|
||||
}
|
||||
|
||||
$this->urls[$link['url']] = $key;
|
||||
$this->ids[$link['id']] = $key;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves the database from memory to disk
|
||||
*
|
||||
* @throws IOException the datastore is not writable
|
||||
*/
|
||||
private function write()
|
||||
{
|
||||
$this->reorder();
|
||||
FileUtils::writeFlatDB($this->datastore, $this->links);
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves the database from memory to disk
|
||||
*
|
||||
* @param string $pageCacheDir page cache directory
|
||||
*/
|
||||
public function save($pageCacheDir)
|
||||
{
|
||||
if (!$this->loggedIn) {
|
||||
// TODO: raise an Exception instead
|
||||
die('You are not authorized to change the database.');
|
||||
}
|
||||
|
||||
$this->write();
|
||||
|
||||
$pageCacheManager = new PageCacheManager($pageCacheDir, $this->loggedIn);
|
||||
$pageCacheManager->invalidateCaches();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the link for a given URL, or False if it does not exist.
|
||||
*
|
||||
* @param string $url URL to search for
|
||||
*
|
||||
* @return mixed the existing link if it exists, else 'false'
|
||||
*/
|
||||
public function getLinkFromUrl($url)
|
||||
{
|
||||
if (isset($this->urls[$url])) {
|
||||
return $this->links[$this->urls[$url]];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the shaare corresponding to a smallHash.
|
||||
*
|
||||
* @param string $request QUERY_STRING server parameter.
|
||||
*
|
||||
* @return array $filtered array containing permalink data.
|
||||
*
|
||||
* @throws BookmarkNotFoundException if the smallhash is malformed or doesn't match any link.
|
||||
*/
|
||||
public function filterHash($request)
|
||||
{
|
||||
$request = substr($request, 0, 6);
|
||||
$linkFilter = new LegacyLinkFilter($this->links);
|
||||
return $linkFilter->filter(LegacyLinkFilter::$FILTER_HASH, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of articles for a given day.
|
||||
*
|
||||
* @param string $request day to filter. Format: YYYYMMDD.
|
||||
*
|
||||
* @return array list of shaare found.
|
||||
*/
|
||||
public function filterDay($request)
|
||||
{
|
||||
$linkFilter = new LegacyLinkFilter($this->links);
|
||||
return $linkFilter->filter(LegacyLinkFilter::$FILTER_DAY, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter bookmarks according to search parameters.
|
||||
*
|
||||
* @param array $filterRequest Search request content. Supported keys:
|
||||
* - searchtags: list of tags
|
||||
* - searchterm: term search
|
||||
* @param bool $casesensitive Optional: Perform case sensitive filter
|
||||
* @param string $visibility return only all/private/public bookmarks
|
||||
* @param bool $untaggedonly return only untagged bookmarks
|
||||
*
|
||||
* @return array filtered bookmarks, all bookmarks if no suitable filter was provided.
|
||||
*/
|
||||
public function filterSearch(
|
||||
$filterRequest = [],
|
||||
$casesensitive = false,
|
||||
$visibility = 'all',
|
||||
$untaggedonly = false
|
||||
) {
|
||||
|
||||
// Filter link database according to parameters.
|
||||
$searchtags = isset($filterRequest['searchtags']) ? escape($filterRequest['searchtags']) : '';
|
||||
$searchterm = isset($filterRequest['searchterm']) ? escape($filterRequest['searchterm']) : '';
|
||||
|
||||
// Search tags + fullsearch - blank string parameter will return all bookmarks.
|
||||
$type = LegacyLinkFilter::$FILTER_TAG | LegacyLinkFilter::$FILTER_TEXT; // == "vuotext"
|
||||
$request = [$searchtags, $searchterm];
|
||||
|
||||
$linkFilter = new LegacyLinkFilter($this);
|
||||
return $linkFilter->filter($type, $request, $casesensitive, $visibility, $untaggedonly);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list tags appearing in the bookmarks with the given tags
|
||||
*
|
||||
* @param array $filteringTags tags selecting the bookmarks to consider
|
||||
* @param string $visibility process only all/private/public bookmarks
|
||||
*
|
||||
* @return array tag => linksCount
|
||||
*/
|
||||
public function linksCountPerTag($filteringTags = [], $visibility = 'all')
|
||||
{
|
||||
$links = $this->filterSearch(['searchtags' => $filteringTags], false, $visibility);
|
||||
$tags = [];
|
||||
$caseMapping = [];
|
||||
foreach ($links as $link) {
|
||||
foreach (preg_split('/\s+/', $link['tags'], 0, PREG_SPLIT_NO_EMPTY) as $tag) {
|
||||
if (empty($tag)) {
|
||||
continue;
|
||||
}
|
||||
// The first case found will be displayed.
|
||||
if (!isset($caseMapping[strtolower($tag)])) {
|
||||
$caseMapping[strtolower($tag)] = $tag;
|
||||
$tags[$caseMapping[strtolower($tag)]] = 0;
|
||||
}
|
||||
$tags[$caseMapping[strtolower($tag)]]++;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Formerly used arsort(), which doesn't define the sort behaviour for equal values.
|
||||
* Also, this function doesn't produce the same result between PHP 5.6 and 7.
|
||||
*
|
||||
* So we now use array_multisort() to sort tags by DESC occurrences,
|
||||
* then ASC alphabetically for equal values.
|
||||
*
|
||||
* @see https://github.com/shaarli/Shaarli/issues/1142
|
||||
*/
|
||||
$keys = array_keys($tags);
|
||||
$tmpTags = array_combine($keys, $keys);
|
||||
array_multisort($tags, SORT_DESC, $tmpTags, SORT_ASC, $tags);
|
||||
return $tags;
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename or delete a tag across all bookmarks.
|
||||
*
|
||||
* @param string $from Tag to rename
|
||||
* @param string $to New tag. If none is provided, the from tag will be deleted
|
||||
*
|
||||
* @return array|bool List of altered bookmarks or false on error
|
||||
*/
|
||||
public function renameTag($from, $to)
|
||||
{
|
||||
if (empty($from)) {
|
||||
return false;
|
||||
}
|
||||
$delete = empty($to);
|
||||
// True for case-sensitive tag search.
|
||||
$linksToAlter = $this->filterSearch(['searchtags' => $from], true);
|
||||
foreach ($linksToAlter as $key => &$value) {
|
||||
$tags = preg_split('/\s+/', trim($value['tags']));
|
||||
if (($pos = array_search($from, $tags)) !== false) {
|
||||
if ($delete) {
|
||||
unset($tags[$pos]); // Remove tag.
|
||||
} else {
|
||||
$tags[$pos] = trim($to);
|
||||
}
|
||||
$value['tags'] = trim(implode(' ', array_unique($tags)));
|
||||
$this[$value['id']] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
return $linksToAlter;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of days containing articles (oldest first)
|
||||
* Output: An array containing days (in format YYYYMMDD).
|
||||
*/
|
||||
public function days()
|
||||
{
|
||||
$linkDays = [];
|
||||
foreach ($this->links as $link) {
|
||||
$linkDays[$link['created']->format('Ymd')] = 0;
|
||||
}
|
||||
$linkDays = array_keys($linkDays);
|
||||
sort($linkDays);
|
||||
|
||||
return $linkDays;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reorder bookmarks by creation date (newest first).
|
||||
*
|
||||
* Also update the urls and ids mapping arrays.
|
||||
*
|
||||
* @param string $order ASC|DESC
|
||||
*/
|
||||
public function reorder($order = 'DESC')
|
||||
{
|
||||
$order = $order === 'ASC' ? -1 : 1;
|
||||
// Reorder array by dates.
|
||||
usort($this->links, function ($a, $b) use ($order) {
|
||||
if (isset($a['sticky']) && isset($b['sticky']) && $a['sticky'] !== $b['sticky']) {
|
||||
return $a['sticky'] ? -1 : 1;
|
||||
}
|
||||
if ($a['created'] == $b['created']) {
|
||||
return $a['id'] < $b['id'] ? 1 * $order : -1 * $order;
|
||||
}
|
||||
return $a['created'] < $b['created'] ? 1 * $order : -1 * $order;
|
||||
});
|
||||
|
||||
$this->urls = [];
|
||||
$this->ids = [];
|
||||
foreach ($this->links as $key => $link) {
|
||||
$this->urls[$link['url']] = $key;
|
||||
$this->ids[$link['id']] = $key;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the next key for link creation.
|
||||
* E.g. If the last ID is 597, the next will be 598.
|
||||
*
|
||||
* @return int next ID.
|
||||
*/
|
||||
public function getNextId()
|
||||
{
|
||||
if (!empty($this->ids)) {
|
||||
return max(array_keys($this->ids)) + 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a link offset in bookmarks array from its unique ID.
|
||||
*
|
||||
* @param int $id Persistent ID of a link.
|
||||
*
|
||||
* @return int Real offset in local array, or null if doesn't exist.
|
||||
*/
|
||||
protected function getLinkOffset($id)
|
||||
{
|
||||
if (isset($this->ids[$id])) {
|
||||
return $this->ids[$id];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
||||||| d7dead56
|
||||
=======
|
||||
<?php
|
||||
|
||||
namespace Shaarli\Legacy;
|
||||
|
@ -904,15 +316,7 @@ You use the community supported version of the original Shaarli project, by Seba
|
|||
|
||||
$link['sticky'] = isset($link['sticky']) ? $link['sticky'] : false;
|
||||
|
||||
<<<<<<<< HEAD:application/bookmark/LinkDB.php
|
||||
$link['sticky'] = isset($link['sticky']) ? $link['sticky'] : false;
|
||||
|
||||
// To be able to load links before running the update, and prepare the update
|
||||
|||||||| d7dead56:application/bookmark/LinkDB.php
|
||||
// To be able to load links before running the update, and prepare the update
|
||||
========
|
||||
// To be able to load bookmarks before running the update, and prepare the update
|
||||
>>>>>>>> github/v0.13:application/legacy/LegacyLinkDB.php
|
||||
if (!isset($link['created'])) {
|
||||
$link['id'] = $link['linkdate'];
|
||||
$link['created'] = DateTime::createFromFormat(self::LINK_DATE_FORMAT, $link['linkdate']);
|
||||
|
@ -1179,4 +583,3 @@ You use the community supported version of the original Shaarli project, by Seba
|
|||
return null;
|
||||
}
|
||||
}
|
||||
>>>>>>> github/v0.13
|
||||
|
|
|
@ -103,8 +103,7 @@ class PageBuilder
|
|||
$this->conf->get('resource.update_check'),
|
||||
$this->conf->get('updates.check_updates_interval'),
|
||||
$this->conf->get('updates.check_updates'),
|
||||
$this->isLoggedIn,
|
||||
$this->conf->get('updates.check_updates_branch')
|
||||
$this->isLoggedIn
|
||||
);
|
||||
$this->tpl->assign('newVersion', escape($version));
|
||||
$this->tpl->assign('versionError', '');
|
||||
|
|
|
@ -172,6 +172,15 @@ class Updater
|
|||
return true;
|
||||
}
|
||||
|
||||
public function updateMethodRemoveSettingRemoteBranch(): bool
|
||||
{
|
||||
if ($this->conf->exists('updates.check_updates_branch')) {
|
||||
$this->conf->remove('updates.check_updates_branch', true, true);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function setBasePath(string $basePath): self
|
||||
{
|
||||
$this->basePath = $basePath;
|
||||
|
|
|
@ -19,8 +19,8 @@ $orange: #f89406;
|
|||
$blue: #0b5ea6;
|
||||
$background-color: #d0d0d0;
|
||||
$background-linklist-info: #ddd;
|
||||
$light-shadow: rgba(255, 255, 255, .078);
|
||||
$dark-shadow: rgba(0, 0, 0, .298);
|
||||
$light-shadow: rgba(255, 255, 255, 7.8%);
|
||||
$dark-shadow: rgba(0, 0, 0, 29.8%);
|
||||
$warning-text: #97600d;
|
||||
$form-input-border: #d8d8d8;
|
||||
$form-input-background: #eee;
|
||||
|
@ -66,7 +66,7 @@ pre {
|
|||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-family: Roboto;
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
src:
|
||||
|
@ -76,7 +76,7 @@ pre {
|
|||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-family: Roboto;
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
src:
|
||||
|
@ -187,6 +187,7 @@ body,
|
|||
z-index: 999;
|
||||
background: var(--main-color);
|
||||
width: 100%;
|
||||
|
||||
// Hack to transition with auto height: http://stackoverflow.com/a/8331169/1484919
|
||||
max-height: 45px;
|
||||
overflow: hidden;
|
||||
|
@ -320,7 +321,7 @@ body,
|
|||
|
||||
input {
|
||||
&[type='text'] {
|
||||
border: medium none currentColor;
|
||||
border: medium none currentcolor;
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 1px 0 $light-shadow, 0 1px 1px $dark-shadow inset;
|
||||
background: $almost-white;
|
||||
|
@ -329,7 +330,7 @@ body,
|
|||
height: 30px;
|
||||
color: $dark-grey;
|
||||
|
||||
&::-webkit-input-placeholder {
|
||||
&::placeholder {
|
||||
color: $light-grey;
|
||||
}
|
||||
}
|
||||
|
@ -392,7 +393,7 @@ body,
|
|||
}
|
||||
|
||||
%subheader-form-input {
|
||||
border: medium none currentColor;
|
||||
border: medium none currentcolor;
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 1px 0 $light-shadow, 0 1px 4px $dark-shadow inset;
|
||||
background: $almost-white;
|
||||
|
@ -416,7 +417,7 @@ body,
|
|||
&[type='password'] {
|
||||
@extend %subheader-form-input;
|
||||
|
||||
&::-webkit-input-placeholder {
|
||||
&::placeholder {
|
||||
color: $dark-grey;
|
||||
}
|
||||
}
|
||||
|
@ -472,7 +473,7 @@ body,
|
|||
width: 200px;
|
||||
|
||||
// because chrome
|
||||
&::-webkit-input-placeholder {
|
||||
&::placeholder {
|
||||
color: $light-grey;
|
||||
}
|
||||
}
|
||||
|
@ -518,7 +519,7 @@ body,
|
|||
|
||||
input {
|
||||
&[type='text'] {
|
||||
border: medium none currentColor;
|
||||
border: medium none currentcolor;
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 1px 0 $light-shadow, 0 1px 1px $dark-shadow inset;
|
||||
background: $almost-white;
|
||||
|
@ -527,13 +528,13 @@ body,
|
|||
height: 30px;
|
||||
color: $dark-grey;
|
||||
|
||||
&::-webkit-input-placeholder {
|
||||
&::placeholder {
|
||||
color: $light-grey;
|
||||
}
|
||||
}
|
||||
|
||||
&[type='submit'] {
|
||||
border: medium none currentColor;
|
||||
border: medium none currentcolor;
|
||||
border-radius: 2px;
|
||||
background: $almost-white;
|
||||
padding: 0 10px;
|
||||
|
@ -637,7 +638,7 @@ body,
|
|||
@extend %linksperpage-button;
|
||||
|
||||
margin: 0;
|
||||
border: medium none currentColor;
|
||||
border: medium none currentcolor;
|
||||
background: $almost-white;
|
||||
padding: 4px 5px 3px 8px;
|
||||
height: 20px;
|
||||
|
@ -995,7 +996,7 @@ body,
|
|||
&[type='text'] {
|
||||
@extend %page-form-input;
|
||||
|
||||
&::-webkit-input-placeholder {
|
||||
&::placeholder {
|
||||
color: $light-grey;
|
||||
}
|
||||
}
|
||||
|
@ -1003,7 +1004,7 @@ body,
|
|||
&[type='password'] {
|
||||
@extend %page-form-input;
|
||||
|
||||
&::-webkit-input-placeholder {
|
||||
&::placeholder {
|
||||
color: $light-grey;
|
||||
}
|
||||
}
|
||||
|
@ -1530,9 +1531,6 @@ form {
|
|||
.b-lazy {
|
||||
transition: opacity 500ms ease-in-out;
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 500ms ease-in-out;
|
||||
-moz-transition: opacity 500ms ease-in-out;
|
||||
-o-transition: opacity 500ms ease-in-out;
|
||||
min-width: 1px;
|
||||
min-height: 1px;
|
||||
|
||||
|
@ -1624,11 +1622,6 @@ form {
|
|||
}
|
||||
}
|
||||
|
||||
// Fix empty bookmarklet name in Firefox
|
||||
.pure-button {
|
||||
-moz-user-select: auto;
|
||||
}
|
||||
|
||||
.tag-sort {
|
||||
margin-top: 30px;
|
||||
text-align: center;
|
||||
|
@ -1790,7 +1783,7 @@ input[name='save_edit_batch'] {
|
|||
&::after {
|
||||
content: "";
|
||||
flex-grow: 1;
|
||||
background: rgba(0, 0, 0, 0.35);
|
||||
background: rgba(0, 0, 0, 35%);
|
||||
height: 1px;
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
|
@ -1811,7 +1804,7 @@ input[name='save_edit_batch'] {
|
|||
height: 100%;
|
||||
width: 100%;
|
||||
z-index: 998;
|
||||
background-color: rgba(0, 0, 0, .75);
|
||||
background-color: rgba(0, 0, 0, 75%);
|
||||
color: #fff;
|
||||
|
||||
.screen-center {
|
||||
|
|
857
composer.lock
generated
BIN
doc/md/dev/images/poedit-1.jpg
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
doc/md/images/07-installation.jpg
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
doc/md/images/doc-logo.png
Normal file
After Width: | Height: | Size: 19 KiB |
522
doc/md/images/doc-logo.svg
Normal file
|
@ -0,0 +1,522 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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"
|
||||
width="600"
|
||||
height="240"
|
||||
id="svg2"
|
||||
version="1.1">
|
||||
<title
|
||||
id="title6384">Shaarli Logo</title>
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient4405">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4407" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4409" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3780">
|
||||
<stop
|
||||
style="stop-color:#8aea00;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3782" />
|
||||
<stop
|
||||
style="stop-color:#ebff36;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3784" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4333-6-7">
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4335-0-4" />
|
||||
<stop
|
||||
style="stop-color:#e1e1e1;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4337-49-0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient4333-6-7"
|
||||
id="linearGradient4435"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-606.51586,-487.01655)"
|
||||
x1="845.7998"
|
||||
y1="637.30005"
|
||||
x2="845.7998"
|
||||
y2="509.84348" />
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient3780"
|
||||
id="linearGradient4437"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-1434.0326,365.55395)"
|
||||
x1="1984.2427"
|
||||
y1="-348.63434"
|
||||
x2="1984.2427"
|
||||
y2="-293.69879" />
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient4333-6-7"
|
||||
id="linearGradient4439"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-699.19746,-487.01655)"
|
||||
x1="845.7998"
|
||||
y1="637.30005"
|
||||
x2="845.7998"
|
||||
y2="509.84348" />
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient4333-6-7"
|
||||
id="linearGradient4441"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-699.87915,-487.01655)"
|
||||
x1="845.7998"
|
||||
y1="637.30005"
|
||||
x2="845.7998"
|
||||
y2="509.84348" />
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient4333-6-7"
|
||||
id="linearGradient4443"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-703.2869,-487.01655)"
|
||||
x1="845.7998"
|
||||
y1="637.30005"
|
||||
x2="845.7998"
|
||||
y2="509.84348" />
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient4333-6-7"
|
||||
id="linearGradient4445"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-701.24225,-487.01655)"
|
||||
x1="845.7998"
|
||||
y1="637.30005"
|
||||
x2="845.7998"
|
||||
y2="509.84348" />
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient4333-6-7"
|
||||
id="linearGradient4447"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-699.1976,-487.01655)"
|
||||
x1="845.7998"
|
||||
y1="637.30005"
|
||||
x2="845.7998"
|
||||
y2="509.84348" />
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient4333-6-7"
|
||||
id="linearGradient4449"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-701.24225,-487.01655)"
|
||||
x1="845.7998"
|
||||
y1="637.30005"
|
||||
x2="845.7998"
|
||||
y2="509.84348" />
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient4333-6-7"
|
||||
id="linearGradient4451"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-701.24225,-487.01655)"
|
||||
x1="845.7998"
|
||||
y1="637.30005"
|
||||
x2="845.7998"
|
||||
y2="509.84348" />
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient4333-6-7"
|
||||
id="linearGradient4453"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-701.24225,-487.01655)"
|
||||
x1="845.7998"
|
||||
y1="637.30005"
|
||||
x2="845.7998"
|
||||
y2="509.84348" />
|
||||
<linearGradient
|
||||
y2="509.84348"
|
||||
x2="845.7998"
|
||||
y1="637.30005"
|
||||
x1="845.7998"
|
||||
gradientTransform="translate(-701.24225,-487.01655)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6071"
|
||||
xlink:href="#linearGradient4333-6-7" />
|
||||
<linearGradient
|
||||
y2="509.84348"
|
||||
x2="845.7998"
|
||||
y1="637.30005"
|
||||
x1="845.7998"
|
||||
gradientTransform="translate(-701.24225,-487.01655)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6073"
|
||||
xlink:href="#linearGradient4333-6-7" />
|
||||
<linearGradient
|
||||
y2="509.84348"
|
||||
x2="845.7998"
|
||||
y1="637.30005"
|
||||
x1="845.7998"
|
||||
gradientTransform="translate(-701.24225,-487.01655)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6075"
|
||||
xlink:href="#linearGradient4333-6-7" />
|
||||
<linearGradient
|
||||
y2="509.84348"
|
||||
x2="845.7998"
|
||||
y1="637.30005"
|
||||
x1="845.7998"
|
||||
gradientTransform="translate(-699.1976,-487.01655)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6077"
|
||||
xlink:href="#linearGradient4333-6-7" />
|
||||
<linearGradient
|
||||
y2="509.84348"
|
||||
x2="845.7998"
|
||||
y1="637.30005"
|
||||
x1="845.7998"
|
||||
gradientTransform="translate(-701.24225,-487.01655)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6079"
|
||||
xlink:href="#linearGradient4333-6-7" />
|
||||
<linearGradient
|
||||
y2="509.84348"
|
||||
x2="845.7998"
|
||||
y1="637.30005"
|
||||
x1="845.7998"
|
||||
gradientTransform="translate(-703.2869,-487.01655)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6081"
|
||||
xlink:href="#linearGradient4333-6-7" />
|
||||
<linearGradient
|
||||
y2="509.84348"
|
||||
x2="845.7998"
|
||||
y1="637.30005"
|
||||
x1="845.7998"
|
||||
gradientTransform="translate(-699.87915,-487.01655)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6083"
|
||||
xlink:href="#linearGradient4333-6-7" />
|
||||
<linearGradient
|
||||
y2="509.84348"
|
||||
x2="845.7998"
|
||||
y1="637.30005"
|
||||
x1="845.7998"
|
||||
gradientTransform="translate(-699.19746,-487.01655)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6085"
|
||||
xlink:href="#linearGradient4333-6-7" />
|
||||
<linearGradient
|
||||
y2="-293.69879"
|
||||
x2="1984.2427"
|
||||
y1="-348.63434"
|
||||
x1="1984.2427"
|
||||
gradientTransform="translate(-1434.0326,365.55395)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6087"
|
||||
xlink:href="#linearGradient3780" />
|
||||
<linearGradient
|
||||
y2="509.84348"
|
||||
x2="845.7998"
|
||||
y1="637.30005"
|
||||
x1="845.7998"
|
||||
gradientTransform="translate(-606.51586,-487.01655)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6089"
|
||||
xlink:href="#linearGradient4333-6-7" />
|
||||
<linearGradient
|
||||
y2="-5.3252554"
|
||||
x2="1795.8763"
|
||||
y1="-116.8399"
|
||||
x1="1795.8763"
|
||||
gradientTransform="translate(-1431.3064,219.11539)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6095"
|
||||
xlink:href="#linearGradient4405" />
|
||||
<mask
|
||||
id="mask6091"
|
||||
maskUnits="userSpaceOnUse">
|
||||
<rect
|
||||
y="11.978719"
|
||||
x="8.1208458"
|
||||
height="153.34807"
|
||||
width="582.72266"
|
||||
id="rect6093"
|
||||
style="color:#000000;fill:url(#linearGradient6095);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0" />
|
||||
</mask>
|
||||
</defs>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<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>Shaarli Logo</dc:title>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>http://blog.idleman.fr/</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:date>2012-08-29 22:36:01+02:00</dc:date>
|
||||
<dc:publisher>
|
||||
<cc:Agent>
|
||||
<dc:title>http://sebsauvage.net/</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:publisher>
|
||||
<dc:subject>
|
||||
<rdf:Bag>
|
||||
<rdf:li>Shaarli</rdf:li>
|
||||
<rdf:li>Logo</rdf:li>
|
||||
</rdf:Bag>
|
||||
</dc:subject>
|
||||
<dc:contributor>
|
||||
<cc:Agent>
|
||||
<dc:title>http://thatguynamedandy.com/,
|
||||
http://mro.name/me</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:contributor>
|
||||
<cc:license
|
||||
rdf:resource="http://www.opensource.org/licenses/zlib-license.php" />
|
||||
<dc:source>http://sebsauvage.net/files/shaarli_logo.zip</dc:source>
|
||||
<dc:relation>http://sebsauvage.net/wiki/doku.php?id=php:shaarli:discussion#comment_09a1e91bc0abc7db6d186a6abf429877</dc:relation>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
style="display:inline"
|
||||
id="layer9">
|
||||
<g
|
||||
id="g6232">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g5987"
|
||||
transform="matrix(1,0,0,-1,0,323.7441)"
|
||||
mask="url(#mask6091)">
|
||||
<path
|
||||
style="color:#000000;fill:#484848;fill-opacity:1;fill-rule:nonzero;stroke:#484848;stroke-width:38;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 549.36434,78.11349 c -9.4946,1.99352 -9.7027,14.03504 -9.8352,21.77668 0.1121,11.0831 -0.2095,22.9628 4.1417,33.27264 2.0054,4.85047 9.7812,4.74809 10.3195,-1.06753 4.7624,-15.20498 4.7481,-32.01281 1.4946,-47.50541 -0.983,-2.75668 -3.069,-6.35036 -6.1206,-6.47638 z"
|
||||
id="path5989" />
|
||||
<path
|
||||
style="color:#000000;fill:#484848;fill-opacity:1;fill-rule:nonzero;stroke:#484848;stroke-width:38;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 499.48944,47.6175 c -6.4927,-0.34021 -9.3439,6.60543 -8.1121,12.16941 -0.5858,24.07597 -0.3292,48.31194 0.034,72.30837 1.7508,6.96484 14.895,8.48808 15.0166,-0.0712 1.2169,-13.27189 -0.274,-26.75029 0.6639,-40.10232 0.7817,-11.41478 -0.5568,-23.24296 -0.6994,-34.37618 1.5849,-5.10643 -0.4706,-11.12871 -6.9034,-9.92811 z"
|
||||
id="path5991" />
|
||||
<path
|
||||
style="color:#000000;fill:#484848;fill-opacity:1;fill-rule:nonzero;stroke:#484848;stroke-width:38;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 132.42293,35.23407 c -7.6945,2.17125 -5.9206,12.79289 -6.2273,19.00216 1.6106,23.24538 0.8475,46.57408 2.1706,69.81693 0.068,7.09423 3.2021,16.90233 11.8853,16.22657 7.5709,-1.76417 5.7778,-11.8325 5.6557,-17.71589 -0.047,-7.84014 -4.5559,-19.23884 3.9165,-24.30949 7.6405,-5.37547 19.848,0.64078 18.6463,10.39069 -0.3251,8.83089 -2.0837,22.16882 7.8287,26.47493 6.4024,2.92649 10.6176,-5.21693 9.3943,-10.71096 -0.3749,-13.55442 1.2727,-30.22607 -10.711,-39.6768 -7.9735,-4.05845 -18.9828,-5.54515 -26.8307,-0.21351 -1.0372,2.42576 -6.9951,6.95054 -6.4053,1.24546 -1.6949,-15.3749 2.056,-31.45755 -2.3485,-46.40228 -1.2024,-2.63946 -4.0324,-4.45898 -6.9746,-4.12781 z"
|
||||
id="path5993" />
|
||||
<path
|
||||
style="color:#000000;fill:#484848;fill-opacity:1;fill-rule:nonzero;stroke:#484848;stroke-width:38;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 442.14024,64.05759 c -10.165,-0.2579 -20.6562,1.86137 -28.1474,9.18081 -2.8958,2.05591 -1.2663,-4.94966 -4.8395,-5.01742 -5.4074,-2.93338 -11.5829,2.98762 -9.5367,8.75381 0.099,20.06919 -1.977,40.97889 3.8787,60.387 3.1796,4.95849 13.7562,4.09337 12.7037,-2.9891 1.546,-15.53942 -2.968,-32.10549 3.167,-46.86488 4.3319,-8.66318 18.41,-14.13659 25.3718,-5.90704 3.521,6.12624 -0.9752,16.78774 6.8323,20.31879 7.6504,1.3481 9.6041,-9.08157 8.825,-14.7676 -1.6539,-6.72434 -2.1565,-14.5353 -6.6544,-19.99852 -3.1376,-2.78799 -7.564,-3.22067 -11.6005,-3.09585 z"
|
||||
id="path5995" />
|
||||
<path
|
||||
style="color:#000000;fill:url(#linearGradient6071);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22"
|
||||
d="m 442.38294,54.04595 c -0.1827,-0.005 -0.3789,0.0345 -0.5625,0.0312 -8.6942,-0.15632 -18.301,1.16995 -26.7813,5.96876 -0.368,-0.21564 -0.7676,-0.37654 -1.1562,-0.5625 l 0.031,-0.0625 c -0.2019,-0.10958 -0.4204,-0.1194 -0.625,-0.21875 -0.5569,-0.23563 -1.1103,-0.37966 -1.6874,-0.53125 -6.0741,-2.10894 -12.7994,-0.4336 -16.8438,3.34375 -3.8577,3.60298 -6.0063,9.29062 -5.1562,15.125 0.085,19.31578 -2.292,41.23535 4.3124,63.12499 l 0.4063,1.3125 0.75,1.1875 c 4.4521,6.94297 11.5862,8.53059 18,7.46875 3.2069,-0.53092 6.701,-1.89897 9.5,-5.03125 2.2725,-2.54317 3.5121,-6.27514 3.5937,-9.84375 0,-0.0435 0,-0.0816 0,-0.125 1.7478,-17.81793 -1.8544,-32.72457 2.2813,-43.375 0.6976,-1.23208 3.1856,-3.39065 5.4063,-4.03125 1.1119,-0.32077 1.7363,-0.44325 2.1874,-0.40625 0.051,0.8996 0.2789,2.71568 0.5313,6.0625 0.1821,2.41445 0.4732,5.42185 2.0313,8.8125 1.558,3.39065 4.8419,6.94014 8.8437,8.75 l 1.1563,0.5 1.2187,0.21875 c 4.1545,0.73208 8.9361,-0.28467 12.2187,-2.59375 3.2827,-2.30908 5.1358,-5.31163 6.3126,-8.0625 2.3534,-5.50175 2.5912,-10.54096 1.9374,-15.3125 l -0.062,-0.53125 -0.125,-0.5 c -1.3372,-5.43656 -1.418,-15.17693 -8.6563,-23.96874 l -0.4687,-0.59375 -0.5938,-0.53125 c -6.0316,-5.35952 -13.0425,-5.71213 -18,-5.59376 l 0,-0.0312 z m -20.9688,14.62501 c 0.3103,0.61975 0.1924,0.76755 0.063,0.28125 -0.016,-0.0599 -0.046,-0.21107 -0.063,-0.28125 z m -11.8437,14.15624 c 0.271,0.10418 0.5347,0.22752 0.8125,0.3125 l -0.125,0.21875 -0.125,0.3125 c -0.2313,0.55649 -0.3535,1.10135 -0.5625,1.65625 0.01,-0.84699 -0.01,-1.64903 0,-2.5 z"
|
||||
id="path5997" />
|
||||
<path
|
||||
style="color:#000000;fill:#484848;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:38"
|
||||
d="m 334.93614,43.42895 -1.125,0.0625 c -11.4541,0.68757 -31.1299,2.13948 -42.5313,20.5 l -0.6875,1.15625 -0.5312,1.21875 c -4.0155,9.09454 -1.1737,19.34928 5,25.5 -7.1006,9.03999 -10.5361,20.69833 -9.25,32.65625 -0.7932,13.71238 8.5163,26.58972 21.5624,30.34375 l -0.031,0.0625 c 14.5936,5.02387 28.3345,3.89176 40,1.875 1.1383,0.61027 2.377,1.24208 3.8438,1.84375 3.1932,1.30991 7.6804,2.60895 13.1874,1.96875 5.5071,-0.6402 11.3463,-3.71585 15.0626,-7.53125 l 0.6562,-0.6875 0.5938,-0.75 c 7.375,-9.27994 7.6766,-20.19393 7.1874,-26.8125 -0.4891,-6.61857 -1.0653,-10.99648 -1.0312,-11.375 l 0.125,-1.46875 -0.094,-1.5 c -0.9045,-13.69999 -0.4438,-31.50909 -8.6874,-49.71875 -0.8869,-3.14352 -2.6183,-4.60975 -5,-6.625 -14.193,-12.04738 -29.8012,-10.22761 -37.125,-10.65625 z m -5,69.25 c -0.6975,0.25422 -0.096,-0.059 3.5937,0.375 3.1757,0.3735 8.4922,1.29071 15.3437,0.34375 -0.042,1.60674 -0.047,3.10046 0.031,4.46875 l -1.2187,0.25 c -9.4296,1.92946 -17.7526,2.70557 -24.0626,1.71875 0.3089,-2.61777 2.5558,-6.11412 4.2813,-6.53125 l 1.0313,-0.25 1,-0.375 z"
|
||||
id="path5999" />
|
||||
<path
|
||||
id="path6001"
|
||||
d="m 242.86794,62.94328 c -9.8451,0.59098 -21.9234,2.57343 -27.5069,11.56498 -1.5225,3.44827 2.5155,7.16458 5.8003,4.55483 11.6876,-3.18405 25.8772,-8.64334 36.9368,-1.03196 3.4255,4.6575 3.2712,13.73214 -2.1351,16.8315 -8.1137,1.83399 -16.456,-2.50178 -24.589,0.4626 -12.7407,3.08001 -20.924,16.83116 -18.6463,29.53519 -1.221,6.03853 2.7535,11.58045 8.7182,12.59694 12.2603,4.22059 25.7141,2.25842 37.9688,-0.24909 3.9671,2.72001 9.7011,7.85911 14.3406,3.09585 6.2596,-7.87653 1.273,-19.02318 2.088,-28.06851 -0.9577,-14.50429 -1.0481,-29.91302 -7.0343,-43.1362 -7.0905,-6.01862 -17.2216,-5.6458 -25.9411,-6.15613 z"
|
||||
style="color:#000000;fill:#484848;fill-opacity:1;fill-rule:nonzero;stroke:#484848;stroke-width:38;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
style="color:#000000;fill:url(#linearGradient6073);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22"
|
||||
d="m 132.71733,24.19589 c -0.5004,0.0152 -1.0205,0.0363 -1.5312,0.0937 l -0.9063,0.0937 -0.8437,0.25 c -4.2861,1.20943 -8.1936,4.24904 -10.375,7.56249 -2.1816,3.31346 -2.9841,6.56659 -3.4063,9.375 -0.8444,5.61682 -0.3823,10.37282 -0.4687,12.125 l -0.031,0.65625 0.062,0.625 c 1.548,22.34205 0.8033,45.46456 2.125,69.1875 5e-4,0.0505 0.031,0.10568 0.031,0.15625 0.01,0.1151 -0.01,0.22862 0,0.34375 l 0.031,0 c 0.099,4.98929 0.9665,10.43113 4.125,15.90625 3.2605,5.65198 11.0145,11.32149 19.5625,10.65625 l 0.8438,-0.0625 0.8124,-0.1875 c 4.2384,-0.98762 8.3269,-3.79564 10.625,-7.09375 2.1728,-3.63384 4.3342,-6.89183 5.1872,-10.22818 3.8402,7.13335 5.9507,8.04619 13.1566,11.44693 l 0,0.0312 c 0.059,0.0269 0.1281,0.0362 0.1875,0.0625 3.7423,1.65403 8.4312,1.97661 12.2813,0.65625 3.91101,-1.34132 6.71761,-3.90092 8.59371,-6.5 3.336,-4.62154 4.6441,-9.64143 3.9063,-15.25 -0.1718,-6.20746 0.2238,-14.23226 -1.1563,-22.8125 -1.3801,-8.58024 -5.0962,-18.36284 -13.75001,-25.1875 l -0.8437,-0.6875 -0.9688,-0.5 c -7.7653,-3.95251 -17.7087,-6.355 -27.4062,-4.09375 0.4086,-10.28331 1.089,-21.96033 -2.625,-34.5625 l -0.2188,-0.75 -0.3125,-0.71875 c -2.9167,-6.40275 -9.181,-10.82231 -16.6875,-10.59374 z m 6.0625,53.99999 c 0,0.0101 0.05,0.0315 0.062,0.0625 l -0.6245,1.46875 c 0.3311,-0.86163 0.5542,-1.56647 0.5625,-1.53125 z m 36.0625,48.28125 c 0.012,-0.004 0.019,0.005 0.031,0 l 0.063,0.3125 c -0.043,-0.19086 -0.061,-0.25465 -0.094,-0.3125 z"
|
||||
id="path6003" />
|
||||
<path
|
||||
style="fill:#484848;fill-opacity:1;stroke:none"
|
||||
id="path6005"
|
||||
d="m 133.3461,36.09636 c -1.692,0.49428 -2.8155,1.39846 -3.625,2.625 -0.8214,1.24442 -1.3243,2.85069 -1.5938,4.625 -0.5342,3.51732 -0.1953,7.61208 -0.3438,10.8125 0,0.0285 0,0.0654 0,0.0937 1.6063,23.27388 0.8692,46.5905 2.1876,69.75 a 0.88388823,0.88388823 0 0 1 0,0.0625 c 0.033,3.4213 0.83,7.53419 2.5937,10.59375 1.7438,3.02495 4.2922,5.00636 8.2187,4.75 0.011,-7.3e-4 0.02,7.7e-4 0.031,0 1.6857,-0.39978 2.7542,-1.19719 3.5313,-2.3125 0.7819,-1.12237 1.2391,-2.59827 1.4687,-4.25 0.4593,-3.30346 2e-4,-7.22907 -0.062,-10.25 a 0.88388823,0.88388823 0 0 1 0,-0.0312 c -0.023,-3.75401 -1.179,-8.58343 -1.25,-13.1875 -0.071,-4.59014 1.0512,-9.12033 5.5625,-11.84375 0.012,-0.008 0.019,-0.023 0.031,-0.0312 8.2411,-5.75335 21.2001,0.72746 19.9687,11.1875 0,0.011 0,0.0202 0,0.0312 -4e-4,0.01 4e-4,0.0216 0,0.0312 -0.1662,4.44678 -0.6416,9.92071 0.094,14.71875 0.7386,4.81878 2.5857,8.83105 7.2188,10.84375 a 0.88388823,0.88388823 0 0 1 0.031,0 c 1.4264,0.65196 2.625,0.67804 3.6876,0.3125 1.0625,-0.36554 2.0152,-1.15367 2.7812,-2.21875 1.532,-2.13016 2.2012,-5.36524 1.6562,-7.8125 a 0.88388823,0.88388823 0 0 1 0,-0.15625 c -0.1887,-6.82351 0.1073,-14.35845 -1,-21.28125 -1.1026,-6.89383 -3.5864,-13.13587 -9.3124,-17.6875 -7.7294,-3.90433 -18.3437,-5.25802 -25.7813,-0.25 -0.7734,1.48479 -2.3237,3.00623 -4,3.78125 -0.9043,0.41808 -1.982,0.65336 -2.875,0.0312 -0.8519,-0.59346 -1.0866,-1.72753 -0.9687,-3.1875 0.01,-0.0705 -0.01,-0.11538 0,-0.1875 -1.6634,-15.48034 1.9617,-31.38045 -2.2813,-45.9375 -1.0363,-2.2749 -3.4784,-3.85945 -5.9687,-3.625 z" />
|
||||
<path
|
||||
style="color:#000000;fill:url(#linearGradient6075);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22"
|
||||
d="m 500.00794,37.6397 c -0.47,-0.0246 -0.9099,0.13839 -1.375,0.15625 -0.3182,0.036 -0.6564,-0.0583 -0.9688,0 l 0,0.0937 c -5.9486,0.59666 -11.3199,4.27914 -13.8124,8.625 -2.5191,4.39212 -3.1643,9.07388 -2.4688,13.75001 -0.5691,24.07161 -0.3288,48.17845 0.031,71.96874 l 0.031,1.1875 0.2813,1.125 c 2.2758,9.05358 10.1204,12.94327 17.2812,13.3125 3.5804,0.18461 7.6057,-0.50128 11.25,-3.21875 3.4431,-2.56742 5.753,-7.21537 6.0625,-11.6875 l 0.062,0 c 0.024,-0.26477 0.01,-0.51719 0.031,-0.78125 1.2169,-14.32127 -0.1813,-27.63851 0.6563,-39.5625 0.8412,-12.28307 -0.4559,-23.97948 -0.6563,-34.18749 0.9168,-4.19732 0.7514,-8.64033 -1.75,-13.09376 -2.5398,-4.52202 -8.6787,-7.57722 -14.4374,-7.5625 -0.073,1.9e-4 -0.1457,-0.001 -0.2188,0 l 0,-0.125 z m -0.4375,10.46875 1.5625,8.375 c -0.089,0.0884 -0.5399,0.26586 -0.9688,0.50001 -0.4433,-0.17558 -0.588,-0.31717 -1.125,-0.59376 l 0.5313,-8.28125 z m 1.625,8.6875 0.125,0.65626 c 0,-5.2e-4 -0.146,-0.0578 -0.1563,-0.0625 0.013,-0.26164 0.01,-0.41632 0.031,-0.59376 z"
|
||||
id="path6007" />
|
||||
<path
|
||||
style="fill:#484848;fill-opacity:1;stroke:none"
|
||||
d="m 499.48944,47.6175 c -6.4927,-0.34021 -9.3439,6.60543 -8.1121,12.16941 -0.5858,24.07597 -0.3292,48.31194 0.034,72.30837 1.7508,6.96484 14.895,8.48808 15.0166,-0.0712 1.2169,-13.27189 -0.274,-26.75029 0.6639,-40.10232 0.7817,-11.41478 -0.5568,-23.24296 -0.6994,-34.37618 1.5849,-5.10643 -0.4706,-11.12871 -6.9034,-9.92811 z"
|
||||
id="path6009" />
|
||||
<path
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
d="m 544.51954,53.6313 c -7.5784,-0.46784 -10.6755,10.08558 -4.626,14.19825 6.4831,5.13984 16.9776,-2.57743 12.9884,-10.24836 -1.4384,-3.20261 -5.1136,-4.25984 -8.3624,-3.94989 z"
|
||||
id="path6011" />
|
||||
<path
|
||||
style="fill:#484848;fill-opacity:1;stroke:#484848;stroke-width:38;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 66.312222,57.93009 c -17.370703,0.62829 -30.0641,20.09681 -26.023403,36.39781 2.1928,10.05075 13.8541,12.09708 22.635103,11.4922 7.1377,-0.5151 17.6041,2.45346 16.7319,11.49222 -1.8676,6.29718 -10.9897,4.97438 -16.0667,5.21679 -7.019003,0.3042 -14.551803,-2.83467 -21.309203,-1.0251 -5.546297,3.71601 -0.7698,11.63178 4.4362,13.09902 11.6204,3.85396 24.776703,2.98561 36.677203,0.52396 8.494404,-1.78465 13.976704,-9.66183 14.007304,-18.12905 0.5362,-8.45978 -0.1252,-18.85777 -9.082,-22.63511 -7.833304,-4.5437 -17.524404,-2.59996 -25.744004,-4.64578 -6.504303,-3.75215 -4.590203,-15.08325 3.2137,-15.54417 8.376,-2.645 16.5844,3.54335 24.730904,1.74653 6.8027,-2.75685 5.6777,-13.26551 -1.2924,-15.19486 C 82.177322,57.19274 73.972122,57.9802 66.312222,57.93009 Z"
|
||||
id="path6013" />
|
||||
<path
|
||||
style="color:#000000;fill:url(#linearGradient6077);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22"
|
||||
d="m 66.146122,46.92095 -0.2187,0.0312 c -25.268203,0.91394 -41.9786,26.29641 -36.375,49.71875 0,0.01 0,0.0214 0,0.0312 0.023,0.0937 0.039,0.18758 0.062,0.28125 l 0.062,0 c 1.4158,6.03031 5.2241,10.72981 9.5937,13.9375 l -1.5937,0.4375 -1.5313,1 c -3.4934,2.34058 -6.2461,6.40677 -7.0312,10.4375 -0.7852,4.03073 0.016,7.64447 1.2812,10.53125 2.4625,5.61698 6.4364,9.72109 12.843797,11.6875 l 0,0.0312 c 0.1235,0.0409 0.2514,0.0537 0.375,0.0937 0.044,0.0142 0.081,0.0484 0.125,0.0625 14.2876,4.59699 29.052403,3.33987 41.875007,0.6875 l 0.031,0 c 13.703,-2.87897 22.354804,-15.23519 22.687504,-28.1875 l 0.031,0 c 0.01,-0.1043 -0.01,-0.23849 0,-0.34375 0,-0.10511 0.031,-0.20733 0.031,-0.3125 l -0.031,0 c 0.275,-4.68022 0.3633,-10.21921 -1.4063,-16.21875 -1.6128,-5.46789 -5.6186,-11.40935 -11.718704,-15.03125 C 110.28983,79.05558 108.57813,56.15757 93.550926,50.6395 83.076822,45.62854 73.121622,46.96476 66.394622,46.92075 l -0.25,0 z M 49.927419,124.0772 c 0.4736,0.11312 0.7429,0.17483 0.6875,0.1875 -0.1379,-0.0437 -0.3009,-0.0484 -0.4375,-0.0937 l -0.25,-0.0937 z"
|
||||
id="path6015" />
|
||||
<path
|
||||
style="fill:#484848;fill-opacity:1;stroke:none"
|
||||
id="path6017"
|
||||
d="M 67.047,59.37761 C 50.7565,60.01346 38.6203,78.63489 42.422,93.97136 a 1.4420115,1.4420115 0 0 1 0,0.0312 c 0.9874,4.52574 3.9833,7.14275 7.9688,8.71875 3.9854,1.576 8.921,1.948 13.1562,1.65625 3.8182,-0.27555 8.4163,0.35581 12.1562,2.34375 3.74,1.98794 6.6157,5.6345 6.125,10.71875 a 1.4420115,1.4420115 0 0 1 -0.062,0.28125 c -0.5618,1.89409 -1.746,3.32797 -3.1876,4.25 -1.4415,0.92203 -3.0867,1.39395 -4.7812,1.65625 -3.3889,0.5246 -7.0334,0.23046 -9.4062,0.34375 -7.4077,0.32104 -14.726,-2.60314 -20.7813,-1.09375 -0.9228,0.69289 -1.3969,1.4625 -1.5625,2.3125 -0.1806,0.92739 -0.017,2.01851 0.4688,3.125 0.9708,2.21298 3.281,4.32492 5.3437,4.90625 a 1.4420115,1.4420115 0 0 1 0.062,0 c 11.2515,3.73156 24.1465,2.93253 35.9062,0.5 7.7821,-1.63499 12.8466,-8.87337 12.875,-16.71875 a 1.4420115,1.4420115 0 0 1 0,-0.0937 c 0.2634,-4.15469 0.2008,-8.71518 -0.9374,-12.5625 -1.1383,-3.84732 -3.227,-6.9152 -7.2813,-8.625 a 1.4420115,1.4420115 0 0 1 -0.1563,-0.0937 c -7.233,-4.1955 -16.6908,-2.33856 -25.375,-4.5 a 1.4420115,1.4420115 0 0 1 -0.375,-0.15625 c -7.593,-4.38022 -5.364,-17.27483 3.5,-18.15625 l 0,-0.0312 c 0.1153,-0.0364 0.2288,-0.0291 0.3438,-0.0625 4.5012,-1.3064 8.8395,-0.37995 12.875,0.59375 4.0804,0.98454 7.88,1.92841 11.4688,1.1875 5.4755,-2.31046 4.4951,-10.8333 -1.1876,-12.40625 a 1.4420115,1.4420115 0 0 1 -0.2812,-0.0937 c -6.5535,-3.28332 -14.4405,-2.57842 -22.1875,-2.625 -0.021,-1.3e-4 -0.042,1.4e-4 -0.062,0 z" />
|
||||
<path
|
||||
style="color:#000000;fill:url(#linearGradient6079);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22"
|
||||
d="m 334.91414,52.45217 -0.5624,0.0312 c -10.692,0.64182 -26.7608,2.35866 -35.4063,16.28126 l -0.375,0.59375 -0.2813,0.625 c -2.6168,5.92672 -0.4865,12.63582 3.8126,16.24999 2.47,2.0766 6.1544,2.97511 9.8124,2.75 -12.1731,7.16212 -18.9579,21.29295 -17.0937,35.5 -0.9321,10.0329 5.7963,19.42583 15.4375,21.90625 l 0,0.0312 c 13.5839,4.67628 27.0449,3.11875 38.7812,0.90625 1.4491,0.98507 3.2876,2.06677 5.5626,3 2.2748,0.93323 5.2583,1.74964 8.75,1.34375 3.4915,-0.40589 7.1195,-2.30283 9.625,-4.875 l 0.375,-0.34375 0.3124,-0.40625 c 5.3642,-6.74967 5.6479,-14.75709 5.2188,-20.5625 -0.4291,-5.80541 -1.211,-10.50221 -1,-12.84375 l 0.062,-0.78125 -0.062,-0.75 c -0.9297,-14.08097 -0.732,-30.77734 -7.9062,-46.62499 -0.4593,-1.65783 -1.3753,-2.43205 -2.625,-3.4999 -10.8288,-9.19166 -23.8588,-8.03267 -31.8438,-8.50001 l -0.5938,-0.0312 z m 22.0626,47.46875 c 0.2983,4.01025 0.663,7.89337 0.9374,12.09375 -0.3619,6.15055 0.7536,11.18085 1.0313,14.9375 0.091,1.23358 -3e-4,1.89681 -0.031,2.71875 -0.7261,-0.49389 -0.8804,-0.56988 -1.7812,-1.1875 l -3.5,-2.40625 -4.1562,0.84375 c -11.8502,2.42474 -23.4896,3.77093 -32.7188,0.59375 l -0.75,-0.25 -0.8125,-0.15625 c -0.7563,-0.12889 -0.7437,-0.008 -0.5937,-0.75 l 0.375,-1.875 -0.3438,-1.875 c -1.3223,-7.37497 4.0726,-16.31882 11.1562,-18.03125 l 0.5626,-0.15625 0.5312,-0.1875 c 1.5591,-0.56829 3.7957,-0.58273 7.6875,-0.125 3.8918,0.45773 9.2275,1.48444 15.6563,0.0312 l 1.4687,-0.34375 1.3125,-0.75 c 1.5458,-0.8862 2.8481,-1.95265 3.9688,-3.125 z"
|
||||
id="path6019" />
|
||||
<path
|
||||
style="fill:#484848;fill-opacity:1;stroke:none"
|
||||
id="path6021"
|
||||
d="m 442.8461,65.50261 c -9.9417,-0.25223 -20.0112,1.83054 -27.125,8.78125 a 1.4249747,1.4249747 0 0 1 -0.1876,0.125 c -0.4923,0.34955 -1.0141,0.64308 -1.6874,0.65625 -0.6734,0.0132 -1.3402,-0.39879 -1.6876,-0.8125 -0.6947,-0.82743 -0.7686,-1.5945 -0.9687,-2.34375 -0.2001,-0.74925 -0.4246,-1.47139 -0.6563,-1.84375 -0.2316,-0.37236 -0.2624,-0.39819 -0.6874,-0.40625 a 1.4249747,1.4249747 0 0 1 -0.6563,-0.1875 c -2.1511,-1.16691 -4.3134,-0.58174 -5.9063,0.90625 -1.5928,1.48799 -2.4145,3.81205 -1.5937,6.125 a 1.4249747,1.4249747 0 0 1 0.094,0.46875 c 0.099,20.08519 -1.9054,40.73856 3.75,59.71875 1.2377,1.74956 4.0539,2.66609 6.4063,2.28125 1.2075,-0.19755 2.2216,-0.71247 2.8437,-1.40625 0.6222,-0.69378 0.9615,-1.54589 0.75,-2.96875 a 1.4249747,1.4249747 0 0 1 0,-0.375 c 1.5091,-15.16756 -3.1254,-31.94343 3.25,-47.28125 a 1.4249747,1.4249747 0 0 1 0.031,-0.0625 c 2.3884,-4.77662 7.2847,-8.50018 12.5937,-10.03125 5.3091,-1.53107 11.2689,-0.75156 15.1563,3.84375 a 1.4249747,1.4249747 0 0 1 0.1563,0.1875 c 2.0694,3.60071 1.6918,8.0153 1.9687,11.75 0.1385,1.86735 0.4194,3.54061 1.0313,4.875 0.5916,1.2904 1.4751,2.25734 3.0312,3 1.4606,0.20734 2.5297,-0.051 3.4375,-0.6875 0.9587,-0.67214 1.771,-1.81376 2.375,-3.21875 1.2079,-2.80999 1.508,-6.6831 1.1563,-9.25 -1.6601,-6.82503 -2.269,-14.23556 -6.2813,-19.1875 -2.6943,-2.32961 -6.6692,-2.77567 -10.5313,-2.65625 a 1.4249747,1.4249747 0 0 1 -0.062,0 z" />
|
||||
<path
|
||||
style="color:#000000;fill:url(#linearGradient6081);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22"
|
||||
d="m 548.52594,68.07721 -1.2187,0.25 c -8.6956,1.82574 -14.1425,9.53796 -15.9688,15.68749 -1.8263,6.14954 -1.7462,11.84707 -1.8125,15.71875 l 0,0.125 0,0.125 c 0.1092,10.79916 -0.5536,24.0134 4.9063,37 0.01,0.0225 0.022,0.0401 0.031,0.0625 2.7726,6.62078 9.3817,9.9621 15.5625,9.5625 5.6001,-0.36206 11.8353,-5.2195 13.5,-11.53125 5.3924,-17.21633 5.3013,-35.62075 1.75,-52.53125 l -0.1563,-0.6875 -0.2187,-0.62499 c -0.7814,-2.19128 -1.853,-4.62969 -3.9375,-7.1875 -2.0845,-2.55781 -5.8401,-5.71667 -11.1875,-5.9375 l -1.25,-0.0312 z"
|
||||
id="path6023" />
|
||||
<path
|
||||
style="fill:#484848;fill-opacity:1;stroke:none"
|
||||
id="path6025"
|
||||
d="m 550.1139,78.59636 c -4.5226,0.97522 -6.7823,4.26272 -8,8.375 -1.2232,4.13111 -1.3087,9.03503 -1.375,12.90625 0.1123,11.09592 -0.2043,22.90976 4.0938,33.09375 0.9213,2.22841 3.1731,3.32073 5.25,3.1875 2.0769,-0.13323 3.906,-1.39 4.1562,-4.09375 a 0.46475483,0.46475483 0 0 1 0.031,-0.0937 c 4.7332,-15.11164 4.7084,-31.85462 1.4687,-47.28125 -0.4788,-1.32581 -1.2248,-2.85305 -2.1874,-4.03125 -0.9629,-1.17844 -2.1146,-1.98485 -3.4376,-2.0625 z" />
|
||||
<path
|
||||
style="color:#000000;fill:url(#linearGradient6083);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22"
|
||||
d="m 242.87094,52.92092 -0.5938,0.0312 c -10.6919,0.64192 -26.7607,2.35873 -35.4062,16.28131 l -0.375,0.59375 -0.2813,0.65625 c -2.6168,5.92671 -0.4864,12.60456 3.8125,16.21874 2.4771,2.0825 6.1757,2.98309 9.8438,2.75 -12.176,7.14722 -18.9659,21.26849 -17.125,35.46875 -0.9665,10.0609 5.7999,19.48906 15.4687,21.96875 l -0.031,0.0312 c 13.5891,4.67806 27.073,3.12012 38.8125,0.90625 1.4445,0.97996 3.2715,2.07302 5.5313,3 2.2749,0.93323 5.2585,1.71839 8.75,1.3125 3.4915,-0.40589 7.1509,-2.27156 9.6562,-4.84375 l 0.3438,-0.375 0.3125,-0.40625 c 5.3641,-6.74969 5.6478,-14.72585 5.2187,-20.53125 -0.4291,-5.8054 -1.2109,-10.50221 -1,-12.84375 l 0.062,-0.78125 -0.062,-0.78125 c -0.9297,-14.081 -0.7006,-30.74608 -7.875,-46.59374 l -0.9375,-2.0625 -1.7187,-1.4375 c -10.8287,-9.19167 -23.8276,-8.06392 -31.8125,-8.53126 l -0.5938,-0.0312 z m 22.0312,47.5 c 0.2974,4.00059 0.6637,7.87292 0.9375,12.0625 -0.3619,6.15055 0.7536,11.2121 1.0313,14.96875 0.091,1.22812 0,1.86766 -0.031,2.6875 -0.7261,-0.49388 -0.8805,-0.56989 -1.7813,-1.1875 l -3.5,-2.40625 -4.1562,0.875 c -11.8502,2.42475 -23.4582,3.77094 -32.6875,0.59375 l -0.7813,-0.28125 -0.8125,-0.125 c -0.7563,-0.12888 -0.7437,-0.0396 -0.5938,-0.78125 l 0.375,-1.84375 -0.3437,-1.875 c -1.3223,-7.37494 4.0726,-16.35008 11.1562,-18.0625 l 0.5625,-0.125 0.5313,-0.1875 c 1.5591,-0.56828 3.7957,-0.58273 7.6875,-0.125 3.8918,0.45773 9.2275,1.45313 15.6562,0 l 1.4688,-0.3125 1.3125,-0.75 c 1.5458,-0.8862 2.8482,-1.95265 3.9687,-3.125 z"
|
||||
id="path6027" />
|
||||
<path
|
||||
style="fill:#484848;fill-opacity:1;stroke:#484848;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path6029"
|
||||
d="m 243.6361,64.63031 c -9.6363,0.58398 -20.9336,2.59484 -26.0312,10.625 -0.4035,0.99026 -0.045,1.9107 0.6562,2.5 0.717,0.60234 1.4896,0.85243 2.5626,0 a 1.684398,1.684398 0 0 1 0.625,-0.3125 c 5.775,-1.5733 12.3167,-3.78461 18.9374,-4.625 6.6208,-0.84039 13.4444,-0.25925 19.4063,3.84375 a 1.684398,1.684398 0 0 1 0.375,0.375 c 2.0281,2.75755 2.9112,6.50666 2.5937,10.125 -0.3174,3.61834 -1.9072,7.25777 -5.2187,9.15625 a 1.684398,1.684398 0 0 1 -0.4687,0.1875 c -4.4561,1.00721 -8.7953,0.29068 -12.875,-0.1875 -4.0798,-0.47818 -7.8868,-0.73461 -11.5313,0.59375 a 1.684398,1.684398 0 0 1 -0.1563,0.0312 c -11.7884,2.8498 -19.5228,15.78804 -17.4062,27.59375 a 1.684398,1.684398 0 0 1 0,0.65625 c -1.0407,5.14641 2.2557,9.72666 7.3438,10.59375 a 1.684398,1.684398 0 0 1 0.2812,0.0625 c 11.7498,4.04484 24.8758,2.18109 37.0625,-0.3125 a 1.684398,1.684398 0 0 1 1.2813,0.28125 c 2.0816,1.42722 4.4575,3.29235 6.625,4.1875 1.0837,0.44757 2.0633,0.63094 2.9374,0.53125 0.8627,-0.0984 1.6764,-0.44585 2.5938,-1.375 0.01,-0.0118 0.022,-0.0195 0.031,-0.0312 2.6608,-3.43997 2.9705,-7.61463 2.625,-12.3125 -0.3431,-4.66636 -1.3766,-9.66321 -1,-14.46875 -0.9524,-14.4251 -1.1073,-29.45823 -6.7187,-42.15625 -6.4124,-5.22259 -15.7954,-5.06556 -24.4687,-5.5625 -0.021,-10e-4 -0.042,0.001 -0.063,0 z" />
|
||||
<path
|
||||
style="color:#000000;fill:url(#linearGradient6085);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22"
|
||||
id="path6031"
|
||||
d="m 252.9376,106.30395 c -3.4993,0.0307 -6.9607,-0.0581 -10.375,0.0312 -4.1004,0.36044 -9.0376,1.69024 -12.625,4.09375 -3.614,2.42133 -5.8704,5.68864 -5.2813,10.4375 0.4935,4.61527 3.5645,7.56447 7.6876,9.21875 4.123,1.65428 9.2633,1.8209 13.1562,0.65625 a 1.3611835,1.3611835 0 0 1 0.1562,-0.0312 c 2.8688,-0.49834 6.5939,-1.2529 9.2813,-2.71875 1.3437,-0.73292 2.3836,-1.63683 3.0313,-2.6875 0.6476,-1.05067 0.9604,-2.26047 0.6874,-3.96875 a 1.3611835,1.3611835 0 0 1 0,-0.28125 c 0.1564,-2.76724 0.3451,-6.68524 -0.375,-9.71875 -0.36,-1.51676 -0.9264,-2.77474 -1.75,-3.625 -0.8176,-0.8442 -1.8698,-1.36151 -3.5624,-1.40625 -0.012,-3.2e-4 -0.019,2.7e-4 -0.031,0 z" />
|
||||
<path
|
||||
style="color:#000000;fill:#305f00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10"
|
||||
d="m 550.24144,11.97714 c -4.7431,8e-5 -9.3884,1.94508 -12.1562,5.65625 -2.3938,3.20927 -3.2655,7.28209 -3.5,11.84374 -5.2417,0.10768 -9.658,0.71067 -13.2813,2.53125 -3.7519,1.88519 -6.5576,5.75636 -6.9063,9.9375 l -0.062,0 c -0.013,0.1027 0.011,0.20947 0,0.3125 0,0.043 -0.03,0.0819 -0.031,0.125 l 0.031,0 c -0.383,3.94189 0.8037,8.08581 3.625,10.84375 1.7434,1.70445 3.9242,2.79035 6.3124,3.59375 l -0.875,2.4375 -0.062,0.125 -0.031,0.125 c -1.0239,3.32791 -0.9882,7.09444 0.8437,10.15625 1.8322,3.06181 4.9132,4.85334 8.3438,5.90625 l 0.7188,0.21875 0.75,0 2.2812,0 c 4.1038,5e-5 8.0184,-1.11288 11.1562,-3.5 1.388,-1.05587 2.5677,-2.38102 3.5938,-3.8125 2.738,2.5559 6.0541,4.80834 10,6.78125 l 0.5,0.25 0.5312,0.15625 c 3.235,0.79227 6.3972,0.95306 9.4063,-0.1875 2.9956,-1.13542 5.3523,-3.78973 6.4375,-6.71875 l 0.031,0 0,-0.0312 c 1.3188,-3.58119 1.0754,-7.65809 -0.4687,-11.1875 -0.3593,-0.82136 -0.9637,-1.56048 -1.4375,-2.34375 0.7988,-0.35352 1.5774,-0.75006 2.3125,-1.28125 3.1456,-2.2731 4.4669,-6.43958 4.1563,-10.25 l 0.031,0 c 0,-0.12851 -0.061,-0.24691 -0.062,-0.375 -0.017,-0.15367 0.023,-0.31671 0,-0.46875 l -0.062,0 c -0.2506,-3.85862 -2.6242,-7.47641 -5.875,-9.5625 -3.1968,-2.05143 -7.2278,-3.19745 -12.0625,-4.03124 -0.5947,-4.02941 -1.4462,-7.64148 -3.125,-10.53125 -2.2702,-3.9078 -6.5646,-6.71865 -11.0625,-6.71875 z m 18.3125,50.62499 c 0.2654,0.97712 0.2969,1.7705 -0.031,2.65625 l 0,0.0312 c -0.3181,0.86918 -0.3036,0.72198 -0.625,0.84375 -0.2585,0.098 -1.2073,0.14918 -2.5624,-0.0625 0.3313,-0.1475 0.7366,-0.14338 1.0312,-0.34375 l 0.4375,-0.28125 0.375,-0.40625 c 0.5814,-0.62017 0.9776,-1.55372 1.375,-2.4375 z"
|
||||
id="path6033" />
|
||||
<g
|
||||
id="text6035"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:165.01513672px;line-height:125%;font-family:'comic andy';-inkscape-font-specification:'comic andy';letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient4437);fill-opacity:1;stroke:none">
|
||||
<path
|
||||
id="path98"
|
||||
style="fill:url(#linearGradient6087);fill-opacity:1"
|
||||
d="m 550.24549,16.984496 q 8.54083,0 9.83001,16.920498 l 2.33664,0 q 15.22844,2.33664 15.0673,9.668855 1.28918,8.621397 -11.03861,7.976806 9.42713,8.299101 6.7682,15.470169 -2.09492,5.72074 -9.99116,3.786969 -8.70197,-4.350985 -12.32779,-9.991151 l -1.5309,0 q -3.3841,9.991151 -13.13353,9.991151 l -2.25606,0 q -8.13796,-2.497788 -5.88189,-9.830003 l 2.82008,-7.815659 -0.80574,0 q -11.92492,-1.692049 -10.79688,-10.555167 0.32229,-8.137954 16.35648,-8.218527 4.43155,-0.483443 3.70639,-2.820083 0,-14.583858 10.87746,-14.583858 z m -4.5927,16.034186 -0.16115,4.512133 q -0.24172,3.384099 -2.17549,3.384099 l -12.73066,0.725164 q -2.98123,0.08057 -2.98123,2.417214 0,2.256067 3.22295,2.417214 11.19976,-0.564016 10.47459,1.530902 l -2.25606,4.834428 q -5.72074,8.621396 -2.82009,10.152299 3.86754,2.33664 10.95804,-12.08607 1.69205,-1.530902 2.82008,0 4.99558,5.317871 8.21853,8.70197 3.30353,3.3841 5.31787,2.014345 2.41721,-2.578361 -1.28918,-5.559592 -3.62582,-3.061804 -8.2991,-8.379675 -0.48344,-1.772623 0.24172,-1.772623 15.79246,1.047459 15.14787,-2.014345 0.48345,-3.3841 -13.69754,-3.3841 -2.17549,0.402869 -3.54525,-1.047459 l 0,-7.896232 q 0,-6.607052 -3.14238,-6.526478 -3.3841,-0.805738 -3.30352,7.976806 z" />
|
||||
</g>
|
||||
<path
|
||||
d="m 335.7911,64.63031 c -9.6363,0.58398 -20.9336,2.59484 -26.0312,10.625 -0.4035,0.99026 -0.045,1.9107 0.6562,2.5 0.717,0.60234 1.4896,0.85243 2.5626,0 a 1.684398,1.684398 0 0 1 0.625,-0.3125 c 5.775,-1.5733 12.3167,-3.78461 18.9374,-4.625 6.6208,-0.84039 13.4444,-0.25925 19.4063,3.84375 a 1.684398,1.684398 0 0 1 0.375,0.375 c 2.0281,2.75755 2.9112,6.50666 2.5937,10.125 -0.3174,3.61834 -1.9072,7.25777 -5.2187,9.15625 a 1.684398,1.684398 0 0 1 -0.4687,0.1875 c -4.4561,1.00721 -8.7953,0.29068 -12.875,-0.1875 -4.0798,-0.47818 -7.8868,-0.73461 -11.5313,0.59375 a 1.684398,1.684398 0 0 1 -0.1563,0.0312 c -11.7884,2.8498 -19.5228,15.78804 -17.4062,27.59375 a 1.684398,1.684398 0 0 1 0,0.65625 c -1.0407,5.14641 2.2557,9.72666 7.3438,10.59375 a 1.684398,1.684398 0 0 1 0.2812,0.0625 c 11.7498,4.04484 24.8758,2.18109 37.0625,-0.3125 a 1.684398,1.684398 0 0 1 1.2813,0.28125 c 2.0816,1.42722 4.4575,3.29235 6.625,4.1875 1.0837,0.44757 2.0633,0.63094 2.9374,0.53125 0.8627,-0.0984 1.6764,-0.44585 2.5938,-1.375 0.01,-0.0118 0.022,-0.0195 0.031,-0.0312 2.6608,-3.43997 2.9705,-7.61463 2.625,-12.3125 -0.3431,-4.66636 -1.3766,-9.66321 -1,-14.46875 -0.9524,-14.4251 -1.1073,-29.45823 -6.7187,-42.15625 -6.4124,-5.22259 -15.7954,-5.06556 -24.4687,-5.5625 -0.021,-10e-4 -0.042,0.001 -0.063,0 z"
|
||||
id="path6039"
|
||||
style="fill:#484848;fill-opacity:1;stroke:#484848;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="m 345.6192,106.30395 c -3.4993,0.0307 -6.9607,-0.0581 -10.375,0.0312 -4.1004,0.36044 -9.0376,1.69024 -12.625,4.09375 -3.614,2.42133 -5.8704,5.68864 -5.2813,10.4375 0.4935,4.61527 3.5645,7.56447 7.6876,9.21875 4.123,1.65428 9.2633,1.8209 13.1562,0.65625 a 1.3611835,1.3611835 0 0 1 0.1562,-0.0312 c 2.8688,-0.49834 6.5939,-1.2529 9.2813,-2.71875 1.3437,-0.73292 2.3836,-1.63683 3.0313,-2.6875 0.6476,-1.05067 0.9604,-2.26047 0.6874,-3.96875 a 1.3611835,1.3611835 0 0 1 0,-0.28125 c 0.1564,-2.76724 0.3451,-6.68524 -0.375,-9.71875 -0.36,-1.51676 -0.9264,-2.77474 -1.75,-3.625 -0.8176,-0.8442 -1.8698,-1.36151 -3.5624,-1.40625 -0.012,-3.2e-4 -0.019,2.7e-4 -0.031,0 z"
|
||||
id="path6041"
|
||||
style="color:#000000;fill:url(#linearGradient6089);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22" />
|
||||
</g>
|
||||
<g
|
||||
id="g5958">
|
||||
<path
|
||||
id="path4188"
|
||||
d="m 549.36434,78.11349 c -9.4946,1.99352 -9.7027,14.03504 -9.8352,21.77668 0.1121,11.0831 -0.2095,22.9628 4.1417,33.27264 2.0054,4.85047 9.7812,4.74809 10.3195,-1.06753 4.7624,-15.20498 4.7481,-32.01281 1.4946,-47.50541 -0.983,-2.75668 -3.069,-6.35036 -6.1206,-6.47638 z"
|
||||
style="color:#000000;fill:#484848;fill-opacity:1;fill-rule:nonzero;stroke:#484848;stroke-width:38;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
id="path4190"
|
||||
d="m 499.48944,47.6175 c -6.4927,-0.34021 -9.3439,6.60543 -8.1121,12.16941 -0.5858,24.07597 -0.3292,48.31194 0.034,72.30837 1.7508,6.96484 14.895,8.48808 15.0166,-0.0712 1.2169,-13.27189 -0.274,-26.75029 0.6639,-40.10232 0.7817,-11.41478 -0.5568,-23.24296 -0.6994,-34.37618 1.5849,-5.10643 -0.4706,-11.12871 -6.9034,-9.92811 z"
|
||||
style="color:#000000;fill:#484848;fill-opacity:1;fill-rule:nonzero;stroke:#484848;stroke-width:38;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
id="path4192"
|
||||
d="m 132.42293,35.23407 c -7.6945,2.17125 -5.9206,12.79289 -6.2273,19.00216 1.6106,23.24538 0.8475,46.57408 2.1706,69.81693 0.068,7.09423 3.2021,16.90233 11.8853,16.22657 7.5709,-1.76417 5.7778,-11.8325 5.6557,-17.71589 -0.047,-7.84014 -4.5559,-19.23884 3.9165,-24.30949 7.6405,-5.37547 19.848,0.64078 18.6463,10.39069 -0.3251,8.83089 -2.0837,22.16882 7.8287,26.47493 6.4024,2.92649 10.6176,-5.21693 9.3943,-10.71096 -0.3749,-13.55442 1.2727,-30.22607 -10.711,-39.6768 -7.9735,-4.05845 -18.9828,-5.54515 -26.8307,-0.21351 -1.0372,2.42576 -6.9951,6.95054 -6.4053,1.24546 -1.6949,-15.3749 2.056,-31.45755 -2.3485,-46.40228 -1.2024,-2.63946 -4.0324,-4.45898 -6.9746,-4.12781 z"
|
||||
style="color:#000000;fill:#484848;fill-opacity:1;fill-rule:nonzero;stroke:#484848;stroke-width:38;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
id="path4194"
|
||||
d="m 442.14024,64.05759 c -10.165,-0.2579 -20.6562,1.86137 -28.1474,9.18081 -2.8958,2.05591 -1.2663,-4.94966 -4.8395,-5.01742 -5.4074,-2.93338 -11.5829,2.98762 -9.5367,8.75381 0.099,20.06919 -1.977,40.97889 3.8787,60.387 3.1796,4.95849 13.7562,4.09337 12.7037,-2.9891 1.546,-15.53942 -2.968,-32.10549 3.167,-46.86488 4.3319,-8.66318 18.41,-14.13659 25.3718,-5.90704 3.521,6.12624 -0.9752,16.78774 6.8323,20.31879 7.6504,1.3481 9.6041,-9.08157 8.825,-14.7676 -1.6539,-6.72434 -2.1565,-14.5353 -6.6544,-19.99852 -3.1376,-2.78799 -7.564,-3.22067 -11.6005,-3.09585 z"
|
||||
style="color:#000000;fill:#484848;fill-opacity:1;fill-rule:nonzero;stroke:#484848;stroke-width:38;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
id="path4196"
|
||||
d="m 442.38294,54.04595 c -0.1827,-0.005 -0.3789,0.0345 -0.5625,0.0312 -8.6942,-0.15632 -18.301,1.16995 -26.7813,5.96876 -0.368,-0.21564 -0.7676,-0.37654 -1.1562,-0.5625 l 0.031,-0.0625 c -0.2019,-0.10958 -0.4204,-0.1194 -0.625,-0.21875 -0.5569,-0.23563 -1.1103,-0.37966 -1.6874,-0.53125 -6.0741,-2.10894 -12.7994,-0.4336 -16.8438,3.34375 -3.8577,3.60298 -6.0063,9.29062 -5.1562,15.125 0.085,19.31578 -2.292,41.23535 4.3124,63.12499 l 0.4063,1.3125 0.75,1.1875 c 4.4521,6.94297 11.5862,8.53059 18,7.46875 3.2069,-0.53092 6.701,-1.89897 9.5,-5.03125 2.2725,-2.54317 3.5121,-6.27514 3.5937,-9.84375 0,-0.0435 0,-0.0816 0,-0.125 1.7478,-17.81793 -1.8544,-32.72457 2.2813,-43.375 0.6976,-1.23208 3.1856,-3.39065 5.4063,-4.03125 1.1119,-0.32077 1.7363,-0.44325 2.1874,-0.40625 0.051,0.8996 0.2789,2.71568 0.5313,6.0625 0.1821,2.41445 0.4732,5.42185 2.0313,8.8125 1.558,3.39065 4.8419,6.94014 8.8437,8.75 l 1.1563,0.5 1.2187,0.21875 c 4.1545,0.73208 8.9361,-0.28467 12.2187,-2.59375 3.2827,-2.30908 5.1358,-5.31163 6.3126,-8.0625 2.3534,-5.50175 2.5912,-10.54096 1.9374,-15.3125 l -0.062,-0.53125 -0.125,-0.5 c -1.3372,-5.43656 -1.418,-15.17693 -8.6563,-23.96874 l -0.4687,-0.59375 -0.5938,-0.53125 c -6.0316,-5.35952 -13.0425,-5.71213 -18,-5.59376 l 0,-0.0312 z m -20.9688,14.62501 c 0.3103,0.61975 0.1924,0.76755 0.063,0.28125 -0.016,-0.0599 -0.046,-0.21107 -0.063,-0.28125 z m -11.8437,14.15624 c 0.271,0.10418 0.5347,0.22752 0.8125,0.3125 l -0.125,0.21875 -0.125,0.3125 c -0.2313,0.55649 -0.3535,1.10135 -0.5625,1.65625 0.01,-0.84699 -0.01,-1.64903 0,-2.5 z"
|
||||
style="color:#000000;fill:url(#linearGradient4453);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22" />
|
||||
<path
|
||||
id="path4198"
|
||||
d="m 334.93614,43.42895 -1.125,0.0625 c -11.4541,0.68757 -31.1299,2.13948 -42.5313,20.5 l -0.6875,1.15625 -0.5312,1.21875 c -4.0155,9.09454 -1.1737,19.34928 5,25.5 -7.1006,9.03999 -10.5361,20.69833 -9.25,32.65625 -0.7932,13.71238 8.5163,26.58972 21.5624,30.34375 l -0.031,0.0625 c 14.5936,5.02387 28.3345,3.89176 40,1.875 1.1383,0.61027 2.377,1.24208 3.8438,1.84375 3.1932,1.30991 7.6804,2.60895 13.1874,1.96875 5.5071,-0.6402 11.3463,-3.71585 15.0626,-7.53125 l 0.6562,-0.6875 0.5938,-0.75 c 7.375,-9.27994 7.6766,-20.19393 7.1874,-26.8125 -0.4891,-6.61857 -1.0653,-10.99648 -1.0312,-11.375 l 0.125,-1.46875 -0.094,-1.5 c -0.9045,-13.69999 -0.4438,-31.50909 -8.6874,-49.71875 -0.8869,-3.14352 -2.6183,-4.60975 -5,-6.625 -14.193,-12.04738 -29.8012,-10.22761 -37.125,-10.65625 z m -5,69.25 c -0.6975,0.25422 -0.096,-0.059 3.5937,0.375 3.1757,0.3735 8.4922,1.29071 15.3437,0.34375 -0.042,1.60674 -0.047,3.10046 0.031,4.46875 l -1.2187,0.25 c -9.4296,1.92946 -17.7526,2.70557 -24.0626,1.71875 0.3089,-2.61777 2.5558,-6.11412 4.2813,-6.53125 l 1.0313,-0.25 1,-0.375 z"
|
||||
style="color:#000000;fill:#484848;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:38" />
|
||||
<path
|
||||
style="color:#000000;fill:#484848;fill-opacity:1;fill-rule:nonzero;stroke:#484848;stroke-width:38;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 242.86794,62.94328 c -9.8451,0.59098 -21.9234,2.57343 -27.5069,11.56498 -1.5225,3.44827 2.5155,7.16458 5.8003,4.55483 11.6876,-3.18405 25.8772,-8.64334 36.9368,-1.03196 3.4255,4.6575 3.2712,13.73214 -2.1351,16.8315 -8.1137,1.83399 -16.456,-2.50178 -24.589,0.4626 -12.7407,3.08001 -20.924,16.83116 -18.6463,29.53519 -1.221,6.03853 2.7535,11.58045 8.7182,12.59694 12.2603,4.22059 25.7141,2.25842 37.9688,-0.24909 3.9671,2.72001 9.7011,7.85911 14.3406,3.09585 6.2596,-7.87653 1.273,-19.02318 2.088,-28.06851 -0.9577,-14.50429 -1.0481,-29.91302 -7.0343,-43.1362 -7.0905,-6.01862 -17.2216,-5.6458 -25.9411,-6.15613 z"
|
||||
id="path4200" />
|
||||
<path
|
||||
id="path4202"
|
||||
d="m 132.71733,24.19589 c -0.5004,0.0152 -1.0205,0.0363 -1.5312,0.0937 l -0.9063,0.0937 -0.8437,0.25 c -4.2861,1.20943 -8.1936,4.24904 -10.375,7.56249 -2.1816,3.31346 -2.9841,6.56659 -3.4063,9.375 -0.8444,5.61682 -0.3823,10.37282 -0.4687,12.125 l -0.031,0.65625 0.062,0.625 c 1.548,22.34205 0.8033,45.46456 2.125,69.1875 5e-4,0.0505 0.031,0.10568 0.031,0.15625 0.01,0.1151 -0.01,0.22862 0,0.34375 l 0.031,0 c 0.099,4.98929 0.9665,10.43113 4.125,15.90625 3.2605,5.65198 11.0145,11.32149 19.5625,10.65625 l 0.8438,-0.0625 0.8124,-0.1875 c 4.2384,-0.98762 8.3269,-3.79564 10.625,-7.09375 2.1728,-3.63384 4.3342,-6.89183 5.1872,-10.22818 3.8402,7.13335 5.9507,8.04619 13.1566,11.44693 l 0,0.0312 c 0.059,0.0269 0.1281,0.0362 0.1875,0.0625 3.7423,1.65403 8.4312,1.97661 12.2813,0.65625 3.91101,-1.34132 6.71761,-3.90092 8.59371,-6.5 3.336,-4.62154 4.6441,-9.64143 3.9063,-15.25 -0.1718,-6.20746 0.2238,-14.23226 -1.1563,-22.8125 -1.3801,-8.58024 -5.0962,-18.36284 -13.75001,-25.1875 l -0.8437,-0.6875 -0.9688,-0.5 c -7.7653,-3.95251 -17.7087,-6.355 -27.4062,-4.09375 0.4086,-10.28331 1.089,-21.96033 -2.625,-34.5625 l -0.2188,-0.75 -0.3125,-0.71875 c -2.9167,-6.40275 -9.181,-10.82231 -16.6875,-10.59374 z m 6.0625,53.99999 c 0,0.0101 0.05,0.0315 0.062,0.0625 l -0.6245,1.46875 c 0.3311,-0.86163 0.5542,-1.56647 0.5625,-1.53125 z m 36.0625,48.28125 c 0.012,-0.004 0.019,0.005 0.031,0 l 0.063,0.3125 c -0.043,-0.19086 -0.061,-0.25465 -0.094,-0.3125 z"
|
||||
style="color:#000000;fill:url(#linearGradient4451);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22" />
|
||||
<path
|
||||
d="m 133.3461,36.09636 c -1.692,0.49428 -2.8155,1.39846 -3.625,2.625 -0.8214,1.24442 -1.3243,2.85069 -1.5938,4.625 -0.5342,3.51732 -0.1953,7.61208 -0.3438,10.8125 0,0.0285 0,0.0654 0,0.0937 1.6063,23.27388 0.8692,46.5905 2.1876,69.75 a 0.88388823,0.88388823 0 0 1 0,0.0625 c 0.033,3.4213 0.83,7.53419 2.5937,10.59375 1.7438,3.02495 4.2922,5.00636 8.2187,4.75 0.011,-7.3e-4 0.02,7.7e-4 0.031,0 1.6857,-0.39978 2.7542,-1.19719 3.5313,-2.3125 0.7819,-1.12237 1.2391,-2.59827 1.4687,-4.25 0.4593,-3.30346 2e-4,-7.22907 -0.062,-10.25 a 0.88388823,0.88388823 0 0 1 0,-0.0312 c -0.023,-3.75401 -1.179,-8.58343 -1.25,-13.1875 -0.071,-4.59014 1.0512,-9.12033 5.5625,-11.84375 0.012,-0.008 0.019,-0.023 0.031,-0.0312 8.2411,-5.75335 21.2001,0.72746 19.9687,11.1875 0,0.011 0,0.0202 0,0.0312 -4e-4,0.01 4e-4,0.0216 0,0.0312 -0.1662,4.44678 -0.6416,9.92071 0.094,14.71875 0.7386,4.81878 2.5857,8.83105 7.2188,10.84375 a 0.88388823,0.88388823 0 0 1 0.031,0 c 1.4264,0.65196 2.625,0.67804 3.6876,0.3125 1.0625,-0.36554 2.0152,-1.15367 2.7812,-2.21875 1.532,-2.13016 2.2012,-5.36524 1.6562,-7.8125 a 0.88388823,0.88388823 0 0 1 0,-0.15625 c -0.1887,-6.82351 0.1073,-14.35845 -1,-21.28125 -1.1026,-6.89383 -3.5864,-13.13587 -9.3124,-17.6875 -7.7294,-3.90433 -18.3437,-5.25802 -25.7813,-0.25 -0.7734,1.48479 -2.3237,3.00623 -4,3.78125 -0.9043,0.41808 -1.982,0.65336 -2.875,0.0312 -0.8519,-0.59346 -1.0866,-1.72753 -0.9687,-3.1875 0.01,-0.0705 -0.01,-0.11538 0,-0.1875 -1.6634,-15.48034 1.9617,-31.38045 -2.2813,-45.9375 -1.0363,-2.2749 -3.4784,-3.85945 -5.9687,-3.625 z"
|
||||
id="path4440"
|
||||
style="fill:#484848;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
id="path4206"
|
||||
d="m 500.00794,37.6397 c -0.47,-0.0246 -0.9099,0.13839 -1.375,0.15625 -0.3182,0.036 -0.6564,-0.0583 -0.9688,0 l 0,0.0937 c -5.9486,0.59666 -11.3199,4.27914 -13.8124,8.625 -2.5191,4.39212 -3.1643,9.07388 -2.4688,13.75001 -0.5691,24.07161 -0.3288,48.17845 0.031,71.96874 l 0.031,1.1875 0.2813,1.125 c 2.2758,9.05358 10.1204,12.94327 17.2812,13.3125 3.5804,0.18461 7.6057,-0.50128 11.25,-3.21875 3.4431,-2.56742 5.753,-7.21537 6.0625,-11.6875 l 0.062,0 c 0.024,-0.26477 0.01,-0.51719 0.031,-0.78125 1.2169,-14.32127 -0.1813,-27.63851 0.6563,-39.5625 0.8412,-12.28307 -0.4559,-23.97948 -0.6563,-34.18749 0.9168,-4.19732 0.7514,-8.64033 -1.75,-13.09376 -2.5398,-4.52202 -8.6787,-7.57722 -14.4374,-7.5625 -0.073,1.9e-4 -0.1457,-0.001 -0.2188,0 l 0,-0.125 z m -0.4375,10.46875 1.5625,8.375 c -0.089,0.0884 -0.5399,0.26586 -0.9688,0.50001 -0.4433,-0.17558 -0.588,-0.31717 -1.125,-0.59376 l 0.5313,-8.28125 z m 1.625,8.6875 0.125,0.65626 c 0,-5.2e-4 -0.146,-0.0578 -0.1563,-0.0625 0.013,-0.26164 0.01,-0.41632 0.031,-0.59376 z"
|
||||
style="color:#000000;fill:url(#linearGradient4449);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22" />
|
||||
<path
|
||||
id="path4208"
|
||||
d="m 499.48944,47.6175 c -6.4927,-0.34021 -9.3439,6.60543 -8.1121,12.16941 -0.5858,24.07597 -0.3292,48.31194 0.034,72.30837 1.7508,6.96484 14.895,8.48808 15.0166,-0.0712 1.2169,-13.27189 -0.274,-26.75029 0.6639,-40.10232 0.7817,-11.41478 -0.5568,-23.24296 -0.6994,-34.37618 1.5849,-5.10643 -0.4706,-11.12871 -6.9034,-9.92811 z"
|
||||
style="fill:#484848;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
id="path4210"
|
||||
d="m 544.51954,53.6313 c -7.5784,-0.46784 -10.6755,10.08558 -4.626,14.19825 6.4831,5.13984 16.9776,-2.57743 12.9884,-10.24836 -1.4384,-3.20261 -5.1136,-4.25984 -8.3624,-3.94989 z"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
id="path4212"
|
||||
d="m 66.312222,57.93009 c -17.370703,0.62829 -30.0641,20.09681 -26.023403,36.39781 2.1928,10.05075 13.8541,12.09708 22.635103,11.4922 7.1377,-0.5151 17.6041,2.45346 16.7319,11.49222 -1.8676,6.29718 -10.9897,4.97438 -16.0667,5.21679 -7.019003,0.3042 -14.551803,-2.83467 -21.309203,-1.0251 -5.546297,3.71601 -0.7698,11.63178 4.4362,13.09902 11.6204,3.85396 24.776703,2.98561 36.677203,0.52396 8.494404,-1.78465 13.976704,-9.66183 14.007304,-18.12905 0.5362,-8.45978 -0.1252,-18.85777 -9.082,-22.63511 -7.833304,-4.5437 -17.524404,-2.59996 -25.744004,-4.64578 -6.504303,-3.75215 -4.590203,-15.08325 3.2137,-15.54417 8.376,-2.645 16.5844,3.54335 24.730904,1.74653 6.8027,-2.75685 5.6777,-13.26551 -1.2924,-15.19486 C 82.177322,57.19274 73.972122,57.9802 66.312222,57.93009 Z"
|
||||
style="fill:#484848;fill-opacity:1;stroke:#484848;stroke-width:38;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
id="path4214"
|
||||
d="m 66.146122,46.92095 -0.2187,0.0312 c -25.268203,0.91394 -41.9786,26.29641 -36.375,49.71875 0,0.01 0,0.0214 0,0.0312 0.023,0.0937 0.039,0.18758 0.062,0.28125 l 0.062,0 c 1.4158,6.03031 5.2241,10.72981 9.5937,13.9375 l -1.5937,0.4375 -1.5313,1 c -3.4934,2.34058 -6.2461,6.40677 -7.0312,10.4375 -0.7852,4.03073 0.016,7.64447 1.2812,10.53125 2.4625,5.61698 6.4364,9.72109 12.843797,11.6875 l 0,0.0312 c 0.1235,0.0409 0.2514,0.0537 0.375,0.0937 0.044,0.0142 0.081,0.0484 0.125,0.0625 14.2876,4.59699 29.052403,3.33987 41.875007,0.6875 l 0.031,0 c 13.703,-2.87897 22.354804,-15.23519 22.687504,-28.1875 l 0.031,0 c 0.01,-0.1043 -0.01,-0.23849 0,-0.34375 0,-0.10511 0.031,-0.20733 0.031,-0.3125 l -0.031,0 c 0.275,-4.68022 0.3633,-10.21921 -1.4063,-16.21875 -1.6128,-5.46789 -5.6186,-11.40935 -11.718704,-15.03125 C 110.28983,79.05558 108.57813,56.15757 93.550926,50.6395 83.076822,45.62854 73.121622,46.96476 66.394622,46.92075 l -0.25,0 z M 49.927419,124.0772 c 0.4736,0.11312 0.7429,0.17483 0.6875,0.1875 -0.1379,-0.0437 -0.3009,-0.0484 -0.4375,-0.0937 l -0.25,-0.0937 z"
|
||||
style="color:#000000;fill:url(#linearGradient4447);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22" />
|
||||
<path
|
||||
d="M 67.047,59.37761 C 50.7565,60.01346 38.6203,78.63489 42.422,93.97136 a 1.4420115,1.4420115 0 0 1 0,0.0312 c 0.9874,4.52574 3.9833,7.14275 7.9688,8.71875 3.9854,1.576 8.921,1.948 13.1562,1.65625 3.8182,-0.27555 8.4163,0.35581 12.1562,2.34375 3.74,1.98794 6.6157,5.6345 6.125,10.71875 a 1.4420115,1.4420115 0 0 1 -0.062,0.28125 c -0.5618,1.89409 -1.746,3.32797 -3.1876,4.25 -1.4415,0.92203 -3.0867,1.39395 -4.7812,1.65625 -3.3889,0.5246 -7.0334,0.23046 -9.4062,0.34375 -7.4077,0.32104 -14.726,-2.60314 -20.7813,-1.09375 -0.9228,0.69289 -1.3969,1.4625 -1.5625,2.3125 -0.1806,0.92739 -0.017,2.01851 0.4688,3.125 0.9708,2.21298 3.281,4.32492 5.3437,4.90625 a 1.4420115,1.4420115 0 0 1 0.062,0 c 11.2515,3.73156 24.1465,2.93253 35.9062,0.5 7.7821,-1.63499 12.8466,-8.87337 12.875,-16.71875 a 1.4420115,1.4420115 0 0 1 0,-0.0937 c 0.2634,-4.15469 0.2008,-8.71518 -0.9374,-12.5625 -1.1383,-3.84732 -3.227,-6.9152 -7.2813,-8.625 a 1.4420115,1.4420115 0 0 1 -0.1563,-0.0937 c -7.233,-4.1955 -16.6908,-2.33856 -25.375,-4.5 a 1.4420115,1.4420115 0 0 1 -0.375,-0.15625 c -7.593,-4.38022 -5.364,-17.27483 3.5,-18.15625 l 0,-0.0312 c 0.1153,-0.0364 0.2288,-0.0291 0.3438,-0.0625 4.5012,-1.3064 8.8395,-0.37995 12.875,0.59375 4.0804,0.98454 7.88,1.92841 11.4688,1.1875 5.4755,-2.31046 4.4951,-10.8333 -1.1876,-12.40625 a 1.4420115,1.4420115 0 0 1 -0.2812,-0.0937 c -6.5535,-3.28332 -14.4405,-2.57842 -22.1875,-2.625 -0.021,-1.3e-4 -0.042,1.4e-4 -0.062,0 z"
|
||||
id="path4442"
|
||||
style="fill:#484848;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
id="path4218"
|
||||
d="m 334.91414,52.45217 -0.5624,0.0312 c -10.692,0.64182 -26.7608,2.35866 -35.4063,16.28126 l -0.375,0.59375 -0.2813,0.625 c -2.6168,5.92672 -0.4865,12.63582 3.8126,16.24999 2.47,2.0766 6.1544,2.97511 9.8124,2.75 -12.1731,7.16212 -18.9579,21.29295 -17.0937,35.5 -0.9321,10.0329 5.7963,19.42583 15.4375,21.90625 l 0,0.0312 c 13.5839,4.67628 27.0449,3.11875 38.7812,0.90625 1.4491,0.98507 3.2876,2.06677 5.5626,3 2.2748,0.93323 5.2583,1.74964 8.75,1.34375 3.4915,-0.40589 7.1195,-2.30283 9.625,-4.875 l 0.375,-0.34375 0.3124,-0.40625 c 5.3642,-6.74967 5.6479,-14.75709 5.2188,-20.5625 -0.4291,-5.80541 -1.211,-10.50221 -1,-12.84375 l 0.062,-0.78125 -0.062,-0.75 c -0.9297,-14.08097 -0.732,-30.77734 -7.9062,-46.62499 -0.4593,-1.65783 -1.3753,-2.43205 -2.625,-3.4999 -10.8288,-9.19166 -23.8588,-8.03267 -31.8438,-8.50001 l -0.5938,-0.0312 z m 22.0626,47.46875 c 0.2983,4.01025 0.663,7.89337 0.9374,12.09375 -0.3619,6.15055 0.7536,11.18085 1.0313,14.9375 0.091,1.23358 -3e-4,1.89681 -0.031,2.71875 -0.7261,-0.49389 -0.8804,-0.56988 -1.7812,-1.1875 l -3.5,-2.40625 -4.1562,0.84375 c -11.8502,2.42474 -23.4896,3.77093 -32.7188,0.59375 l -0.75,-0.25 -0.8125,-0.15625 c -0.7563,-0.12889 -0.7437,-0.008 -0.5937,-0.75 l 0.375,-1.875 -0.3438,-1.875 c -1.3223,-7.37497 4.0726,-16.31882 11.1562,-18.03125 l 0.5626,-0.15625 0.5312,-0.1875 c 1.5591,-0.56829 3.7957,-0.58273 7.6875,-0.125 3.8918,0.45773 9.2275,1.48444 15.6563,0.0312 l 1.4687,-0.34375 1.3125,-0.75 c 1.5458,-0.8862 2.8481,-1.95265 3.9688,-3.125 z"
|
||||
style="color:#000000;fill:url(#linearGradient4445);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22" />
|
||||
<path
|
||||
d="m 442.8461,65.50261 c -9.9417,-0.25223 -20.0112,1.83054 -27.125,8.78125 a 1.4249747,1.4249747 0 0 1 -0.1876,0.125 c -0.4923,0.34955 -1.0141,0.64308 -1.6874,0.65625 -0.6734,0.0132 -1.3402,-0.39879 -1.6876,-0.8125 -0.6947,-0.82743 -0.7686,-1.5945 -0.9687,-2.34375 -0.2001,-0.74925 -0.4246,-1.47139 -0.6563,-1.84375 -0.2316,-0.37236 -0.2624,-0.39819 -0.6874,-0.40625 a 1.4249747,1.4249747 0 0 1 -0.6563,-0.1875 c -2.1511,-1.16691 -4.3134,-0.58174 -5.9063,0.90625 -1.5928,1.48799 -2.4145,3.81205 -1.5937,6.125 a 1.4249747,1.4249747 0 0 1 0.094,0.46875 c 0.099,20.08519 -1.9054,40.73856 3.75,59.71875 1.2377,1.74956 4.0539,2.66609 6.4063,2.28125 1.2075,-0.19755 2.2216,-0.71247 2.8437,-1.40625 0.6222,-0.69378 0.9615,-1.54589 0.75,-2.96875 a 1.4249747,1.4249747 0 0 1 0,-0.375 c 1.5091,-15.16756 -3.1254,-31.94343 3.25,-47.28125 a 1.4249747,1.4249747 0 0 1 0.031,-0.0625 c 2.3884,-4.77662 7.2847,-8.50018 12.5937,-10.03125 5.3091,-1.53107 11.2689,-0.75156 15.1563,3.84375 a 1.4249747,1.4249747 0 0 1 0.1563,0.1875 c 2.0694,3.60071 1.6918,8.0153 1.9687,11.75 0.1385,1.86735 0.4194,3.54061 1.0313,4.875 0.5916,1.2904 1.4751,2.25734 3.0312,3 1.4606,0.20734 2.5297,-0.051 3.4375,-0.6875 0.9587,-0.67214 1.771,-1.81376 2.375,-3.21875 1.2079,-2.80999 1.508,-6.6831 1.1563,-9.25 -1.6601,-6.82503 -2.269,-14.23556 -6.2813,-19.1875 -2.6943,-2.32961 -6.6692,-2.77567 -10.5313,-2.65625 a 1.4249747,1.4249747 0 0 1 -0.062,0 z"
|
||||
id="path4436"
|
||||
style="fill:#484848;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
id="path4224"
|
||||
d="m 548.52594,68.07721 -1.2187,0.25 c -8.6956,1.82574 -14.1425,9.53796 -15.9688,15.68749 -1.8263,6.14954 -1.7462,11.84707 -1.8125,15.71875 l 0,0.125 0,0.125 c 0.1092,10.79916 -0.5536,24.0134 4.9063,37 0.01,0.0225 0.022,0.0401 0.031,0.0625 2.7726,6.62078 9.3817,9.9621 15.5625,9.5625 5.6001,-0.36206 11.8353,-5.2195 13.5,-11.53125 5.3924,-17.21633 5.3013,-35.62075 1.75,-52.53125 l -0.1563,-0.6875 -0.2187,-0.62499 c -0.7814,-2.19128 -1.853,-4.62969 -3.9375,-7.1875 -2.0845,-2.55781 -5.8401,-5.71667 -11.1875,-5.9375 l -1.25,-0.0312 z"
|
||||
style="color:#000000;fill:url(#linearGradient4443);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22" />
|
||||
<path
|
||||
d="m 550.1139,78.59636 c -4.5226,0.97522 -6.7823,4.26272 -8,8.375 -1.2232,4.13111 -1.3087,9.03503 -1.375,12.90625 0.1123,11.09592 -0.2043,22.90976 4.0938,33.09375 0.9213,2.22841 3.1731,3.32073 5.25,3.1875 2.0769,-0.13323 3.906,-1.39 4.1562,-4.09375 a 0.46475483,0.46475483 0 0 1 0.031,-0.0937 c 4.7332,-15.11164 4.7084,-31.85462 1.4687,-47.28125 -0.4788,-1.32581 -1.2248,-2.85305 -2.1874,-4.03125 -0.9629,-1.17844 -2.1146,-1.98485 -3.4376,-2.0625 z"
|
||||
id="path4438"
|
||||
style="fill:#484848;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
id="path4229"
|
||||
d="m 242.87094,52.92092 -0.5938,0.0312 c -10.6919,0.64192 -26.7607,2.35873 -35.4062,16.28131 l -0.375,0.59375 -0.2813,0.65625 c -2.6168,5.92671 -0.4864,12.60456 3.8125,16.21874 2.4771,2.0825 6.1757,2.98309 9.8438,2.75 -12.176,7.14722 -18.9659,21.26849 -17.125,35.46875 -0.9665,10.0609 5.7999,19.48906 15.4687,21.96875 l -0.031,0.0312 c 13.5891,4.67806 27.073,3.12012 38.8125,0.90625 1.4445,0.97996 3.2715,2.07302 5.5313,3 2.2749,0.93323 5.2585,1.71839 8.75,1.3125 3.4915,-0.40589 7.1509,-2.27156 9.6562,-4.84375 l 0.3438,-0.375 0.3125,-0.40625 c 5.3641,-6.74969 5.6478,-14.72585 5.2187,-20.53125 -0.4291,-5.8054 -1.2109,-10.50221 -1,-12.84375 l 0.062,-0.78125 -0.062,-0.78125 c -0.9297,-14.081 -0.7006,-30.74608 -7.875,-46.59374 l -0.9375,-2.0625 -1.7187,-1.4375 c -10.8287,-9.19167 -23.8276,-8.06392 -31.8125,-8.53126 l -0.5938,-0.0312 z m 22.0312,47.5 c 0.2974,4.00059 0.6637,7.87292 0.9375,12.0625 -0.3619,6.15055 0.7536,11.2121 1.0313,14.96875 0.091,1.22812 0,1.86766 -0.031,2.6875 -0.7261,-0.49388 -0.8805,-0.56989 -1.7813,-1.1875 l -3.5,-2.40625 -4.1562,0.875 c -11.8502,2.42475 -23.4582,3.77094 -32.6875,0.59375 l -0.7813,-0.28125 -0.8125,-0.125 c -0.7563,-0.12888 -0.7437,-0.0396 -0.5938,-0.78125 l 0.375,-1.84375 -0.3437,-1.875 c -1.3223,-7.37494 4.0726,-16.35008 11.1562,-18.0625 l 0.5625,-0.125 0.5313,-0.1875 c 1.5591,-0.56828 3.7957,-0.58273 7.6875,-0.125 3.8918,0.45773 9.2275,1.45313 15.6562,0 l 1.4688,-0.3125 1.3125,-0.75 c 1.5458,-0.8862 2.8482,-1.95265 3.9687,-3.125 z"
|
||||
style="color:#000000;fill:url(#linearGradient4441);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22" />
|
||||
<path
|
||||
d="m 243.6361,64.63031 c -9.6363,0.58398 -20.9336,2.59484 -26.0312,10.625 -0.4035,0.99026 -0.045,1.9107 0.6562,2.5 0.717,0.60234 1.4896,0.85243 2.5626,0 a 1.684398,1.684398 0 0 1 0.625,-0.3125 c 5.775,-1.5733 12.3167,-3.78461 18.9374,-4.625 6.6208,-0.84039 13.4444,-0.25925 19.4063,3.84375 a 1.684398,1.684398 0 0 1 0.375,0.375 c 2.0281,2.75755 2.9112,6.50666 2.5937,10.125 -0.3174,3.61834 -1.9072,7.25777 -5.2187,9.15625 a 1.684398,1.684398 0 0 1 -0.4687,0.1875 c -4.4561,1.00721 -8.7953,0.29068 -12.875,-0.1875 -4.0798,-0.47818 -7.8868,-0.73461 -11.5313,0.59375 a 1.684398,1.684398 0 0 1 -0.1563,0.0312 c -11.7884,2.8498 -19.5228,15.78804 -17.4062,27.59375 a 1.684398,1.684398 0 0 1 0,0.65625 c -1.0407,5.14641 2.2557,9.72666 7.3438,10.59375 a 1.684398,1.684398 0 0 1 0.2812,0.0625 c 11.7498,4.04484 24.8758,2.18109 37.0625,-0.3125 a 1.684398,1.684398 0 0 1 1.2813,0.28125 c 2.0816,1.42722 4.4575,3.29235 6.625,4.1875 1.0837,0.44757 2.0633,0.63094 2.9374,0.53125 0.8627,-0.0984 1.6764,-0.44585 2.5938,-1.375 0.01,-0.0118 0.022,-0.0195 0.031,-0.0312 2.6608,-3.43997 2.9705,-7.61463 2.625,-12.3125 -0.3431,-4.66636 -1.3766,-9.66321 -1,-14.46875 -0.9524,-14.4251 -1.1073,-29.45823 -6.7187,-42.15625 -6.4124,-5.22259 -15.7954,-5.06556 -24.4687,-5.5625 -0.021,-10e-4 -0.042,0.001 -0.063,0 z"
|
||||
id="path4426"
|
||||
style="fill:#484848;fill-opacity:1;stroke:#484848;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="m 252.9376,106.30395 c -3.4993,0.0307 -6.9607,-0.0581 -10.375,0.0312 -4.1004,0.36044 -9.0376,1.69024 -12.625,4.09375 -3.614,2.42133 -5.8704,5.68864 -5.2813,10.4375 0.4935,4.61527 3.5645,7.56447 7.6876,9.21875 4.123,1.65428 9.2633,1.8209 13.1562,0.65625 a 1.3611835,1.3611835 0 0 1 0.1562,-0.0312 c 2.8688,-0.49834 6.5939,-1.2529 9.2813,-2.71875 1.3437,-0.73292 2.3836,-1.63683 3.0313,-2.6875 0.6476,-1.05067 0.9604,-2.26047 0.6874,-3.96875 a 1.3611835,1.3611835 0 0 1 0,-0.28125 c 0.1564,-2.76724 0.3451,-6.68524 -0.375,-9.71875 -0.36,-1.51676 -0.9264,-2.77474 -1.75,-3.625 -0.8176,-0.8442 -1.8698,-1.36151 -3.5624,-1.40625 -0.012,-3.2e-4 -0.019,2.7e-4 -0.031,0 z"
|
||||
id="path5306"
|
||||
style="color:#000000;fill:url(#linearGradient4439);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22" />
|
||||
<path
|
||||
id="text4338"
|
||||
d="m 550.24144,11.97714 c -4.7431,8e-5 -9.3884,1.94508 -12.1562,5.65625 -2.3938,3.20927 -3.2655,7.28209 -3.5,11.84374 -5.2417,0.10768 -9.658,0.71067 -13.2813,2.53125 -3.7519,1.88519 -6.5576,5.75636 -6.9063,9.9375 l -0.062,0 c -0.013,0.1027 0.011,0.20947 0,0.3125 0,0.043 -0.03,0.0819 -0.031,0.125 l 0.031,0 c -0.383,3.94189 0.8037,8.08581 3.625,10.84375 1.7434,1.70445 3.9242,2.79035 6.3124,3.59375 l -0.875,2.4375 -0.062,0.125 -0.031,0.125 c -1.0239,3.32791 -0.9882,7.09444 0.8437,10.15625 1.8322,3.06181 4.9132,4.85334 8.3438,5.90625 l 0.7188,0.21875 0.75,0 2.2812,0 c 4.1038,5e-5 8.0184,-1.11288 11.1562,-3.5 1.388,-1.05587 2.5677,-2.38102 3.5938,-3.8125 2.738,2.5559 6.0541,4.80834 10,6.78125 l 0.5,0.25 0.5312,0.15625 c 3.235,0.79227 6.3972,0.95306 9.4063,-0.1875 2.9956,-1.13542 5.3523,-3.78973 6.4375,-6.71875 l 0.031,0 0,-0.0312 c 1.3188,-3.58119 1.0754,-7.65809 -0.4687,-11.1875 -0.3593,-0.82136 -0.9637,-1.56048 -1.4375,-2.34375 0.7988,-0.35352 1.5774,-0.75006 2.3125,-1.28125 3.1456,-2.2731 4.4669,-6.43958 4.1563,-10.25 l 0.031,0 c 0,-0.12851 -0.061,-0.24691 -0.062,-0.375 -0.017,-0.15367 0.023,-0.31671 0,-0.46875 l -0.062,0 c -0.2506,-3.85862 -2.6242,-7.47641 -5.875,-9.5625 -3.1968,-2.05143 -7.2278,-3.19745 -12.0625,-4.03124 -0.5947,-4.02941 -1.4462,-7.64148 -3.125,-10.53125 -2.2702,-3.9078 -6.5646,-6.71865 -11.0625,-6.71875 z m 18.3125,50.62499 c 0.2654,0.97712 0.2969,1.7705 -0.031,2.65625 l 0,0.0312 c -0.3181,0.86918 -0.3036,0.72198 -0.625,0.84375 -0.2585,0.098 -1.2073,0.14918 -2.5624,-0.0625 0.3313,-0.1475 0.7366,-0.14338 1.0312,-0.34375 l 0.4375,-0.28125 0.375,-0.40625 c 0.5814,-0.62017 0.9776,-1.55372 1.375,-2.4375 z"
|
||||
style="color:#000000;fill:#305f00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10" />
|
||||
<g
|
||||
id="text4342"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:165.01513672px;line-height:125%;font-family:'comic andy';-inkscape-font-specification:'comic andy';letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient4437);fill-opacity:1;stroke:none">
|
||||
<path
|
||||
id="path101"
|
||||
style="fill:url(#linearGradient4437);fill-opacity:1"
|
||||
d="m 550.24549,16.984496 q 8.54083,0 9.83001,16.920498 l 2.33664,0 q 15.22844,2.33664 15.0673,9.668855 1.28918,8.621397 -11.03861,7.976806 9.42713,8.299101 6.7682,15.470169 -2.09492,5.72074 -9.99116,3.786969 -8.70197,-4.350985 -12.32779,-9.991151 l -1.5309,0 q -3.3841,9.991151 -13.13353,9.991151 l -2.25606,0 q -8.13796,-2.497788 -5.88189,-9.830003 l 2.82008,-7.815659 -0.80574,0 q -11.92492,-1.692049 -10.79688,-10.555167 0.32229,-8.137954 16.35648,-8.218527 4.43155,-0.483443 3.70639,-2.820083 0,-14.583858 10.87746,-14.583858 z m -4.5927,16.034186 -0.16115,4.512133 q -0.24172,3.384099 -2.17549,3.384099 l -12.73066,0.725164 q -2.98123,0.08057 -2.98123,2.417214 0,2.256067 3.22295,2.417214 11.19976,-0.564016 10.47459,1.530902 l -2.25606,4.834428 q -5.72074,8.621396 -2.82009,10.152299 3.86754,2.33664 10.95804,-12.08607 1.69205,-1.530902 2.82008,0 4.99558,5.317871 8.21853,8.70197 3.30353,3.3841 5.31787,2.014345 2.41721,-2.578361 -1.28918,-5.559592 -3.62582,-3.061804 -8.2991,-8.379675 -0.48344,-1.772623 0.24172,-1.772623 15.79246,1.047459 15.14787,-2.014345 0.48345,-3.3841 -13.69754,-3.3841 -2.17549,0.402869 -3.54525,-1.047459 l 0,-7.896232 q 0,-6.607052 -3.14238,-6.526478 -3.3841,-0.805738 -3.30352,7.976806 z" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:#484848;fill-opacity:1;stroke:#484848;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4714"
|
||||
d="m 335.7911,64.63031 c -9.6363,0.58398 -20.9336,2.59484 -26.0312,10.625 -0.4035,0.99026 -0.045,1.9107 0.6562,2.5 0.717,0.60234 1.4896,0.85243 2.5626,0 a 1.684398,1.684398 0 0 1 0.625,-0.3125 c 5.775,-1.5733 12.3167,-3.78461 18.9374,-4.625 6.6208,-0.84039 13.4444,-0.25925 19.4063,3.84375 a 1.684398,1.684398 0 0 1 0.375,0.375 c 2.0281,2.75755 2.9112,6.50666 2.5937,10.125 -0.3174,3.61834 -1.9072,7.25777 -5.2187,9.15625 a 1.684398,1.684398 0 0 1 -0.4687,0.1875 c -4.4561,1.00721 -8.7953,0.29068 -12.875,-0.1875 -4.0798,-0.47818 -7.8868,-0.73461 -11.5313,0.59375 a 1.684398,1.684398 0 0 1 -0.1563,0.0312 c -11.7884,2.8498 -19.5228,15.78804 -17.4062,27.59375 a 1.684398,1.684398 0 0 1 0,0.65625 c -1.0407,5.14641 2.2557,9.72666 7.3438,10.59375 a 1.684398,1.684398 0 0 1 0.2812,0.0625 c 11.7498,4.04484 24.8758,2.18109 37.0625,-0.3125 a 1.684398,1.684398 0 0 1 1.2813,0.28125 c 2.0816,1.42722 4.4575,3.29235 6.625,4.1875 1.0837,0.44757 2.0633,0.63094 2.9374,0.53125 0.8627,-0.0984 1.6764,-0.44585 2.5938,-1.375 0.01,-0.0118 0.022,-0.0195 0.031,-0.0312 2.6608,-3.43997 2.9705,-7.61463 2.625,-12.3125 -0.3431,-4.66636 -1.3766,-9.66321 -1,-14.46875 -0.9524,-14.4251 -1.1073,-29.45823 -6.7187,-42.15625 -6.4124,-5.22259 -15.7954,-5.06556 -24.4687,-5.5625 -0.021,-10e-4 -0.042,0.001 -0.063,0 z" />
|
||||
<path
|
||||
style="color:#000000;fill:url(#linearGradient4435);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:22"
|
||||
id="path5310"
|
||||
d="m 345.6192,106.30395 c -3.4993,0.0307 -6.9607,-0.0581 -10.375,0.0312 -4.1004,0.36044 -9.0376,1.69024 -12.625,4.09375 -3.614,2.42133 -5.8704,5.68864 -5.2813,10.4375 0.4935,4.61527 3.5645,7.56447 7.6876,9.21875 4.123,1.65428 9.2633,1.8209 13.1562,0.65625 a 1.3611835,1.3611835 0 0 1 0.1562,-0.0312 c 2.8688,-0.49834 6.5939,-1.2529 9.2813,-2.71875 1.3437,-0.73292 2.3836,-1.63683 3.0313,-2.6875 0.6476,-1.05067 0.9604,-2.26047 0.6874,-3.96875 a 1.3611835,1.3611835 0 0 1 0,-0.28125 c 0.1564,-2.76724 0.3451,-6.68524 -0.375,-9.71875 -0.36,-1.51676 -0.9264,-2.77474 -1.75,-3.625 -0.8176,-0.8442 -1.8698,-1.36151 -3.5624,-1.40625 -0.012,-3.2e-4 -0.019,2.7e-4 -0.031,0 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 68 KiB |
BIN
doc/md/images/edit_icon.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
doc/md/images/icon.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
doc/md/images/logo.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
doc/md/images/rss-filter-1.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
doc/md/images/rss-filter-2.png
Normal file
After Width: | Height: | Size: 15 KiB |
|
@ -81,7 +81,7 @@ if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
|
|||
autoLocale($_SERVER['HTTP_ACCEPT_LANGUAGE']);
|
||||
}
|
||||
|
||||
new Languages(setlocale(LC_MESSAGES, 0), $conf);
|
||||
new Languages(get_locale(LC_MESSAGES), $conf);
|
||||
|
||||
$conf->setEmpty('general.timezone', date_default_timezone_get());
|
||||
$conf->setEmpty('general.title', t('Shared bookmarks on ') . escape(index_url($_SERVER)));
|
||||
|
|
43
package.json
|
@ -4,32 +4,37 @@
|
|||
"author": "The Shaarli Community",
|
||||
"license": "SEE LICENSE IN COPYING",
|
||||
"dependencies": {
|
||||
"awesomplete": "^1.1.2",
|
||||
"awesomplete": "^1.1.5",
|
||||
"blazy": "^1.8.2",
|
||||
"fork-awesome": "^1.1.7",
|
||||
"fork-awesome": "^1.2.0",
|
||||
"he": "^1.2.0",
|
||||
"pure-extras": "^1.0.0",
|
||||
"purecss": "^1.0.0"
|
||||
"purecss": "^3.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.11.6",
|
||||
"@babel/preset-env": "^7.11.5",
|
||||
"babel-loader": "^8.1.0",
|
||||
"css-loader": "^7.1.2",
|
||||
"eslint": "^7.9.0",
|
||||
"eslint-config-airbnb-base": "^14.2.0",
|
||||
"eslint-plugin-import": "^2.22.0",
|
||||
"file-loader": "^1.1.6",
|
||||
"mini-css-extract-plugin": "^0.11.2",
|
||||
"sass": "^1.26.11",
|
||||
"sass-loader": "^10.0.2",
|
||||
"stylelint": "^16.6.1",
|
||||
"stylelint-config-standard": "^20.0.0",
|
||||
"stylelint-scss": "^6.3.2",
|
||||
"terser-webpack-plugin": "^4.2.2",
|
||||
"webpack": "^5.92.1",
|
||||
"@babel/core": "^7.24.5",
|
||||
"@babel/preset-env": "^7.24.5",
|
||||
"babel-loader": "^9.1.3",
|
||||
"css-loader": "^7.1.1",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-airbnb-base": "^15.0.0",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"file-loader": "^6.2.0",
|
||||
"glob": "^10.3.15",
|
||||
"micromatch": "^4.0.8",
|
||||
"mini-css-extract-plugin": "^2.9.0",
|
||||
"sass": "^1.77.2",
|
||||
"sass-loader": "^14.2.1",
|
||||
"stylelint": "^16.5.0",
|
||||
"stylelint-config-standard": "^36.0.0",
|
||||
"stylelint-config-standard-scss": "^13.1.0",
|
||||
"terser-webpack-plugin": "^5.3.10",
|
||||
"webpack": "^5.94.0",
|
||||
"webpack-cli": "^5.1.4"
|
||||
},
|
||||
"resolutions": {
|
||||
"string-width": "4.2.3"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "webpack",
|
||||
"watch": "webpack --watch"
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
<div class="linkqrcode">
|
||||
<a href="#" onclick="showQrCode(this); return false;" class="qrcode" data-permalink="%s">
|
||||
<img src="%s/qrcode/qrcode.png" class="linklist-plugin-icon" title="QR-Code" alt="QRCode">
|
||||
</a>
|
||||
<img data-permalink="%s" src="%s/qrcode/qrcode.png" class="linklist-plugin-icon qrcode" title="QR-Code" alt="QRCode">
|
||||
</div>
|
||||
|
|
|
@ -51,7 +51,11 @@ function showQrCode(caller,loading)
|
|||
element.id = 'permalinkQrcode';
|
||||
|
||||
// Make QR-Code div commit sepuku when clicked:
|
||||
if ( element.attachEvent ){
|
||||
if (element.addEventListener) {
|
||||
element.addEventListener('click', function() {
|
||||
this.parentNode.removeChild(this);
|
||||
});
|
||||
} else if (element.attachEvent) {
|
||||
element.attachEvent('onclick', 'this.parentNode.removeChild(this);' );
|
||||
|
||||
} else {
|
||||
|
@ -89,3 +93,18 @@ function removeQrcode()
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Create "click" event listeners for QR-Code display action
|
||||
function setQrCodeClickEvent()
|
||||
{
|
||||
const qrcode_collec = document.getElementsByClassName("qrcode");
|
||||
|
||||
Array.from(qrcode_collec).forEach(function(element) {
|
||||
element.addEventListener('click', function() {
|
||||
showQrCode(this);
|
||||
return false;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
setQrCodeClickEvent();
|
||||
|
|
|
@ -1 +1 @@
|
|||
<?php /* 0.13.0 */ ?>
|
||||
<?php /* 0.14.0 */ ?>
|
||||
|
|
|
@ -117,24 +117,63 @@
|
|||
<button type="submit" class="search-button" aria-label="{'Search'|t}"><i class="fa fa-search" aria-hidden="true"></i></button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{if="$is_logged_in && $template === 'linklist'"}
|
||||
<div id="actions" class="subheader-form">
|
||||
<div class="pure-g">
|
||||
<div class="pure-u-1">
|
||||
<a href="" id="actions-delete" class="button">
|
||||
<i class="fa fa-trash"></i>
|
||||
<i class="fa fa-trash" aria-hidden="true"></i>
|
||||
{'Delete'|t}
|
||||
</a>
|
||||
<a href="" class="actions-change-visibility button" data-visibility="public">
|
||||
<i class="fa fa-globe"></i>
|
||||
<i class="fa fa-globe" aria-hidden="true"></i>
|
||||
{'Set public'|t}
|
||||
</a>
|
||||
<a href="" class="actions-change-visibility button" data-visibility="private">
|
||||
<i class="fa fa-user-secret"></i>
|
||||
<i class="fa fa-user-secret" aria-hidden="true"></i>
|
||||
{'Set private'|t}
|
||||
</a>
|
||||
<a href="" class="subheader-opener button" data-open-id="bulk-tag-action-add">
|
||||
<i class="fa fa-tag" aria-hidden="true"></i>
|
||||
{'Add tags'|t}
|
||||
</a>
|
||||
<a href="" class="subheader-opener button" data-open-id="bulk-tag-action-delete">
|
||||
<i class="fa fa-window-close" aria-hidden="true"></i>
|
||||
{'Delete tags'|t}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{$addDelete=['add', 'delete']}
|
||||
{loop="$addDelete"}
|
||||
<div id="bulk-tag-action-{$value}" class="subheader-form">
|
||||
<form class="pure-g" action="{$base_path}/admin/shaare/update-tags" method="post">
|
||||
<div class="pure-u-1">
|
||||
<span>
|
||||
<input
|
||||
type="text" name="tag" class="autofocus"
|
||||
aria-label="{$value === 'add' ? t('Tag to add') : t('Tag to delete')}"
|
||||
placeholder="{$value === 'add' ? t('Tag to add') : t('Tag to delete')}"
|
||||
autocomplete="off" data-multiple data-autofirst data-minChars="1"
|
||||
data-list="{loop="$tags"}{$key}, {/loop}"
|
||||
>
|
||||
<input type="hidden" name="action" value="{$value}" />
|
||||
<input type="hidden" name="id" value="" />
|
||||
<input type="hidden" name="token" value="{$token}" />
|
||||
</span>
|
||||
<a href="" class="button action">
|
||||
<i class="fa fa-tag" aria-hidden="true"></i>
|
||||
{$value === 'add' ? t('Add tag') : t('Delete tag')}
|
||||
</a>
|
||||
<a href="" class="subheader-opener button cancel" data-open-id="actions">{'Cancel'|t}</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{/loop}
|
||||
{/if}
|
||||
|
||||
{if="!$is_logged_in"}
|
||||
<form method="post" name="loginform">
|
||||
<div class="subheader-form header-login-form" id="header-login-form">
|
||||
|
|
|
@ -123,7 +123,7 @@
|
|||
<div class="pure-u-lg-1-3 pure-u-22-24 page-form page-form-light">
|
||||
<h2 class="window-title">{'Third-party resources'|t}</h2>
|
||||
<div class="tools-item">
|
||||
<a href="https://shaarli.readthedocs.io/en/master/Community-and-related-software/">
|
||||
<a href="https://shaarli.readthedocs.io/en/master/Community-and-related-software.html">
|
||||
<span class="pure-button pure-u-lg-2-3 pure-u-3-4">{'Community and related software'|t}</span>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -11,7 +11,7 @@ const TerserPlugin = require('terser-webpack-plugin');
|
|||
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
||||
|
||||
const extractCss = new MiniCssExtractPlugin({
|
||||
filename: "../css/[name].min.css",
|
||||
filename: "css/[name].min.css",
|
||||
});
|
||||
|
||||
module.exports = [
|
||||
|
@ -26,12 +26,12 @@ module.exports = [
|
|||
shaarli: [
|
||||
'./assets/default/js/base.js',
|
||||
'./assets/default/scss/shaarli.scss',
|
||||
].concat(glob.sync('./assets/default/img/*')),
|
||||
].concat(glob.sync('./assets/default/img/*', { dotRelative: true })),
|
||||
markdown: './assets/common/css/markdown.css',
|
||||
},
|
||||
output: {
|
||||
filename: '[name].min.js',
|
||||
path: path.resolve(__dirname, 'tpl/default/js/')
|
||||
filename: 'js/[name].min.js',
|
||||
path: path.resolve(__dirname, 'tpl/default/')
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
|
@ -52,9 +52,6 @@ module.exports = [
|
|||
use: [
|
||||
{
|
||||
loader: MiniCssExtractPlugin.loader,
|
||||
options: {
|
||||
publicPath: 'tpl/default/css/',
|
||||
},
|
||||
},
|
||||
'css-loader',
|
||||
'sass-loader',
|
||||
|
@ -62,23 +59,23 @@ module.exports = [
|
|||
},
|
||||
{
|
||||
test: /\.(gif|png|jpe?g|svg|ico)$/i,
|
||||
use: [
|
||||
type: 'asset/resource',
|
||||
generator: {
|
||||
filename: 'img/[name][ext]'
|
||||
}
|
||||
},
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
name: '../img/[name].[ext]',
|
||||
publicPath: 'tpl/default/img/',
|
||||
test: /webfont\.svg$/,
|
||||
type: 'asset/resource',
|
||||
generator: {
|
||||
filename: 'fonts/[name][ext]'
|
||||
}
|
||||
}
|
||||
],
|
||||
},
|
||||
{
|
||||
test: /\.(eot|ttf|woff|woff2)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
name: '../fonts/[name].[ext]',
|
||||
// do not add a publicPath here because it's already handled by CSS's publicPath
|
||||
publicPath: '../default/',
|
||||
type: 'asset/resource',
|
||||
generator: {
|
||||
filename: 'fonts/[name][ext]'
|
||||
}
|
||||
},
|
||||
],
|
||||
|
@ -98,15 +95,15 @@ module.exports = [
|
|||
'./assets/vintage/js/base.js',
|
||||
'./assets/vintage/css/reset.css',
|
||||
'./assets/vintage/css/shaarli.css',
|
||||
].concat(glob.sync('./assets/vintage/img/*')),
|
||||
].concat(glob.sync('./assets/vintage/img/*', { dotRelative: true })),
|
||||
markdown: './assets/common/css/markdown.css',
|
||||
thumbnails: './assets/common/js/thumbnails.js',
|
||||
metadata: './assets/common/js/metadata.js',
|
||||
thumbnails_update: './assets/common/js/thumbnails-update.js',
|
||||
},
|
||||
output: {
|
||||
filename: '[name].min.js',
|
||||
path: path.resolve(__dirname, 'tpl/vintage/js/')
|
||||
filename: 'js/[name].min.js',
|
||||
path: path.resolve(__dirname, 'tpl/vintage/')
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
|
@ -127,9 +124,6 @@ module.exports = [
|
|||
use: [
|
||||
{
|
||||
loader: MiniCssExtractPlugin.loader,
|
||||
options: {
|
||||
publicPath: 'tpl/vintage/css/',
|
||||
},
|
||||
},
|
||||
'css-loader',
|
||||
'sass-loader',
|
||||
|
@ -137,16 +131,10 @@ module.exports = [
|
|||
},
|
||||
{
|
||||
test: /\.(gif|png|jpe?g|svg|ico)$/i,
|
||||
use: [
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
name: '../img/[name].[ext]',
|
||||
// do not add a publicPath here because it's already handled by CSS's publicPath
|
||||
publicPath: '../vintage',
|
||||
type: 'asset/resource',
|
||||
generator: {
|
||||
filename: 'img/[name][ext]'
|
||||
}
|
||||
}
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
|
|