Compare commits
243 commits
2026-10-09
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
64c7809332 | ||
|
|
df74917cb0 | ||
|
|
ada0cccfbf | ||
|
|
e22a75974a | ||
|
|
627c7a83aa | ||
|
|
020d9e8dcb | ||
|
|
b04d8b88ac | ||
|
|
7b4827dadd | ||
|
|
fc27cb7a59 | ||
|
|
a23f0b43a6 | ||
|
|
0de92c06f8 | ||
|
|
3a656c9c4a | ||
|
|
e558c0dffa | ||
|
|
d944273335 | ||
|
|
5ea16c805f | ||
|
|
ca2301bc96 | ||
|
|
2056043104 | ||
|
|
67330ead5a | ||
|
|
7ca697348b | ||
|
|
ed119cc940 | ||
|
|
a791389c6a | ||
|
|
13e7a3baaf | ||
|
|
3bcdfc3793 | ||
|
|
396196b762 | ||
|
|
7a40ed9079 | ||
|
|
634f8115a5 | ||
|
|
54797452da | ||
|
|
d8700b2947 | ||
|
|
140fbb4484 | ||
|
|
3f7aa4ca82 | ||
|
|
75beb7f302 | ||
|
|
99422c2bf0 | ||
|
|
96f8c3a423 | ||
|
|
3fa8d78786 | ||
|
|
34201122ec | ||
|
|
d2abd645e8 | ||
|
|
ee57d740c2 | ||
|
|
2e0a718cd7 | ||
|
|
28597ef716 | ||
|
|
75d7764643 | ||
|
|
81a0b97240 | ||
|
|
624163916f | ||
|
|
94f7de42f2 | ||
|
|
7768416091 | ||
|
|
c72192fd81 | ||
|
|
9588e1960d | ||
|
|
fd2a99e897 | ||
|
|
dc4aa19d23 | ||
|
|
ada8f399f1 | ||
|
|
bc09ec6afe | ||
|
|
bfb53c5def | ||
|
|
381dd21e8c | ||
|
|
c5b776ca46 | ||
|
|
dd7ee3541c | ||
|
|
44d5138181 | ||
|
|
9f30892dff | ||
|
|
8b0c980e85 | ||
|
|
62e590d300 | ||
|
|
a1a8a59f4a | ||
|
|
94e6281d87 | ||
|
|
3cf8bdb00e | ||
|
|
5134e72eb4 | ||
|
|
b37c8b828f | ||
|
|
719863e43d | ||
|
|
d021f20d14 | ||
|
|
ce543896f5 | ||
|
|
429eb2a1fd | ||
|
|
a74dfeef6e | ||
|
|
5fe7f186d3 | ||
|
|
50a2ae9cc8 | ||
|
|
ef4574d2b9 | ||
|
|
e08402ac94 | ||
|
|
ff393b8990 | ||
|
|
00151380e3 | ||
|
|
344dbd2caa | ||
|
|
825aba953a | ||
|
|
ae43659b91 | ||
|
|
d4002dc52b | ||
|
|
f2c359ba9f | ||
|
|
52d3978f84 | ||
|
|
345b0e8ba9 | ||
|
|
78964779c6 | ||
|
|
7ca23430cd | ||
|
|
65e9f1b370 | ||
|
|
5d0d466930 | ||
|
|
edb5caec8a | ||
|
|
2335e064ac | ||
|
|
47c90cda10 | ||
|
|
4879ddbd0f | ||
|
|
c9853734ad | ||
|
|
6f0c5dca12 | ||
|
|
85fd052fdb | ||
|
|
3ccd44155d | ||
|
|
77f882ca37 | ||
|
|
674a607960 | ||
|
|
73d5a2a0ab | ||
|
|
095b135640 | ||
|
|
563833a88a | ||
|
|
4972ebcb97 | ||
|
|
94b91be5a2 | ||
|
|
93c5d85996 | ||
|
|
52c5bd2ea3 | ||
|
|
d30d275296 | ||
|
|
bbc7e462ff | ||
|
|
720adf5410 | ||
|
|
0369aaffa9 | ||
|
|
ded83aaab5 | ||
|
|
9e50c5ad6e | ||
|
|
06da7f815a | ||
|
|
5cf3358c99 | ||
|
|
d89b502342 | ||
|
|
a83d82b5e8 | ||
|
|
bf3562a85a | ||
|
|
30d3afc7b4 | ||
|
|
92d082e735 | ||
|
|
aa42cfbccc | ||
|
|
d42b9607c5 | ||
|
|
4793c1fc04 | ||
|
|
675e1f7447 | ||
|
|
858b270fa9 | ||
|
|
4d8ab54313 | ||
|
|
e6b4c51585 | ||
|
|
4ab875be48 | ||
|
|
f3fb3331d1 | ||
|
|
93309e01a2 | ||
|
|
b4e24f958a | ||
|
|
a4c4c67674 | ||
|
|
f33cfcb288 | ||
|
|
5fbc636f93 | ||
|
|
5ddfcd7ead | ||
|
|
518c7e6125 | ||
|
|
3b07b10b19 | ||
|
|
66b9338c90 | ||
|
|
77a3875c25 | ||
|
|
28c8474f03 | ||
|
|
11e2bb0d2f | ||
|
|
eac149656b | ||
|
|
e806085681 | ||
|
|
06b9ca368f | ||
|
|
67a212d677 | ||
|
|
4028606bd9 | ||
|
|
6e770eb7b2 | ||
|
|
e73dd2b520 | ||
|
|
ab13a6748f | ||
|
|
1e0fc35d94 | ||
|
|
bbc6003f0a | ||
|
|
ad4320cd7b | ||
|
|
c25a2c5c3b | ||
|
|
b85436461e | ||
|
|
f4b4365464 | ||
|
|
4980f88a7a | ||
|
|
e666a4978d | ||
|
|
c4c7cc0253 | ||
|
|
0fe4fd0d8c | ||
|
|
9980c90cea | ||
|
|
9709fe4a1a | ||
|
|
829152f388 | ||
|
|
c6f682f9cf | ||
|
|
9f59f5c495 | ||
|
|
ad0fd2d4b0 | ||
|
|
6385f3fab3 | ||
|
|
ea6af0048c | ||
|
|
46cdbac830 | ||
|
|
4343544588 | ||
|
|
4750e67b7f | ||
|
|
4974cac59a | ||
|
|
860625be4d | ||
|
|
665f7267e4 | ||
|
|
679762c624 | ||
|
|
a12b97ec50 | ||
|
|
b849a57dab | ||
|
|
4c03e0062b | ||
|
|
fe8a3f486b | ||
|
|
12587e2da9 | ||
|
|
c9650db87e | ||
|
|
890bc0d4a4 | ||
|
|
3f93e93f13 | ||
|
|
aee866b242 | ||
|
|
cc35258cdb | ||
|
|
03bfa2dcc6 | ||
|
|
c049c5c2b7 | ||
|
|
47133bcc6b | ||
|
|
5b895dc553 | ||
|
|
a1aa3d9aa9 | ||
|
|
f565910790 | ||
|
|
74ae39f0d4 | ||
|
|
33df0916a8 | ||
|
|
44155064b4 | ||
|
|
1756501ded | ||
|
|
a19e0e459a | ||
|
|
c5b24e81da | ||
|
|
2d4aa4414a | ||
|
|
72f0a8975f | ||
|
|
b231f55df4 | ||
|
|
07a699851d | ||
|
|
a331da10e8 | ||
|
|
8e391f6fa0 | ||
|
|
09846d26f3 | ||
|
|
a139084ad6 | ||
|
|
155f7b0143 | ||
|
|
ce51e7147d | ||
|
|
c99113ab0e | ||
|
|
05dcde69db | ||
|
|
17d2e8d86e | ||
|
|
be38e8d429 | ||
|
|
6c660d6b21 | ||
|
|
711386574d | ||
|
|
b11b096828 | ||
|
|
bbe438b09a | ||
|
|
456d9d9e70 | ||
|
|
213ce691dd | ||
|
|
96b0888a73 | ||
|
|
bbf0425655 | ||
|
|
fec693ca2a | ||
|
|
677692500b | ||
|
|
fea12a74e2 | ||
|
|
0c10798ef4 | ||
|
|
eefe0bd672 | ||
|
|
25c85cf0bb | ||
|
|
cce606764c | ||
|
|
24874b10cf | ||
|
|
a712553c81 | ||
|
|
bac2d285e3 | ||
|
|
96b819d7c8 | ||
|
|
8968709642 | ||
|
|
1a4d89ff8f | ||
|
|
4feb31bd1a | ||
|
|
4c5a5e3e55 | ||
|
|
5d06bb903d | ||
|
|
57a6a0d9cb | ||
|
|
f83a61979f | ||
|
|
07eb9f0103 | ||
|
|
38acddeede | ||
|
|
74a6acde91 | ||
|
|
4a010bd17f | ||
|
|
315cbae345 | ||
|
|
bdda3dedfa | ||
|
|
8822ade49d | ||
|
|
7fa6234eee | ||
|
|
efc7e7a079 | ||
|
|
be2c16eca5 | ||
|
|
b8e8f2c738 | ||
|
|
1e1f79db0d |
|
|
@ -3,12 +3,13 @@ FROM debian:12
|
|||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
clang-format \
|
||||
cmake \
|
||||
file \
|
||||
g++ \
|
||||
git \
|
||||
libcurl4-openssl-dev \
|
||||
libgl-dev \
|
||||
liblzma-dev \
|
||||
libmariadb-dev-compat \
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ RUN apt-get update && \
|
|||
build-essential \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
clang-format \
|
||||
cmake \
|
||||
file \
|
||||
g++ \
|
||||
git \
|
||||
libcurl4-openssl-dev \
|
||||
libgl-dev \
|
||||
liblzma-dev \
|
||||
libmariadb-dev-compat \
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
FROM fedora:43
|
||||
|
||||
RUN dnf install -y \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
cmake \
|
||||
gcc-c++ \
|
||||
git \
|
||||
libcurl-devel \
|
||||
mariadb-devel \
|
||||
ninja-build \
|
||||
openssl-devel \
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
FROM fedora:44
|
||||
|
||||
RUN dnf install -y \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
cmake \
|
||||
gcc-c++ \
|
||||
git \
|
||||
libcurl-devel \
|
||||
mariadb-devel \
|
||||
ninja-build \
|
||||
openssl-devel \
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ RUN apt-get update && \
|
|||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
ccache \
|
||||
clang-format \
|
||||
cmake \
|
||||
file \
|
||||
g++ \
|
||||
|
|
|
|||
|
|
@ -3,12 +3,13 @@ FROM ubuntu:24.04
|
|||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
clang-format \
|
||||
cmake \
|
||||
file \
|
||||
g++ \
|
||||
git \
|
||||
libcurl4-openssl-dev \
|
||||
libgl-dev \
|
||||
liblzma-dev \
|
||||
libmariadb-dev-compat \
|
||||
|
|
|
|||
|
|
@ -5,11 +5,12 @@ RUN apt-get update && \
|
|||
build-essential \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
clang-format \
|
||||
cmake \
|
||||
file \
|
||||
g++ \
|
||||
gcovr \
|
||||
git \
|
||||
libcurl4-openssl-dev \
|
||||
libgl-dev \
|
||||
liblzma-dev \
|
||||
libmariadb-dev-compat \
|
||||
|
|
|
|||
494
.ci/compile.sh
|
|
@ -8,14 +8,18 @@
|
|||
# --suffix <suffix> renames package with this suffix, requires arg
|
||||
# --server compiles servatrice
|
||||
# --test runs tests
|
||||
# --sanitize builds with AddressSanitizer and UndefinedBehaviorSanitizer, gcc/clang only
|
||||
# --coverage instruments the test run for line coverage and prints a gcovr summary, gcc only
|
||||
|
||||
# --debug or --release sets the build type ie CMAKE_BUILD_TYPE
|
||||
# --ccache [<size>] uses ccache and shows stats, optionally provide size
|
||||
# --evict-ccache <age> runs ccache eviction based on given age after build
|
||||
# --dir <dir> sets the name of the build dir, default is "build"
|
||||
# --cmake-generator <generator> sets CMAKE_GENERATOR as used by cmake
|
||||
# --target-macos-version <version> sets the min os version - only used for macOS builds
|
||||
# uses env: BUILDTYPE MAKE_INSTALL MAKE_PACKAGE PACKAGE_TYPE PACKAGE_SUFFIX MAKE_SERVER MAKE_NO_CLIENT MAKE_TEST USE_CCACHE CCACHE_SIZE CCACHE_EVICTION_AGE BUILD_DIR CMAKE_GENERATOR TARGET_MACOS_VERSION
|
||||
# (correspond to args: --debug/--release --install --package <package type> --suffix <suffix> --server --test --ccache <ccache_size> --dir <dir>)
|
||||
# --profile writes an MSBuild performance summary and binary log, Windows only
|
||||
# uses env: BUILDTYPE MAKE_INSTALL MAKE_PACKAGE PACKAGE_TYPE PACKAGE_SUFFIX MAKE_SERVER MAKE_NO_CLIENT MAKE_TEST USE_CCACHE CCACHE_SIZE CCACHE_EVICTION_AGE BUILD_DIR CMAKE_GENERATOR TARGET_MACOS_VERSION MAKE_SANITIZE MAKE_COVERAGE VCPKG_TARGET_MACOS_VERSION BUILD_PARALLEL_LEVEL BUILD_PROFILE
|
||||
# (correspond to args: --debug/--release --install --package <package type> --suffix <suffix> --server --test --sanitize --coverage --ccache <ccache_size> --dir <dir> --profile)
|
||||
# exitcode: 1 for failure, 3 for invalid arguments
|
||||
|
||||
# Read arguments
|
||||
|
|
@ -57,6 +61,14 @@ while [[ $# != 0 ]]; do
|
|||
MAKE_TEST=1
|
||||
shift
|
||||
;;
|
||||
'--sanitize')
|
||||
MAKE_SANITIZE=1
|
||||
shift
|
||||
;;
|
||||
'--coverage')
|
||||
MAKE_COVERAGE=1
|
||||
shift
|
||||
;;
|
||||
'--debug')
|
||||
BUILDTYPE="Debug"
|
||||
shift
|
||||
|
|
@ -104,6 +116,10 @@ while [[ $# != 0 ]]; do
|
|||
export CMAKE_GENERATOR=$1
|
||||
shift
|
||||
;;
|
||||
'--profile')
|
||||
BUILD_PROFILE=1
|
||||
shift
|
||||
;;
|
||||
'--target-macos-version')
|
||||
shift
|
||||
if [[ $# == 0 ]]; then
|
||||
|
|
@ -131,6 +147,15 @@ if [[ ! $BUILD_DIR ]]; then
|
|||
BUILD_DIR="build"
|
||||
fi
|
||||
mkdir -p "$BUILD_DIR"
|
||||
|
||||
if [[ $MAKE_COVERAGE ]]; then
|
||||
# Resolved while the working directory is still the source root. $0 is relative to the
|
||||
# directory the script was invoked from, so after the cd below it no longer resolves, and
|
||||
# under `set -e` the failed subshell would abort the build rather than just yielding an empty
|
||||
# variable. Only the coverage report needs this, so only coverage pays for it.
|
||||
SRC_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
fi
|
||||
|
||||
cd "$BUILD_DIR"
|
||||
|
||||
# Set minimum CMake Version
|
||||
|
|
@ -147,11 +172,19 @@ fi
|
|||
if [[ $MAKE_TEST ]]; then
|
||||
flags+=("-DTEST=1")
|
||||
fi
|
||||
if [[ $MAKE_SANITIZE ]]; then
|
||||
flags+=("-DENABLE_SANITIZERS=ON")
|
||||
else
|
||||
# Every leg states the flag explicitly rather than relying on the CMake
|
||||
# default, so a build directory reused from a sanitized configuration can
|
||||
# never leak libasan/libubsan into a shipped binary.
|
||||
flags+=("-DENABLE_SANITIZERS=OFF")
|
||||
fi
|
||||
if [[ $MAKE_COVERAGE ]]; then
|
||||
flags+=("-DENABLE_COVERAGE=ON")
|
||||
fi
|
||||
if [[ $USE_CCACHE ]]; then
|
||||
flags+=("-DUSE_CCACHE=1")
|
||||
# PCH-aware caching is required or ccache refuses to cache any TU that
|
||||
# consumes a precompiled header, silently recompiling everything on every run.
|
||||
ccache --set-config sloppiness=pch_defines,time_macros
|
||||
if [[ $CCACHE_SIZE ]]; then
|
||||
# note, this setting persists after running the script
|
||||
ccache --max-size "$CCACHE_SIZE"
|
||||
|
|
@ -164,6 +197,20 @@ if [[ $USE_VCPKG ]]; then
|
|||
flags+=("-DUSE_VCPKG=1")
|
||||
flags+=("-DVCPKG_INSTALL_OPTIONS=--x-abi-tools-use-exact-versions")
|
||||
fi
|
||||
if [[ ${WITH_CRASH_REPORTING:-} == "ON" ]]; then
|
||||
# Release CI opts into the sentry-native SDK (default is OFF so from-source, distro and
|
||||
# offline package builds never fetch it). Debug builds stay SDK-free so crashes from
|
||||
# developer builds never reach Sentry.
|
||||
flags+=("-DWITH_CRASH_REPORTING=ON")
|
||||
fi
|
||||
if [[ ${BUILDTYPE:-Release} == "Release" && -n ${COCKATRICE_SENTRY_DSN:-} ]]; then
|
||||
# Release-only: Debug builds stay DSN-free so crashes from developer builds
|
||||
# never reach Sentry. Empty (local builds, forks without the secret, and non-tag
|
||||
# CI builds, which never receive the secret) keeps today's mock fallback via the
|
||||
# compiled-in default. CI passes the value from the SENTRY_DSN secret on tag
|
||||
# Release builds only, so pre-release test artifacts never report to Sentry.
|
||||
flags+=("-DCOCKATRICE_SENTRY_DSN=$COCKATRICE_SENTRY_DSN")
|
||||
fi
|
||||
|
||||
# Add cmake --build flags
|
||||
buildflags=(--config "$BUILDTYPE")
|
||||
|
|
@ -178,6 +225,22 @@ function ccachestatsverbose() {
|
|||
fi
|
||||
}
|
||||
|
||||
function cpuinfo() {
|
||||
# The number of cores decides how much build parallelism is useful; the hosted
|
||||
# runners are not all sized alike, so read it off the machine instead of assuming.
|
||||
case "$RUNNER_OS" in
|
||||
Windows)
|
||||
echo "cores: ${NUMBER_OF_PROCESSORS:-unknown}"
|
||||
;;
|
||||
macOS)
|
||||
echo "cores: $(sysctl -n hw.ncpu)"
|
||||
;;
|
||||
*)
|
||||
echo "cores: $(nproc 2>/dev/null || echo unknown)"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Compile
|
||||
if [[ $RUNNER_OS == macOS ]]; then
|
||||
# QTDIR is needed for macOS since we actually only use the cached thin Qt binaries instead of the install-qt-action,
|
||||
|
|
@ -212,8 +275,14 @@ if [[ $RUNNER_OS == macOS ]]; then
|
|||
triplet_source="../vcpkg/triplets/community/$arch-osx.cmake"
|
||||
fi
|
||||
cp "$triplet_source" "$triplet_file"
|
||||
echo "set(VCPKG_CMAKE_SYSTEM_VERSION $TARGET_MACOS_VERSION)" >>"$triplet_file"
|
||||
echo "set(VCPKG_OSX_DEPLOYMENT_TARGET $TARGET_MACOS_VERSION)" >>"$triplet_file"
|
||||
# The triplet is what vcpkg hashes into the ABI hash of every port, so two legs that
|
||||
# agree here reuse each other's binary cache. Targets 14, 15 and 26 on the same Xcode
|
||||
# produce identical binaries when they share the lowest deployment target, so they all
|
||||
# build against 14 to keep one vcpkg cache scope instead of three.
|
||||
# Keep in sync with "vcpkg_scope" and "vcpkg_deployment_target" in desktop-build.yml.
|
||||
vcpkg_target="${VCPKG_TARGET_MACOS_VERSION:-$TARGET_MACOS_VERSION}"
|
||||
echo "set(VCPKG_CMAKE_SYSTEM_VERSION $vcpkg_target)" >>"$triplet_file"
|
||||
echo "set(VCPKG_OSX_DEPLOYMENT_TARGET $vcpkg_target)" >>"$triplet_file"
|
||||
flags+=("-DVCPKG_OVERLAY_TRIPLETS=$triplets_dir")
|
||||
flags+=("-DVCPKG_HOST_TRIPLET=$triplet_version")
|
||||
flags+=("-DVCPKG_TARGET_TRIPLET=$triplet_version")
|
||||
|
|
@ -239,16 +308,24 @@ if [[ $RUNNER_OS == macOS ]]; then
|
|||
|
||||
if [[ $MAKE_PACKAGE ]]; then
|
||||
# Workaround https://github.com/actions/runner-images/issues/7522
|
||||
# have hdiutil repeat the command 10 times in hope of success
|
||||
# have hdiutil repeat the command 10 times in hope of success.
|
||||
# The wrapper has to exit non-zero once it gives up: CPack reads that status to
|
||||
# decide whether the disk image was created, so a zero exit turns a failed hdiutil
|
||||
# into a much later, misleading "Problem copying the package" error that hides
|
||||
# hdiutil's own message.
|
||||
hdiutil_script="/tmp/hdiutil.sh"
|
||||
# shellcheck disable=SC2016
|
||||
echo '#!/bin/bash
|
||||
attempts=10
|
||||
i=0
|
||||
while ! hdiutil "$@"; do
|
||||
if (( ++i >= 10 )); then
|
||||
echo "Error: hdiutil failed $i times!" >&2
|
||||
break
|
||||
while true; do
|
||||
hdiutil "$@" && exit 0
|
||||
rc=$?
|
||||
if (( ++i >= attempts )); then
|
||||
echo "::error::hdiutil $1 failed $i times (last status $rc), giving up" >&2
|
||||
exit "$rc"
|
||||
fi
|
||||
echo "hdiutil $1 attempt $i/$attempts failed (status $rc), retrying" >&2
|
||||
sleep 1
|
||||
done' >"$hdiutil_script"
|
||||
chmod +x "$hdiutil_script"
|
||||
|
|
@ -256,9 +333,34 @@ if [[ $RUNNER_OS == macOS ]]; then
|
|||
fi
|
||||
|
||||
elif [[ $RUNNER_OS == Windows ]]; then
|
||||
# Enable MTT, see https://devblogs.microsoft.com/cppblog/improved-parallelism-in-msbuild/
|
||||
# and https://devblogs.microsoft.com/cppblog/cpp-build-throughput-investigation-and-tune-up/#multitooltask-mtt
|
||||
buildflags+=(-- -p:UseMultiToolTask=true -p:EnableClServerMode=true)
|
||||
if [[ $CMAKE_GENERATOR == "Visual Studio"* ]]; then
|
||||
# cmake only hands MSBuild a job count when one is asked for, and without it
|
||||
# MSBuild builds a single node: one project at a time, whatever MTT does inside
|
||||
# it. Ask for a node per core.
|
||||
if [[ ! $BUILD_PARALLEL_LEVEL ]]; then
|
||||
BUILD_PARALLEL_LEVEL="${NUMBER_OF_PROCESSORS:-1}"
|
||||
fi
|
||||
buildflags+=(--parallel "$BUILD_PARALLEL_LEVEL")
|
||||
|
||||
# Enable MTT, see https://devblogs.microsoft.com/cppblog/improved-parallelism-in-msbuild/
|
||||
# and https://devblogs.microsoft.com/cppblog/cpp-build-throughput-investigation-and-tune-up/#multitooltask-mtt
|
||||
# EnforceProcessCountAcrossBuilds makes the CL_MPCount ceiling apply across all
|
||||
# the projects the nodes are building, instead of each node running its own
|
||||
# cl.exe processes and /m and MTT multiplying into an oversubscribed machine.
|
||||
buildflags+=(-- -p:UseMultiToolTask=true -p:EnableClServerMode=true -p:EnforceProcessCountAcrossBuilds=true -p:CL_MPCount="$BUILD_PARALLEL_LEVEL")
|
||||
if [[ $BUILD_PROFILE ]]; then
|
||||
# A performance summary says which projects and tasks cost what, the binary log
|
||||
# keeps the full timeline; both are far too noisy to always produce. The files
|
||||
# land next to the solution, i.e. in the build dir the workflow uploads. These
|
||||
# join the MTT options above, which already carried the "--" separator.
|
||||
buildflags+=("-flp:PerformanceSummary;v=q;LogFile=msbuild-perf.log" -bl:msbuild.binlog)
|
||||
fi
|
||||
else
|
||||
# Ninja runs the compiler itself, so it neither takes the MSBuild switches
|
||||
# (it rejects -p: options outright) nor a job count: it sizes its own pool
|
||||
# for the cores it finds.
|
||||
echo "ninja $(ninja --version)"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $USE_CCACHE ]]; then
|
||||
|
|
@ -273,11 +375,35 @@ echo "Running cmake with flags: ${flags[*]}"
|
|||
cmake .. "${flags[@]}"
|
||||
echo "::endgroup::"
|
||||
|
||||
if [[ $USE_CCACHE ]]; then
|
||||
# PCH-aware caching is required or ccache refuses to cache any TU that consumes a
|
||||
# precompiled header, silently recompiling everything on every run. The mtime and ctime
|
||||
# entries cover files created during the build itself: the moc/uic/rcc output and the
|
||||
# protobuf headers are generated after ccache starts, so without them every TU including
|
||||
# one is read as a race and never cached. Checked-out sources are older than the compile
|
||||
# that follows them and do not trip the check.
|
||||
#
|
||||
# This has to run after configure: CMakeLists.txt sets sloppiness=pch_defines,time_macros
|
||||
# at configure time, and --set-config replaces the whole list rather than extending it, so
|
||||
# setting it earlier would leave the build below with two entries. Re-asserting all four
|
||||
# here is what actually reaches the compiler; the order is the point.
|
||||
ccache --set-config sloppiness=pch_defines,time_macros,include_file_mtime,include_file_ctime
|
||||
fi
|
||||
|
||||
echo "::group::Build project"
|
||||
cpuinfo
|
||||
echo "Running cmake --build with flags: ${buildflags[*]}"
|
||||
cmake --build . "${buildflags[@]}"
|
||||
echo "::endgroup::"
|
||||
|
||||
if [[ $BUILD_PROFILE && $RUNNER_OS == Windows && -f msbuild-perf.log ]]; then
|
||||
# Repeat the summary in the job log so the numbers are readable without
|
||||
# downloading the binary log, which is hundreds of megabytes.
|
||||
echo "::group::MSBuild performance summary"
|
||||
cat msbuild-perf.log
|
||||
echo "::endgroup::"
|
||||
fi
|
||||
|
||||
if [[ $USE_CCACHE ]]; then
|
||||
if [[ $CCACHE_EVICTION_AGE ]]; then
|
||||
echo "::group::evict ccache files older than $CCACHE_EVICTION_AGE"
|
||||
|
|
@ -306,7 +432,250 @@ fi
|
|||
|
||||
if [[ $MAKE_TEST ]]; then
|
||||
echo "::group::Run tests"
|
||||
ctest -C "$BUILDTYPE" --output-on-failure
|
||||
if [[ $MAKE_SANITIZE ]]; then
|
||||
# detect_leaks=0: Qt and the sanitizers' own runtimes both leak at exit by design, and
|
||||
# LeakSanitizer's default is aggressive enough to bury our real findings under hundreds
|
||||
# of process-teardown reports. Malloc/free misuse and use-after-free are what ASan is for
|
||||
# and they stay fully on.
|
||||
# abort_on_error=1: a bad access leaves the process in an unusable state, so continuing
|
||||
# only produces a second, more confusing report from the wreckage.
|
||||
# UBSAN halt_on_error=1: without it UBSan prints "runtime error: ..." but the
|
||||
# process exits 0 (recover mode), so gtest/ctest report a pass and the job
|
||||
# stays green. Combined with -fno-sanitize-recover=undefined at compile time,
|
||||
# the first finding aborts the test process with a non-zero exit.
|
||||
export ASAN_OPTIONS="detect_leaks=0:abort_on_error=1:print_stacktrace=1:symbolize=1"
|
||||
export UBSAN_OPTIONS="print_stacktrace=1:halt_on_error=1:symbolize=1"
|
||||
fi
|
||||
# Every TEST() is its own CTest entry, so the suite is process-spawn bound rather than CPU
|
||||
# bound and -j recovers nearly all of the per-process overhead. The test binaries are safe to
|
||||
# run concurrently: the only one that claims a fixed resource is single_instance_manager_test,
|
||||
# which already scopes its local socket name to its own pid so parallel copies cannot collide.
|
||||
ctest -C "$BUILDTYPE" --output-on-failure -j "${CTEST_JOBS:-4}"
|
||||
echo "::endgroup::"
|
||||
fi
|
||||
|
||||
if [[ $MAKE_COVERAGE ]]; then
|
||||
# gcovr is not a build dependency and is not available everywhere, so a missing one is reported
|
||||
# and skipped rather than failing an otherwise green build.
|
||||
echo "::group::Coverage report"
|
||||
GCOVR="$(command -v gcovr || true)"
|
||||
if [[ -z $GCOVR ]]; then
|
||||
echo "gcovr not found; install it to produce a coverage report"
|
||||
else
|
||||
"$GCOVR" --version
|
||||
# This script configures with `cmake ..`, so the build dir it was started from is the object
|
||||
# directory and the source root is one level up. Both are passed explicitly: gcovr otherwise
|
||||
# walks the current directory and trips over in-tree build directories left by other tooling,
|
||||
# whose stale .gcno files cannot be resolved. --config is named too, so the filters apply no
|
||||
# matter what directory gcovr happens to start from.
|
||||
GCOVR_ARGS=("." --root "$SRC_ROOT" --object-directory "." --config "$SRC_ROOT/gcovr.cfg")
|
||||
"$GCOVR" "${GCOVR_ARGS[@]}" --txt --decisions
|
||||
"$GCOVR" "${GCOVR_ARGS[@]}" --html-details coverage-details.html --html-title "Cockatrice line coverage"
|
||||
"$GCOVR" "${GCOVR_ARGS[@]}" --lcov -o coverage.lcov
|
||||
"$GCOVR" "${GCOVR_ARGS[@]}" --cobertura-pretty -o coverage.xml
|
||||
"$GCOVR" "${GCOVR_ARGS[@]}" --json-summary-pretty -o coverage-summary.json
|
||||
echo "Coverage artifacts written to coverage-details.html, coverage.lcov, coverage.xml and coverage-summary.json"
|
||||
fi
|
||||
echo "::endgroup::"
|
||||
fi
|
||||
|
||||
if [[ $RUNNER_OS == Windows && ! $MAKE_NO_CLIENT ]]; then
|
||||
echo "::group::Probe the installer's holder lookup"
|
||||
# The working directory is still the build dir here: the package steps below are what
|
||||
# leave and re-enter it, and that is what made a $BUILD_DIR-prefixed path name
|
||||
# build/build. Both paths are relative to the dir the probe was built into.
|
||||
probe="./installer-holder-probe.exe"
|
||||
if [[ ! -f $probe ]]; then
|
||||
echo "::error file=$0::installer-holder-probe.exe was not built"
|
||||
exit 1
|
||||
fi
|
||||
# The probe exists to name a holder that a process-and-module scan cannot see: one
|
||||
# that has a file open without having loaded it. Holding a temporary DLL with
|
||||
# FileShare.None is exactly that case, so this asserts the reason the probe was
|
||||
# added instead of only that the Restart Manager answers at all. It needs no NSIS
|
||||
# and no packaging, so it runs on every Windows build that gets this far.
|
||||
# The holder is a process of its own: the probe never names the process that started it,
|
||||
# which is what keeps an in-place uninstaller from being named as a holder of the
|
||||
# directory it is emptying. The same DLL held by the script that starts the probe
|
||||
# therefore has to come back as nothing, and that is the second case below.
|
||||
probe_check="./holder-probe-check.ps1"
|
||||
cat >"$probe_check" <<'POWERSHELL'
|
||||
$ErrorActionPreference = "Stop"
|
||||
$dir = Join-Path ([IO.Path]::GetTempPath()) "cockatrice-holder-probe-$PID"
|
||||
Remove-Item -Recurse -Force $dir -ErrorAction SilentlyContinue
|
||||
New-Item -ItemType Directory -Force $dir | Out-Null
|
||||
$probe = (Resolve-Path -LiteralPath $env:PROBE_EXE).Path
|
||||
|
||||
function Invoke-Probe([string] $guardDir) {
|
||||
$start = New-Object System.Diagnostics.ProcessStartInfo
|
||||
$start.FileName = $probe
|
||||
$start.UseShellExecute = $false
|
||||
$start.RedirectStandardOutput = $true
|
||||
$start.EnvironmentVariables["COCKATRICE_GUARD_DIR"] = $guardDir
|
||||
$process = [System.Diagnostics.Process]::Start($start)
|
||||
$read = $process.StandardOutput.ReadToEndAsync()
|
||||
if (-not $process.WaitForExit(20000)) {
|
||||
try { $process.Kill() } catch { }
|
||||
throw "the holder probe did not finish within 20 s for $guardDir"
|
||||
}
|
||||
$output = $read.Result
|
||||
$code = $process.ExitCode
|
||||
$process.Dispose()
|
||||
return @{ Code = $code; Output = $output }
|
||||
}
|
||||
|
||||
function Wait-UntilLocked([string] $path) {
|
||||
$deadline = (Get-Date).AddSeconds(15)
|
||||
while ((Get-Date) -lt $deadline) {
|
||||
try {
|
||||
$open = [IO.File]::Open($path, "Open", "ReadWrite", "None")
|
||||
$open.Dispose()
|
||||
} catch {
|
||||
return
|
||||
}
|
||||
Start-Sleep -Milliseconds 100
|
||||
}
|
||||
throw "the holder never locked $path"
|
||||
}
|
||||
|
||||
try {
|
||||
$file = Join-Path $dir "locked.dll"
|
||||
[IO.File]::WriteAllText($file, "x")
|
||||
|
||||
# The holder is a process of its own, not this script: the probe never names the process
|
||||
# that started it (the case below asserts that), so a file held here would be left out on
|
||||
# purpose and the check would pass for the wrong reason.
|
||||
$holderScript = Join-Path $dir "hold.ps1"
|
||||
Set-Content -LiteralPath $holderScript -Value @'
|
||||
param([string] $Path)
|
||||
$handle = [IO.File]::Open($Path, "Open", "ReadWrite", "None")
|
||||
Start-Sleep -Seconds 120
|
||||
'@
|
||||
$powershell = Join-Path $env:SystemRoot "System32\WindowsPowerShell\v1.0\powershell.exe"
|
||||
$holder = Start-Process -FilePath $powershell -PassThru -ArgumentList @(
|
||||
"-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "`"$holderScript`"", "-Path", "`"$file`"")
|
||||
try {
|
||||
Wait-UntilLocked $file
|
||||
$locked = Invoke-Probe $dir
|
||||
if ($locked.Code -ne 1) { throw "expected exit 1 for a locked file, got $($locked.Code) : $($locked.Output)" }
|
||||
if ($locked.Output -notmatch "pid\s+$($holder.Id)\b") {
|
||||
throw "the lookup did not name the process holding the file: $($locked.Output)"
|
||||
}
|
||||
} finally {
|
||||
try { $holder.Kill() } catch { }
|
||||
try { $holder.WaitForExit(5000) | Out-Null } catch { }
|
||||
}
|
||||
|
||||
# The probe is started by the installer, or by an uninstaller that runs in place from the
|
||||
# directory it is emptying, so the asking process holds files there itself. Naming it would
|
||||
# ask the user to close the program that is asking - a question neither the close nor the
|
||||
# end offer can answer, so the guard repeated it until the update was cancelled. A holder
|
||||
# that is only the asking process has to come back as nothing.
|
||||
$handle = [IO.File]::Open($file, "Open", "ReadWrite", "None")
|
||||
try {
|
||||
$self = Invoke-Probe $dir
|
||||
} finally {
|
||||
$handle.Dispose()
|
||||
}
|
||||
if ($self.Code -ne 0) { throw "expected exit 0 when the asking process is the only holder, got $($self.Code) : $($self.Output)" }
|
||||
if ($self.Output -match "pid\s+$PID\b") { throw "the lookup named the process that started it: $($self.Output)" }
|
||||
|
||||
# A payload executable that refuses to be replaced is running, whether or not this probe
|
||||
# may name it: the Restart Manager does not report every mapping, and the image path of a
|
||||
# process under another account cannot be read from here, so both process lookups can
|
||||
# come back empty while the program is still there. Held here by the asking process, so
|
||||
# that it cannot be named - the answer has to be "could not name it", never "nothing is
|
||||
# holding it", which is what sent an update into an uninstall that could only fail
|
||||
# halfway. Exit 3 is the code the guard answers by asking the user to close it and retry.
|
||||
$image = Join-Path $dir "oracle.exe"
|
||||
[IO.File]::WriteAllText($image, "x")
|
||||
$handle = [IO.File]::Open($image, "Open", "ReadWrite", "None")
|
||||
try {
|
||||
$unnameable = Invoke-Probe $dir
|
||||
} finally {
|
||||
$handle.Dispose()
|
||||
}
|
||||
if ($unnameable.Code -ne 3) {
|
||||
throw "expected exit 3 for a payload executable that is in use but cannot be named, got $($unnameable.Code) : $($unnameable.Output)"
|
||||
}
|
||||
if ($unnameable.Output -notmatch "oracle\.exe is in use") {
|
||||
throw "the answer did not name the executable it could not replace: $($unnameable.Output)"
|
||||
}
|
||||
|
||||
$empty = Join-Path $dir "empty"
|
||||
New-Item -ItemType Directory -Force $empty | Out-Null
|
||||
$nothing = Invoke-Probe $empty
|
||||
if ($nothing.Code -ne 0) { throw "expected exit 0 for a directory with nothing open, got $($nothing.Code) : $($nothing.Output)" }
|
||||
# A process running from the directory is a holder even when it has no file open: an
|
||||
# instance holds its payload as mapped images, not as handles, and that is the state
|
||||
# the guard used to miss - it passed, the purge failed, and the install ended in a
|
||||
# warning with no offer to close and try again. The image is a copy of a native
|
||||
# Windows program, so it starts without its usual directory next to it, and it carries
|
||||
# one of the payload's own names because that is what the lookup names.
|
||||
$copy = Join-Path $dir "cockatrice.exe"
|
||||
Copy-Item -LiteralPath (Join-Path $env:SystemRoot "System32\cmd.exe") -Destination $copy
|
||||
$running = Start-Process -FilePath $copy -ArgumentList "/c", "ping -n 20 127.0.0.1 >nul" -PassThru
|
||||
try {
|
||||
Start-Sleep -Milliseconds 1500
|
||||
$byImage = Invoke-Probe $dir
|
||||
} finally {
|
||||
try { $running.Kill() } catch { }
|
||||
# Wait for the image to be released, or the cleanup below leaves the copy behind.
|
||||
try { $running.WaitForExit(5000) | Out-Null } catch { }
|
||||
}
|
||||
if ($byImage.Code -ne 1) { throw "expected exit 1 for a process running from the directory, got $($byImage.Code) : $($byImage.Output)" }
|
||||
if ($byImage.Output -notmatch "cockatrice\.exe \(pid\s+$($running.Id)") {
|
||||
throw "the lookup did not name the process running from the directory: $($byImage.Output)"
|
||||
}
|
||||
|
||||
# A program in a folder below the directory is not an instance of the installation, even
|
||||
# when it carries a payload program's name: the install directory can be a folder the
|
||||
# user keeps other applications in, each in its own subfolder, and naming one of those
|
||||
# asked for a close the probe never sends and an end it refuses to perform, so the guard
|
||||
# could only abort the update. A program that really does hold a payload file is still
|
||||
# named, by the Restart Manager lookup exercised above.
|
||||
$nested = Join-Path $dir "other"
|
||||
New-Item -ItemType Directory -Force $nested | Out-Null
|
||||
$nestedImage = Join-Path $nested "cockatrice.exe"
|
||||
Copy-Item -LiteralPath (Join-Path $env:SystemRoot "System32\cmd.exe") -Destination $nestedImage
|
||||
$nestedRunning = Start-Process -FilePath $nestedImage -ArgumentList "/c", "ping -n 20 127.0.0.1 >nul" -PassThru
|
||||
try {
|
||||
Start-Sleep -Milliseconds 1500
|
||||
$inSubfolder = Invoke-Probe $dir
|
||||
} finally {
|
||||
try { $nestedRunning.Kill() } catch { }
|
||||
try { $nestedRunning.WaitForExit(5000) | Out-Null } catch { }
|
||||
}
|
||||
if ($inSubfolder.Code -ne 0) {
|
||||
throw "expected exit 0 for a program in a folder below the directory, got $($inSubfolder.Code) : $($inSubfolder.Output)"
|
||||
}
|
||||
|
||||
# A program the user keeps in the directory itself is not a payload program either: the
|
||||
# guard ends only what the payload installs, and naming anything else asks for an answer
|
||||
# that cannot free a single file.
|
||||
$foreign = Join-Path $dir "tool.exe"
|
||||
Copy-Item -LiteralPath (Join-Path $env:SystemRoot "System32\cmd.exe") -Destination $foreign
|
||||
$foreignRunning = Start-Process -FilePath $foreign -ArgumentList "/c", "ping -n 20 127.0.0.1 >nul" -PassThru
|
||||
try {
|
||||
Start-Sleep -Milliseconds 1500
|
||||
$ignored = Invoke-Probe $dir
|
||||
} finally {
|
||||
try { $foreignRunning.Kill() } catch { }
|
||||
try { $foreignRunning.WaitForExit(5000) | Out-Null } catch { }
|
||||
}
|
||||
if ($ignored.Code -ne 0) {
|
||||
throw "expected exit 0 for a program the payload does not install, got $($ignored.Code) : $($ignored.Output)"
|
||||
}
|
||||
Write-Host "holder lookup named pid $($holder.Id) for a file another process holds, named nothing for a file only the asking process holds, reported a payload executable it could not name as in use instead of free, named nothing for an empty directory, named pid $($running.Id) for a payload program running from the directory, and named nothing for a payload program in a folder below it or for a program the payload does not install"
|
||||
} finally {
|
||||
Remove-Item -Recurse -Force $dir -ErrorAction SilentlyContinue
|
||||
}
|
||||
POWERSHELL
|
||||
if ! PROBE_EXE="$probe" powershell -NoProfile -File "$probe_check"; then
|
||||
rm -f "$probe_check"
|
||||
exit 1
|
||||
fi
|
||||
rm -f "$probe_check"
|
||||
echo "::endgroup::"
|
||||
fi
|
||||
|
||||
|
|
@ -353,15 +722,21 @@ if [[ $MAKE_PACKAGE ]]; then
|
|||
fi
|
||||
echo "Installer content is clean"
|
||||
|
||||
# Fail the build if the installer is missing a Qt runtime the applications
|
||||
# link against. The DLLs reach the package by globbing every *.dll out of
|
||||
# the build output directories, so a module the client links statically
|
||||
# (Qt6Multimedia.dll, Qt6QuickWidgets.dll) can be left out without anything
|
||||
# else noticing, and the only symptom is a client that refuses to start
|
||||
# after an update. required-qt-runtime.txt is written by the top level
|
||||
# CMakeLists.txt from the same module list the targets are built against.
|
||||
if [[ ! -f required-qt-runtime.txt ]]; then
|
||||
echo "::error file=$0::required-qt-runtime.txt not found in the build dir, cannot verify the Qt runtime"
|
||||
# Fail the build if the installer does not carry the runtime the
|
||||
# applications link against - a file that must be there, or a DLL that must
|
||||
# not be. The runtime DLLs reach the package by globbing every *.dll out of
|
||||
# the build output directories, so anything that build produced can ride
|
||||
# along and nothing else in the build objects to it: a Qt module the client
|
||||
# links statically (Qt6Multimedia.dll, Qt6QuickWidgets.dll) can be left out,
|
||||
# and the test framework's gtest.dll can be shipped. Either only surfaces on
|
||||
# a user's machine after an update has already replaced their install, as
|
||||
# "The code execution cannot proceed because Qt6Multimedia.dll was not
|
||||
# found" or "abseil_dll.dll is either not designed to run on Windows or it
|
||||
# contains an error". required-runtime.txt is written by the top level
|
||||
# CMakeLists.txt from the same module lists the targets are built against
|
||||
# plus the vcpkg bin directory the app-local copies come from.
|
||||
if [[ ! -f required-runtime.txt ]]; then
|
||||
echo "::error file=$0::required-runtime.txt not found in the build dir, cannot verify the runtime"
|
||||
exit 1
|
||||
fi
|
||||
# 7-Zip writes CRLF on Windows, so the \r has to come off before any
|
||||
|
|
@ -371,7 +746,7 @@ if [[ $MAKE_PACKAGE ]]; then
|
|||
# being a wildcard; -i because that is how the installed tree behaves -
|
||||
# the uninstaller clears both $INSTDIR\plugins and $INSTDIR\Plugins.
|
||||
# The archive side and the manifest side have to agree on line endings.
|
||||
# CMake writes required-qt-runtime.txt with the platform's line ending and
|
||||
# CMake writes required-runtime.txt with the platform's line ending and
|
||||
# 7-Zip writes CRLF on Windows, so a trailing \r survives on $entry and
|
||||
# defeats the whole-line match - every entry then reads as missing even
|
||||
# though the listing holds it verbatim.
|
||||
|
|
@ -380,7 +755,7 @@ if [[ $MAKE_PACKAGE ]]; then
|
|||
installer_paths="$("$seven_zip" l -slt "$package" | tr -d '\r' |
|
||||
sed -n 's/^Path = //p' |
|
||||
sed -e 's|\\|/|g' -e 's|^[$]INSTDIR/||' -e 's|^[$]OUTDIR/||' -e 's|^[$]PLUGINSDIR/||' -e 's|^\./||' -e 's|^/||')"
|
||||
manifest="$(tr -d '\r' <required-qt-runtime.txt)"
|
||||
manifest="$(tr -d '\r' <required-runtime.txt)"
|
||||
missing=""
|
||||
checked=0
|
||||
while IFS= read -r entry; do
|
||||
|
|
@ -393,11 +768,11 @@ if [[ $MAKE_PACKAGE ]]; then
|
|||
fi
|
||||
done <<<"$manifest"
|
||||
if [[ -n $missing ]]; then
|
||||
echo "::error file=$0::Installer is missing required Qt runtime files:$missing"
|
||||
echo "::error file=$0::Installer is missing required runtime files:$missing"
|
||||
# Print both sides of the comparison. A mismatch here has twice been
|
||||
# caused by the shape of 7-Zip's output rather than by a missing file,
|
||||
# and a bare "missing" line cannot tell those apart.
|
||||
echo "required-qt-runtime.txt asked for $checked path(s); 7-Zip listed $(grep -c '' <<<"$installer_paths") path(s)"
|
||||
echo "required-runtime.txt asked for $checked path(s); 7-Zip listed $(grep -c '' <<<"$installer_paths") path(s)"
|
||||
# Indent with parameter expansion rather than sed 's/^/ /', which the
|
||||
# linter reports as SC2001.
|
||||
echo "--- required ---"
|
||||
|
|
@ -407,7 +782,66 @@ if [[ $MAKE_PACKAGE ]]; then
|
|||
echo "${listed_head//$'\n'/$'\n '}"
|
||||
exit 1
|
||||
fi
|
||||
echo "Installer contains the full Qt runtime ($checked files)"
|
||||
echo "Installer carries the Qt runtime of every module the three applications link ($checked files)"
|
||||
|
||||
# Now the other direction: a top level DLL in the package that the manifest
|
||||
# does not name. The missing check above cannot see a runtime that was
|
||||
# never expected.
|
||||
#
|
||||
# Two things are reported here and neither may fail the build.
|
||||
#
|
||||
# The test framework is a fact rather than a guess - no shipped executable
|
||||
# links gtest or gmock, and the build output directories the "*.dll" glob
|
||||
# reads are shared with the test targets, so gtest.dll and gmock.dll are
|
||||
# one filter away from shipping in every release. Even so it is reported
|
||||
# instead of enforced: a check that has never passed on a real package has
|
||||
# not earned the right to block a release, and the first Windows run of an
|
||||
# enforcing version is exactly when its own wrong assumptions show up.
|
||||
#
|
||||
# Everything else is expected to be there. required-runtime.txt names the
|
||||
# Qt modules the three applications link, and the protobuf, Abseil,
|
||||
# OpenSSL, liblzma, ffmpeg and Qt debug DLLs in the package come in on the
|
||||
# build output glob instead, because nothing in the build declares them by
|
||||
# name. So this list is a report of what the package carries, not a verdict.
|
||||
# Read it when a dependency is added; do not fail on it.
|
||||
forbidden=""
|
||||
unexpected=""
|
||||
while IFS= read -r entry; do
|
||||
[[ -z $entry ]] && continue
|
||||
# Top level only. A DLL under Plugins/ or a nested image format plugin is
|
||||
# a plugin the platform loads by name, not a runtime the executable
|
||||
# imports, and requiring one here would list all of them every run.
|
||||
[[ $entry == */* ]] && continue
|
||||
if grep -qxiF "$entry" <<<"$manifest"; then
|
||||
continue
|
||||
fi
|
||||
# NSIS extracts its plugins to $PLUGINSDIR, which the path normalization
|
||||
# above strips, so they arrive here looking like payload files. They are
|
||||
# part of the installer, not of the installed tree.
|
||||
if [[ $entry == [Nn][Ss][Dd][Ii][Aa][Ll][Oo][Gg][Ss].dll ||
|
||||
$entry == [Nn][Ss][Ee][Xx][Ee][Cc].dll ||
|
||||
$entry == [Ss][Yy][Ss][Tt][Ee][Mm].dll ||
|
||||
$entry == [Uu][Ss][Ee][Rr][Ii][Nn][Ff][Oo].dll ||
|
||||
$entry == [Ii][Nn][Ee][Tt].dll ]]; then
|
||||
continue
|
||||
fi
|
||||
if [[ $entry == [Gg][Tt][Ee][Ss][Tt]* || $entry == [Gg][Mm][Oo][Cc][Kk]* ]]; then
|
||||
forbidden+=" $entry"
|
||||
else
|
||||
unexpected+=" $entry"
|
||||
fi
|
||||
done < <(grep -i '\.dll$' <<<"$installer_paths")
|
||||
if [[ -n $forbidden ]]; then
|
||||
echo "::warning file=$0::Installer contains test framework DLLs that no shipped executable links:$forbidden"
|
||||
echo "A build output directory shared with the test targets has leaked into the package."
|
||||
fi
|
||||
if [[ -n $unexpected ]]; then
|
||||
echo "Top level DLLs in the package beyond the linked Qt modules:$unexpected"
|
||||
echo "These arrive on the build output glob, not from required-runtime.txt, so they are reported and not required."
|
||||
fi
|
||||
if [[ -z $forbidden && -z $unexpected ]]; then
|
||||
echo "Installer carries no runtime files beyond the linked Qt modules"
|
||||
fi
|
||||
fi
|
||||
echo "::endgroup::"
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -13,11 +13,17 @@
|
|||
# --set-cache <location> sets the location to cache the image or for ccache
|
||||
#
|
||||
# requires: docker
|
||||
# uses env: NAME CACHE BUILD GET SAVE INTERACTIVE
|
||||
# uses env: NAME IMAGE_SUFFIX CACHE BUILD GET SAVE INTERACTIVE
|
||||
# (correspond to args: <name> --set-cache <cache> --build --get --save --interactive)
|
||||
# sets env: RUN CCACHE_DIR IMAGE_NAME RUN_ARGS RUN_OPTS BUILD_SCRIPT
|
||||
# exitcode: 1 for failure, 2 for missing dockerfile, 3 for invalid arguments
|
||||
#
|
||||
# IMAGE_SUFFIX is optional and only appended to the image name, never to NAME, so that a matrix
|
||||
# leg can have its own image and image cache without needing its own directory under .ci. Two legs
|
||||
# building and tagging the same image concurrently would race on `docker build --tag`.
|
||||
# It is deliberately not called SUFFIX: compile.sh already uses SUFFIX for output file names, and
|
||||
# a job-level SUFFIX would be silently overridden by those per-step env blocks.
|
||||
#
|
||||
# exported RUN function will run the BUILD_SCRIPT inside of the docker container.
|
||||
# note that the docker container will not inherit any environment variables!
|
||||
#
|
||||
|
|
@ -81,7 +87,7 @@ if ! [[ $NAME ]]; then
|
|||
return 3
|
||||
fi
|
||||
|
||||
export IMAGE_NAME="${project_name,,}_${NAME,,}" # lower case
|
||||
export IMAGE_NAME="${project_name,,}_${NAME,,}${IMAGE_SUFFIX:+_${IMAGE_SUFFIX,,}}" # lower case
|
||||
|
||||
docker_dir=".ci/$NAME"
|
||||
if ! [[ -r $docker_dir/Dockerfile ]]; then
|
||||
|
|
@ -169,6 +175,12 @@ function RUN ()
|
|||
args+=(--mount "type=bind,source=$GITHUB_OUTPUT,target=/gh_output")
|
||||
args+=(--env "GITHUB_OUTPUT=/gh_output")
|
||||
fi
|
||||
# The container does not inherit host env vars: without this, WITH_CRASH_REPORTING=ON set in
|
||||
# the workflow never reaches compile.sh inside the container, so the Linux packages silently
|
||||
# build with crash reporting OFF while the libcurl packages in the Dockerfiles go unused.
|
||||
if [[ ${WITH_CRASH_REPORTING:-} ]]; then
|
||||
args+=(--env "WITH_CRASH_REPORTING=${WITH_CRASH_REPORTING}")
|
||||
fi
|
||||
# shellcheck disable=2086
|
||||
docker run "${args[@]}" $RUN_ARGS "$IMAGE_NAME" bash "$BUILD_SCRIPT" $RUN_OPTS "$@"
|
||||
return $?
|
||||
|
|
|
|||
2
.github/workflows/codeql.yml
vendored
|
|
@ -60,8 +60,10 @@ jobs:
|
|||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
cmake \
|
||||
g++ \
|
||||
libcurl4-openssl-dev \
|
||||
libgl-dev \
|
||||
liblzma-dev \
|
||||
libmariadb-dev-compat \
|
||||
|
|
|
|||
800
.github/workflows/desktop-build.yml
vendored
10
.github/workflows/docker-release.yml
vendored
|
|
@ -84,12 +84,18 @@ jobs:
|
|||
password: ${{ github.token }}
|
||||
|
||||
# Don't push for non-publishing triggers
|
||||
#
|
||||
# The layer cache shares the repository's 10 GB Actions cache quota with the compiler
|
||||
# caches (see CCACHE_SIZE in desktop-build.yml). mode=min keeps only the final image
|
||||
# stage: the build stage sits behind `COPY . .`, so its compile layer is invalidated by
|
||||
# every source change and was never read back, yet it was the bulk of the ~2 GB this
|
||||
# cache held. The final runtime stage is the part that still pays off.
|
||||
- name: "Build image"
|
||||
if: steps.login.outcome != 'success'
|
||||
uses: docker/build-push-action@v7
|
||||
with:
|
||||
cache-from: type=gha,scope=${{ env.CACHE_SCOPE }}
|
||||
cache-to: ${{ case(github.ref == 'refs/heads/master', format('type=gha,mode=max,scope={0}', env.CACHE_SCOPE), '') }}
|
||||
cache-to: ${{ case(github.ref == 'refs/heads/master', format('type=gha,mode=min,scope={0}', env.CACHE_SCOPE), '') }}
|
||||
context: .
|
||||
platforms: ${{ matrix.platform }}
|
||||
push: false
|
||||
|
|
@ -101,7 +107,7 @@ jobs:
|
|||
uses: docker/build-push-action@v7
|
||||
with:
|
||||
cache-from: type=gha,scope=${{ env.CACHE_SCOPE }}
|
||||
cache-to: type=gha,mode=max,scope=${{ env.CACHE_SCOPE }}
|
||||
cache-to: type=gha,mode=min,scope=${{ env.CACHE_SCOPE }}
|
||||
context: .
|
||||
labels: |
|
||||
org.opencontainers.image.description=${{ env.OCI_DESCRIPTION }}
|
||||
|
|
|
|||
12
.github/workflows/documentation-build.yml
vendored
|
|
@ -28,12 +28,13 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: "Checkout code"
|
||||
- name: "Checkout"
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: "Install Graphviz"
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt-get install -y graphviz
|
||||
dot -V
|
||||
|
|
@ -44,6 +45,7 @@ jobs:
|
|||
version: "1.18.0"
|
||||
|
||||
- name: "Update Doxygen Configuration"
|
||||
shell: bash
|
||||
run: |
|
||||
git diff Doxyfile
|
||||
doxygen -u Doxyfile
|
||||
|
|
@ -58,9 +60,10 @@ jobs:
|
|||
|
||||
- name: "Generate Documentation"
|
||||
if: always()
|
||||
shell: bash
|
||||
run: doxygen Doxyfile
|
||||
|
||||
- name: "Deploy to cockatrice.github.io"
|
||||
- name: "Deploy to cockatrice.github.io/docs"
|
||||
if: github.event_name == 'release' || github.event_name == 'workflow_dispatch'
|
||||
uses: peaceiris/actions-gh-pages@v4
|
||||
with:
|
||||
|
|
@ -69,3 +72,8 @@ jobs:
|
|||
external_repository: Cockatrice/cockatrice.github.io
|
||||
publish_branch: master
|
||||
publish_dir: ./docs/html
|
||||
|
||||
- name: Link to Documentation Page
|
||||
if: github.event_name == 'release' || github.event_name == 'workflow_dispatch'
|
||||
shell: bash
|
||||
run: echo "::notice title=New documentation published::Shortly available at https://cockatrice.github.io/docs/"
|
||||
|
|
|
|||
123
.github/workflows/vcpkg-cache-import.yml
vendored
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
name: Import vcpkg cache
|
||||
|
||||
# After a runner image update changes every port's ABI hash, the first master run
|
||||
# rebuilds protobuf, openssl and abseil from source and saves them into the shared
|
||||
# cache, where every later run can restore them.
|
||||
#
|
||||
# Only master pushes and the nightly schedule run on master are imported here: the
|
||||
# collect step, keys.txt and the zip contents all come from the workflow run being
|
||||
# imported, so importing from an unmerged pull request would let anyone who can push
|
||||
# a branch — or a bot actor such as Dependabot, whose PRs are same-repo — promote
|
||||
# arbitrary binaries into the scope that master and tag builds restore and link into
|
||||
# signed releases. Forks build untrusted code and must never reach that scope either.
|
||||
# A scheduled run is the default branch at the commit a master push already built, so
|
||||
# it carries the same trust as a push.
|
||||
#
|
||||
# repository_dispatch is not used on purpose: it would also resolve to the default branch,
|
||||
# but it counts as a low-trust trigger and may only write there when it declares a
|
||||
# write-capable cache-mode, which puts it in the same position as workflow_run.
|
||||
|
||||
permissions:
|
||||
actions: write # needed to save entries into the default branch's cache scope
|
||||
contents: read
|
||||
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: ["Build Desktop"]
|
||||
types: [completed]
|
||||
|
||||
# Every import writes the same scopes, so let them queue instead of racing each other
|
||||
concurrency:
|
||||
group: vcpkg-cache-import
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
list:
|
||||
name: List new vcpkg entries
|
||||
# Only a successful push to the default branch has archives worth importing.
|
||||
# Only code that landed on master may populate the scope master runs restore.
|
||||
# Bot actors are excluded on top: their runs must never promote binaries into
|
||||
# the shared scope even if they somehow target the default branch.
|
||||
if: >-
|
||||
github.event.workflow_run.conclusion == 'success' &&
|
||||
(github.event.workflow_run.event == 'push' || github.event.workflow_run.event == 'schedule') &&
|
||||
github.event.workflow_run.head_branch == 'master' &&
|
||||
github.event.workflow_run.head_repository.full_name == github.repository &&
|
||||
!endsWith(github.event.workflow_run.actor.login, '[bot]') &&
|
||||
!endsWith(github.event.workflow_run.triggering_actor.login, '[bot]')
|
||||
runs-on: ubuntu-slim # https://github.com/actions/runner-images/blob/main/images/ubuntu-slim/ubuntu-slim-Readme.md
|
||||
# workflow_run is a low-trust trigger, so cache access is read-only by default even
|
||||
# though this run resolves to the default branch. Assert below that this took effect,
|
||||
# because a save under read-only access only warns and would import nothing silently.
|
||||
cache-mode: write
|
||||
outputs:
|
||||
entries: ${{ steps.scan.outputs.entries }}
|
||||
|
||||
steps:
|
||||
- name: "Download new vcpkg entries"
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
pattern: vcpkg-new-*
|
||||
path: incoming
|
||||
run-id: ${{ github.event.workflow_run.id }}
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: "Assert write access"
|
||||
shell: bash
|
||||
run: |
|
||||
if [[ $ACTIONS_CACHE_MODE != *write* ]]; then
|
||||
echo "::error::expected a write-capable cache, got '$ACTIONS_CACHE_MODE'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: "List cache entries"
|
||||
id: scan
|
||||
shell: bash
|
||||
working-directory: incoming
|
||||
run: |
|
||||
entries="$(find . -name keys.txt -type f -exec sh -c '
|
||||
for manifest; do
|
||||
artifact="$(basename "$(dirname "$manifest")")"
|
||||
while read -r key path; do
|
||||
printf "{\"artifact\": \"%s\", \"key\": \"%s\", \"path\": \"%s\"}\n" \
|
||||
"$artifact" "$key" "$path"
|
||||
done <"$manifest"
|
||||
done
|
||||
' _ {} +)"
|
||||
[[ -n $entries ]] || exit 0
|
||||
# Compact, because a multi line value cannot be written to GITHUB_OUTPUT
|
||||
entries="$(jq -cs '.' <<<"$entries")"
|
||||
echo "entries=$entries" >>"$GITHUB_OUTPUT"
|
||||
echo "::notice::importing $(jq length <<<"$entries") vcpkg entries"
|
||||
|
||||
save:
|
||||
name: "Save ${{ matrix.entry.key }}"
|
||||
needs: list
|
||||
if: needs.list.outputs.entries
|
||||
runs-on: ubuntu-slim
|
||||
cache-mode: write
|
||||
strategy:
|
||||
# One job per archive, they run in parallel and each only uploads a single file
|
||||
fail-fast: false
|
||||
max-parallel: 20
|
||||
matrix:
|
||||
entry: ${{ fromJSON(needs.list.outputs.entries) }}
|
||||
|
||||
steps:
|
||||
- name: "Download new vcpkg entries"
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
pattern: ${{ matrix.entry.artifact }}
|
||||
path: incoming
|
||||
run-id: ${{ github.event.workflow_run.id }}
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: "Save vcpkg entry"
|
||||
uses: actions/cache/save@v6
|
||||
with:
|
||||
# The payload is a Windows or macOS archive while the upload runs on Linux, and
|
||||
# without this the entry would be stamped as a Linux cache that neither of them
|
||||
# is allowed to restore.
|
||||
enableCrossOsArchive: true
|
||||
key: ${{ matrix.entry.key }}
|
||||
path: incoming/${{ matrix.entry.path }}
|
||||
3
.gitmodules
vendored
|
|
@ -4,3 +4,6 @@
|
|||
[submodule "doxygen-awesome-css"]
|
||||
path = doc/doxygen/theme
|
||||
url = https://github.com/jothepro/doxygen-awesome-css.git
|
||||
[submodule "external/qttesting"]
|
||||
path = external/qttesting
|
||||
url = https://github.com/Kitware/QtTesting.git
|
||||
|
|
|
|||
16
.tx/github_integration_config.yml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# Integration Docs: https://help.transifex.com/en/articles/6265125-github-installation-and-configuration#h_de29ef5cec
|
||||
# Config Parameter: https://help.transifex.com/en/articles/6265125-github-installation-and-configuration#h_a734c3e219
|
||||
# Supported Files: https://help.transifex.com/en/collections/3519116-file-formats
|
||||
|
||||
filters:
|
||||
- filter_type: file
|
||||
file_format: QT
|
||||
source_language: en
|
||||
source_file: cockatrice/cockatrice_en@source.ts
|
||||
translation_files_expression: cockatrice/translations/cockatrice_<lang>.ts
|
||||
|
||||
- filter_type: file
|
||||
file_format: QT
|
||||
source_language: en
|
||||
source_file: oracle/oracle_en@source.ts
|
||||
translation_files_expression: oracle/translations/oracle_<lang>.ts
|
||||
159
CMakeLists.txt
|
|
@ -20,11 +20,25 @@ option(WITH_CLIENT "Build Cockatrice client" ON)
|
|||
option(WITH_ORACLE "Build Cockatrice card database tool (Oracle)" ON)
|
||||
# Compile Servatrice
|
||||
option(WITH_SERVER "Build Cockatrice server (Servatrice)" OFF)
|
||||
# Compile GUI tests (QtTesting widget-level playback)
|
||||
option(WITH_GUI_TEST "Build the QtTesting-based GUI test harness" OFF)
|
||||
# Compile tests
|
||||
option(TEST "Build tests" OFF)
|
||||
# Build with AddressSanitizer and UndefinedBehaviorSanitizer
|
||||
option(ENABLE_SANITIZERS "Build with AddressSanitizer and UndefinedBehaviorSanitizer" OFF)
|
||||
# Build instrumented for GCC line coverage, reported with gcovr
|
||||
option(ENABLE_COVERAGE "Build instrumented for GCC line coverage" OFF)
|
||||
# Use vcpkg regardless of OS
|
||||
option(USE_VCPKG "Use vcpkg regardless of OS" OFF)
|
||||
|
||||
# The GUI test harness lives in a submodule; a checkout without it must still configure.
|
||||
if(WITH_GUI_TEST AND NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/external/qttesting/CMakeLists.txt")
|
||||
message(WARNING "WITH_GUI_TEST is ON but external/qttesting is missing, so GUI tests are disabled.\n"
|
||||
"Run 'git submodule update --init external/qttesting' to enable them."
|
||||
)
|
||||
set(WITH_GUI_TEST OFF)
|
||||
endif()
|
||||
|
||||
# Default to "Release" build type
|
||||
# User-provided value for CMAKE_BUILD_TYPE must be checked before the PROJECT() call
|
||||
if(DEFINED CMAKE_BUILD_TYPE)
|
||||
|
|
@ -51,6 +65,10 @@ if(USE_CCACHE AND NOT WIN32)
|
|||
# PCH-aware caching, matching .ci/compile.sh: without this ccache refuses
|
||||
# to cache any TU that consumes a precompiled header, so every PCH-backed
|
||||
# target recompiles from scratch on each build.
|
||||
# The include_file_mtime/include_file_ctime entries that CI also sets are
|
||||
# deliberately not set here: --set-config writes the user's global
|
||||
# ccache.conf, and those two would turn off the modified-during-compile
|
||||
# check for every project on the machine, not just this one.
|
||||
execute_process(COMMAND ${CCACHE_PROGRAM} --set-config sloppiness=pch_defines,time_macros)
|
||||
message(STATUS "Found CCache ${CCACHE_PROGRAM}")
|
||||
endif()
|
||||
|
|
@ -67,6 +85,8 @@ if(WIN32 OR USE_VCPKG)
|
|||
)
|
||||
# Qt path set by user or env var
|
||||
if(QTDIR
|
||||
OR QTDIR32
|
||||
OR QTDIR64
|
||||
OR DEFINED ENV{QTDIR}
|
||||
OR DEFINED ENV{QTDIR32}
|
||||
OR DEFINED ENV{QTDIR64}
|
||||
|
|
@ -86,7 +106,7 @@ endif()
|
|||
|
||||
# A project name is needed for CPack
|
||||
# Version can be overriden by git tags, see cmake/getversion.cmake
|
||||
project("Cockatrice" VERSION 3.1.1)
|
||||
project("Cockatrice" VERSION 3.2.0)
|
||||
|
||||
# Set release name if not provided via env/cmake var
|
||||
if(NOT DEFINED GIT_TAG_RELEASENAME)
|
||||
|
|
@ -211,6 +231,13 @@ else()
|
|||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pipe")
|
||||
endif()
|
||||
|
||||
# Always included, because they define cockatrice_disable_sanitizers_for() and
|
||||
# cockatrice_disable_coverage_for() for the vendored trees. They only touch the global flags
|
||||
# when ENABLE_SANITIZERS or ENABLE_COVERAGE is on.
|
||||
include(Sanitizers)
|
||||
include(Coverage)
|
||||
include(CrashReporting)
|
||||
|
||||
# GNU systems need to define the Mersenne exponent for the RNG to compile w/o warning
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
||||
add_definitions("-DSFMT_MEXP=19937")
|
||||
|
|
@ -225,13 +252,13 @@ else()
|
|||
set(_lib_suffix 32)
|
||||
endif()
|
||||
|
||||
if(DEFINED QTDIR${_lib_suffix})
|
||||
if(NOT "${QTDIR${_lib_suffix}}" STREQUAL "")
|
||||
list(APPEND CMAKE_PREFIX_PATH "${QTDIR${_lib_suffix}}")
|
||||
elseif(DEFINED QTDIR)
|
||||
elseif(NOT "${QTDIR}" STREQUAL "")
|
||||
list(APPEND CMAKE_PREFIX_PATH "${QTDIR}")
|
||||
elseif(DEFINED ENV{QTDIR${_lib_suffix}})
|
||||
elseif(NOT "$ENV{QTDIR${_lib_suffix}}" STREQUAL "")
|
||||
list(APPEND CMAKE_PREFIX_PATH "$ENV{QTDIR${_lib_suffix}}")
|
||||
elseif(DEFINED ENV{QTDIR})
|
||||
elseif(NOT "$ENV{QTDIR}" STREQUAL "")
|
||||
list(APPEND CMAKE_PREFIX_PATH "$ENV{QTDIR}")
|
||||
endif()
|
||||
|
||||
|
|
@ -239,7 +266,22 @@ message(STATUS "Update Translations: ${UPDATE_TRANSLATIONS}")
|
|||
|
||||
include(FindQtRuntime)
|
||||
|
||||
# Reject APIs that were deprecated before the oldest Qt release we support
|
||||
# (6.4). Qt 6.5 renamed the switch, so use whichever spelling the found
|
||||
# version understands while still compiling everywhere.
|
||||
if(Qt6_VERSION VERSION_GREATER_EQUAL 6.5)
|
||||
add_compile_definitions(QT_DISABLE_DEPRECATED_UP_TO=0x060400)
|
||||
else()
|
||||
add_compile_definitions(QT_DISABLE_DEPRECATED_BEFORE=0x060400)
|
||||
endif()
|
||||
|
||||
# Set once here for every target: these variables are inherited by the
|
||||
# subdirectories, so the per-directory copies were redundant. Only the
|
||||
# variables are set; qt_standard_project_setup would also change the runtime
|
||||
# output directories and the install RPATH.
|
||||
set(CMAKE_AUTOMOC TRUE)
|
||||
set(CMAKE_AUTOUIC TRUE)
|
||||
set(CMAKE_AUTORCC TRUE)
|
||||
|
||||
# Find other needed libraries
|
||||
find_package(Protobuf CONFIG)
|
||||
|
|
@ -317,7 +359,7 @@ if(UNIX)
|
|||
endif()
|
||||
elseif(WIN32)
|
||||
set(CPACK_GENERATOR NSIS ${CPACK_GENERATOR})
|
||||
if("${CMAKE_GENERATOR_PLATFORM}" MATCHES "(x64)")
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(TRICE_IS_64_BIT 1)
|
||||
else()
|
||||
set(TRICE_IS_64_BIT 0)
|
||||
|
|
@ -326,38 +368,63 @@ elseif(WIN32)
|
|||
# Configure file with custom definitions for NSIS.
|
||||
configure_file("${COCKATRICE_CMAKE_PATH}/NSIS.definitions.nsh.in" "${PROJECT_BINARY_DIR}/NSIS.definitions.nsh")
|
||||
|
||||
# Every Qt module the client links against, as the DLL names a Windows install
|
||||
# has to contain, plus the platform plugin without which the client cannot
|
||||
# start. .ci/compile.sh reads this and fails the build when the packaged
|
||||
# installer is missing one of them.
|
||||
# Installer-log sender for the AbortInstall Sentry hook (values parsed out of COCKATRICE_SENTRY_DSN in
|
||||
# cmake/CrashReporting.cmake). Generated only when a DSN was parsed: cmake/NSIS.template.in embeds it under
|
||||
# the same CPACK_SENTRY_ENABLED check, so a build without reporting never references or carries the helper.
|
||||
if(CPACK_SENTRY_ENABLED)
|
||||
configure_file(
|
||||
"${COCKATRICE_CMAKE_PATH}/SendInstallerLog.ps1.in" "${PROJECT_BINARY_DIR}/SendInstallerLog.ps1" @ONLY
|
||||
)
|
||||
endif()
|
||||
|
||||
# Every runtime DLL a Windows install has to contain, as paths relative to the
|
||||
# install root. .ci/compile.sh reads this and fails the build when the packaged
|
||||
# installer is missing one of them, or carries a runtime it does not know about.
|
||||
#
|
||||
# Only the client is packaged on Windows, so this is the client's module list
|
||||
# rather than the union across server, client and Oracle: demanding Oracle's or
|
||||
# Servatrice's modules of the client installer checks nothing about the client.
|
||||
# All three applications are packaged into the same directory on Windows, so
|
||||
# this is the union of their Qt module lists, not just the client's: Servatrice
|
||||
# contributes Qt6Sql.dll and Oracle contributes nothing the client lacks, and a
|
||||
# client-only manifest leaves Qt6Sql.dll unasserted even though servatrice.exe
|
||||
# is installed next to cockatrice.exe and cannot start without it.
|
||||
#
|
||||
# A statically linked Qt module ships no runtime DLL, so requiring one would
|
||||
# fail the package check on a static build for no reason. cockatrice/CMakeLists.txt
|
||||
# installs the runtime of every module listed here, and skips static ones the
|
||||
# same way, so the two can never disagree.
|
||||
#
|
||||
# A DLL missing from the package only surfaces on a user's machine, after an
|
||||
# update has already replaced their install, as "The code execution cannot
|
||||
# proceed because Qt6Multimedia.dll was not found" or as a missing procedure
|
||||
# entry point in a Qt6QuickWidgets.dll left over from the previous version.
|
||||
# Assert it while the installer is still being built instead.
|
||||
set(_required_qt_runtime "")
|
||||
foreach(_qt_module IN LISTS COCKATRICE_QT_MODULES)
|
||||
# Only the Qt modules, and that is deliberate. protobuf, Abseil, liblzma, zlib
|
||||
# and OpenSSL also ride in on the "*.dll" glob, and a client whose runtime is
|
||||
# absent, stale or of the wrong architecture fails to start with "abseil_dll.dll
|
||||
# is either not designed to run on Windows or it contains an error", so they
|
||||
# are exactly the files worth asserting.
|
||||
#
|
||||
# Their names cannot be derived from the vcpkg bin directory, which is what a
|
||||
# first attempt did and what a Windows build immediately refuted: bin holds
|
||||
# everything vcpkg installed, not everything the applications import. It also
|
||||
# contains gmock.dll, libprotobuf-lite.dll, libprotoc.dll, legacy.dll and three
|
||||
# pthreadVC*.dll FindThreads probes, none of which any shipped executable
|
||||
# links, so requiring them failed a build over a package that was correct.
|
||||
#
|
||||
# Deriving them from the executables' own import tables is the real answer,
|
||||
# and fixup_bundle already walks it to decide what to copy. Until that result
|
||||
# is available to CMake, requiring the vcpkg half would mean guessing names
|
||||
# again, which is what produced this bug report in the first place. So assert
|
||||
# what is derived from the build's own link lists and leave the rest to the
|
||||
# purge in cmake/NSIS.template.in, which removes every DLL regardless of name.
|
||||
set(_required_runtime "")
|
||||
foreach(_qt_module IN LISTS COCKATRICE_QT_MODULES SERVATRICE_QT_MODULES ORACLE_QT_MODULES)
|
||||
get_target_property(_qt_module_type ${_qt_module} TYPE)
|
||||
if(_qt_module_type STREQUAL "SHARED_LIBRARY")
|
||||
string(REGEX REPLACE "^Qt6::" "" _qt_component "${_qt_module}")
|
||||
list(APPEND _required_qt_runtime "Qt6${_qt_component}.dll")
|
||||
list(APPEND _required_runtime "Qt6${_qt_component}.dll")
|
||||
endif()
|
||||
endforeach()
|
||||
list(APPEND _required_qt_runtime "Plugins/platforms/qwindows.dll")
|
||||
list(REMOVE_DUPLICATES _required_qt_runtime)
|
||||
list(SORT _required_qt_runtime)
|
||||
string(REPLACE ";" "\n" _required_qt_runtime "${_required_qt_runtime}")
|
||||
file(WRITE "${PROJECT_BINARY_DIR}/required-qt-runtime.txt" "${_required_qt_runtime}\n")
|
||||
list(APPEND _required_runtime "Plugins/platforms/qwindows.dll")
|
||||
|
||||
list(REMOVE_DUPLICATES _required_runtime)
|
||||
list(SORT _required_runtime)
|
||||
string(REPLACE ";" "\n" _required_runtime "${_required_runtime}")
|
||||
file(WRITE "${PROJECT_BINARY_DIR}/required-runtime.txt" "${_required_runtime}\n")
|
||||
|
||||
# include vcredist into the package; NSIS will take care of running it
|
||||
if(VCREDISTRUNTIME_FOUND)
|
||||
|
|
@ -384,6 +451,9 @@ if(WITH_ORACLE OR WITH_CLIENT)
|
|||
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_models ${CMAKE_BINARY_DIR}/libcockatrice_models)
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_filters ${CMAKE_BINARY_DIR}/libcockatrice_filters)
|
||||
endif()
|
||||
if(WITH_CLIENT)
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/libcockatrice_game ${CMAKE_BINARY_DIR}/libcockatrice_game)
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER)
|
||||
add_subdirectory(servatrice)
|
||||
|
|
@ -395,11 +465,46 @@ if(WITH_CLIENT)
|
|||
set(CPACK_INSTALL_CMAKE_PROJECTS "Cockatrice;Cockatrice;ALL;/" ${CPACK_INSTALL_CMAKE_PROJECTS})
|
||||
endif()
|
||||
|
||||
if(WIN32 AND WITH_CLIENT)
|
||||
# Runs from the installer's $PLUGINSDIR when a purge fails, and is never installed
|
||||
# (see LogProcessesUsingInstallDir in cmake/NSIS.template.in), so it has no install
|
||||
# rules and is not part of the client's staged tree.
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/tools/installer-holder-probe ${CMAKE_BINARY_DIR}/tools/installer-holder-probe)
|
||||
endif()
|
||||
|
||||
if(WITH_ORACLE)
|
||||
add_subdirectory(oracle)
|
||||
set(CPACK_INSTALL_CMAKE_PROJECTS "Oracle;Oracle;ALL;/" ${CPACK_INSTALL_CMAKE_PROJECTS})
|
||||
endif()
|
||||
|
||||
if(WITH_GUI_TEST)
|
||||
set(QtTesting_QT_VERSION "6")
|
||||
# QtTesting registers its own unit tests when BUILD_TESTING is on. They target the
|
||||
# Qt version the harness was written for and fail on Qt 6.11 (toolbutton
|
||||
# long-press recording), and they are not Cockatrice's tests, so suppress them
|
||||
# for the duration of the subdirectory instead of painting ctest red.
|
||||
if(DEFINED BUILD_TESTING)
|
||||
set(_cockatrice_saved_build_testing ${BUILD_TESTING})
|
||||
endif()
|
||||
set(BUILD_TESTING
|
||||
OFF
|
||||
CACHE BOOL "Build the testing tree." FORCE
|
||||
)
|
||||
add_subdirectory(external/qttesting)
|
||||
if(DEFINED _cockatrice_saved_build_testing)
|
||||
set(BUILD_TESTING
|
||||
${_cockatrice_saved_build_testing}
|
||||
CACHE BOOL "Build the testing tree." FORCE
|
||||
)
|
||||
else()
|
||||
unset(BUILD_TESTING CACHE)
|
||||
endif()
|
||||
# cl.exe has no warnings-as-errors here, and it rejects -Wno-error with D8021.
|
||||
if(NOT MSVC)
|
||||
target_compile_options(qttesting PRIVATE -Wno-error)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(TEST)
|
||||
include(CTest)
|
||||
add_subdirectory(tests)
|
||||
|
|
@ -407,5 +512,5 @@ endif()
|
|||
|
||||
if(Qt6_FOUND AND Qt6_VERSION_MINOR GREATER_EQUAL 3)
|
||||
# Qt6.3+ requires project finalization to support translations
|
||||
qt6_finalize_project()
|
||||
qt_finalize_project()
|
||||
endif()
|
||||
|
|
|
|||
16
Doxyfile
|
|
@ -1066,25 +1066,11 @@ INPUT_FILE_ENCODING =
|
|||
# provided as Doxygen C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08,
|
||||
# *.f18, *.f, *.for, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice.
|
||||
|
||||
FILE_PATTERNS = *.cc \
|
||||
*.cxx \
|
||||
*.cxxm \
|
||||
*.cpp \
|
||||
FILE_PATTERNS = *.cpp \
|
||||
*.cppm \
|
||||
*.ccm \
|
||||
*.c++ \
|
||||
*.c++m \
|
||||
*.ii \
|
||||
*.ixx \
|
||||
*.ipp \
|
||||
*.i++ \
|
||||
*.inl \
|
||||
*.h \
|
||||
*.hh \
|
||||
*.hxx \
|
||||
*.hpp \
|
||||
*.h++ \
|
||||
*.markdown \
|
||||
*.md \
|
||||
*.dox \
|
||||
*.proto
|
||||
|
|
|
|||
14
README.md
|
|
@ -15,9 +15,10 @@
|
|||
---
|
||||
|
||||
<br><pre><p align='center'>
|
||||
<b>To get started with Cockatrice ⇢ [view our webpage](https://cockatrice.github.io/)</b><br>
|
||||
<b>To get support, or suggest changes to the app ⇢ [file an issue](https://github.com/Cockatrice/Cockatrice/issues) ([How?](https://github.com/Cockatrice/Cockatrice/wiki/How-to-Create-a-GitHub-Ticket-Regarding-Cockatrice))</b>
|
||||
<b>To help with development ⇢ learn [how to contribute](#contribute-)</b>
|
||||
<b>To get started with Cockatrice ⇢ [view our webpage](https://cockatrice.github.io/)</b>
|
||||
<b>To get support, or suggest changes to the app ⇢ [file an issue](https://github.com/Cockatrice/Cockatrice/issues) ([How?](https://github.com/Cockatrice/Cockatrice/wiki/How-to-Create-a-GitHub-Ticket-Regarding-Cockatrice))</b><br>
|
||||
<b>To learn about the app and its code ⇢ [read our code documentation](https://cockatrice.github.io/docs/)</b>
|
||||
<b>To help with development ⇢ learn [how to contribute](#contribute)</b>
|
||||
</pre><p><br>
|
||||
|
||||
|
||||
|
|
@ -83,7 +84,7 @@ Join our [Discord community](https://discord.gg/3Z9yzmA) to connect with other p
|
|||
|
||||
### Code
|
||||
|
||||
To contribute code to the project, please review our [guidelines](https://github.com/Cockatrice/Cockatrice/blob/master/.github/CONTRIBUTING.md) first.<br>
|
||||
To commit code to the project, please review our [Contribution Guidelines](https://github.com/Cockatrice/Cockatrice/blob/master/.github/CONTRIBUTING.md) first.<br>
|
||||
We maintain two tags for contributors to easier find issues to potentially work on:
|
||||
- [](https://github.com/Cockatrice/Cockatrice/issues?utf8=%E2%9C%93&q=is%3Aopen%20is%3Aissue%20label%3A%22Good%20first%20issue%22%20)<br>
|
||||
Issues tagged in this way provide a simple way to get started. They don't require much experience to be worked on.
|
||||
|
|
@ -95,7 +96,7 @@ We'll happily advice on how best to implement a feature, or we can show you wher
|
|||
|
||||
You can also have a look at our `Todo List` in our [Code Documentation](https://cockatrice.github.io/docs) or search the repo for [`\todo` comments](https://github.com/search?q=repo%3ACockatrice%2FCockatrice%20%5Ctodo&type=code).
|
||||
|
||||
### Documentation [](https://github.com/Cockatrice/Cockatrice/actions/workflows/documentation-build.yml?query=event%3Apush)
|
||||
### Documentation [](https://github.com/Cockatrice/Cockatrice/actions/workflows/documentation-build.yml?query=event%3Arelease+event%3Aworkflow_dispatch)
|
||||
|
||||
There are various places where useful information for different needs are maintained:
|
||||
- [Official Code Documentation](https://cockatrice.github.io/docs/)
|
||||
|
|
@ -104,7 +105,8 @@ There are various places where useful information for different needs are mainta
|
|||
- [Official README](https://github.com/Cockatrice/Cockatrice/blob/master/README.md) `This file`
|
||||
- [Official CONTRIBUTING](https://github.com/Cockatrice/Cockatrice/blob/master/.github/CONTRIBUTING.md)
|
||||
|
||||
Cockatrice tries to use the [Google Developer Documentation Style Guide](https://developers.google.com/style/) to ensure consistent documentation. We encourage you to improve the documentation by suggesting edits based on this guide.
|
||||
Cockatrice tries to use the [Google Developer Documentation Style Guide](https://developers.google.com/style/) to ensure consistent documentation.
|
||||
We encourage everybody to improve the documentation by suggesting edits based on this guide.
|
||||
|
||||
### Translation [](https://explore.transifex.com/cockatrice/cockatrice/)
|
||||
|
||||
|
|
|
|||
66
Testing/README.md
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# GUI tests
|
||||
|
||||
Widget-level playback tests for the Cockatrice client, driven by
|
||||
[QtTesting](https://github.com/Kitware/QtTesting) (`external/qttesting`, a submodule).
|
||||
Each `*_test.xml` file is a list of events that QtTesting replays against the running
|
||||
application; a test passes when every event is handled without error.
|
||||
|
||||
## Running
|
||||
|
||||
```bash
|
||||
git submodule update --init external/qttesting # once
|
||||
cmake -S . -B build/debug -DCMAKE_BUILD_TYPE=Debug -DWITH_SERVER=0 -DWITH_GUI_TEST=ON
|
||||
cmake --build build/debug -j 24
|
||||
|
||||
./Testing/run_test.sh --all # headless, offscreen
|
||||
./Testing/run_test.sh Testing/smoke_test.xml # one file
|
||||
./Testing/run_test.sh --visual Testing/smoke_test.xml # shows the window
|
||||
```
|
||||
|
||||
`WITH_GUI_TEST` is on by default; a checkout without the submodule configures with a
|
||||
warning and no harness. `COCKATRICE_BIN` points the runner at another build, and
|
||||
`TEST_TIMEOUT` (seconds, default 180) bounds a single test — a failing event inside a
|
||||
modal dialog can otherwise leave the process alive. The client also hard-exits a few
|
||||
seconds after playback returns, whatever the result.
|
||||
|
||||
The tests are **not** part of `ctest`: they need a card database and a developer's
|
||||
settings, so they stay a local loop for now.
|
||||
|
||||
## Caveats
|
||||
|
||||
- **Not hermetic.** The client reads the local settings and card database, so a test can
|
||||
pass on one machine and fail on another. Avoid asserting things that restored
|
||||
workspace state or user preferences decide (for example the number of open tabs).
|
||||
- **English labels only.** Menu entries are addressed by their (translated) text, so the
|
||||
tests expect the source language. Widgets are addressed by objectName paths, which are
|
||||
stable across translations.
|
||||
- Actions that open a dialog are followed by a `pause` event: playback continues in the
|
||||
dialog's own event loop, and the pause gives the UI time to build itself.
|
||||
- Widget paths include Qt-internal names where a QTabWidget is involved
|
||||
(`qt_tabwidget_stackedwidget`), and the deck views in a game are indexed
|
||||
(`tabbedDeckView_0`, `tabbedDeckView_1`).
|
||||
|
||||
## Writing a test
|
||||
|
||||
A test is a `<events>` list. Widgets are named by their path from the main window, e.g.
|
||||
`MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu`. Useful commands:
|
||||
|
||||
| Command | Arguments | Effect |
|
||||
|---------|-----------|--------|
|
||||
| `activate` | action or menu name | triggers a QAction (menus are opened first) |
|
||||
| `key` | Qt key code | presses that key on the focused widget |
|
||||
| `pause` | milliseconds | waits, letting the UI settle |
|
||||
| `clickCard` | `card,zone` | double click the card found in that zone (plays it from hand) |
|
||||
| `flipCard` | `card,zone` | right-click → *Turn Over* |
|
||||
| `cardAction` | `card,zone,label` | right-click → first menu entry whose label contains `label` (submenus included) |
|
||||
| `moveCard` | `card,srcZone,dstZone` | drags the card onto the destination zone |
|
||||
| `drawArrow` | `srcCard,srcZone,dstCard,dstZone` | right-drag an arrow between two cards |
|
||||
| `createToken` | `name,color,pt` | creates a token as the active local player |
|
||||
| `selectItem` | `item label` | selects the tree/list entry with that label |
|
||||
| `typeText` | `text` | types text one key event at a time |
|
||||
| `expectProperty` | `property,value` | fails playback unless the widget property matches |
|
||||
|
||||
The card, item and property commands are `pqCockatriceEventPlayer`
|
||||
(`cockatrice/src/game_graphics/pq_cockatrice_event_player.h`). They resolve cards by name
|
||||
and zone through the `QGraphicsScene` and send real mouse events at the card's current
|
||||
viewport position, so a test does not depend on the window size or screen resolution.
|
||||
69
Testing/card_actions_test.xml
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
<events>
|
||||
<!--
|
||||
Card actions (custom commands of pqCockatriceEventPlayer).
|
||||
|
||||
Exercises the context menu path (tap, counters in a submenu, flip),
|
||||
arrow drawing, and dragging a card between zones. All of it through
|
||||
mouse events on the game view, so the same file runs at any resolution.
|
||||
-->
|
||||
|
||||
<!-- ===== Two-player local game ===== -->
|
||||
<event widget="MainWindow/menubar/cockatriceMenu" command="activate" arguments="Start &local game..." />
|
||||
<event widget="MainWindow/localGameDialog/generalGroupBox/numberPlayersEdit" command="set_int" arguments="2" />
|
||||
<event widget="MainWindow/localGameDialog" command="key" arguments="16777220" />
|
||||
<event widget="MainWindow" command="pause" arguments="1000" />
|
||||
|
||||
<!-- ===== Player 1 loads a one-card deck ===== -->
|
||||
<!-- (No tab-count assertion: the restored workspace state decides how many other
|
||||
tabs exist, and the paths below already prove the game tab is there.) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_0/qt_tabwidget_stackedwidget/deckViewContainer/loadFromClipboardButton" command="activate" arguments="" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_0/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit/contentsEdit" command="typeText" arguments="1 Lightning Bolt" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_0/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit" command="keyEvent" arguments="6,16777220,67108864,,0,1" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_0/qt_tabwidget_stackedwidget/deckViewContainer/readyStartButton" command="activate" arguments="" />
|
||||
<event widget="MainWindow" command="pause" arguments="300" />
|
||||
|
||||
<!-- ===== Player 2 loads the same deck and readies up ===== -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_1/qt_tabwidget_stackedwidget/deckViewContainer/loadFromClipboardButton" command="activate" arguments="" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_1/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit/contentsEdit" command="typeText" arguments="1 Lightning Bolt" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_1/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit" command="keyEvent" arguments="6,16777220,67108864,,0,1" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_1/qt_tabwidget_stackedwidget/deckViewContainer/readyStartButton" command="activate" arguments="" />
|
||||
<event widget="MainWindow" command="pause" arguments="1000" />
|
||||
|
||||
<!-- ===== Player 1, precombat main ===== -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="300" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="300" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
|
||||
<!-- ===== A token to interact with ===== -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/gamePlayAreaWidget/gameView" command="createToken" arguments="Goblin,r,1/1" />
|
||||
<event widget="MainWindow" command="pause" arguments="1000" />
|
||||
|
||||
<!-- Tap it through the context menu -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/gamePlayAreaWidget/gameView" command="cardAction" arguments="Goblin,table,Tap / Untap" />
|
||||
<event widget="MainWindow" command="pause" arguments="300" />
|
||||
|
||||
<!-- Add a counter: the entry lives in the "Card counters" submenu -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/gamePlayAreaWidget/gameView" command="cardAction" arguments="Goblin,table,Add counter (A)" />
|
||||
<event widget="MainWindow" command="pause" arguments="300" />
|
||||
|
||||
<!-- Flip it face down -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/gamePlayAreaWidget/gameView" command="flipCard" arguments="Goblin,table" />
|
||||
<event widget="MainWindow" command="pause" arguments="300" />
|
||||
|
||||
<!-- ===== An arrow from a second token to the Goblin ===== -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/gamePlayAreaWidget/gameView" command="createToken" arguments="Elf,w,1/1" />
|
||||
<event widget="MainWindow" command="pause" arguments="1000" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/gamePlayAreaWidget/gameView" command="drawArrow" arguments="Elf,table,Goblin,table" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
|
||||
<!-- ===== Drag the Goblin into the graveyard ===== -->
|
||||
<!-- A token that leaves the battlefield is destroyed rather than moved, so
|
||||
there is nothing to drag back afterwards. -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/gamePlayAreaWidget/gameView" command="moveCard" arguments="Goblin,table,grave" />
|
||||
<event widget="MainWindow" command="pause" arguments="1000" />
|
||||
</events>
|
||||
4
Testing/deck_editor_open_test.xml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<events>
|
||||
<!-- Open a new deck editor tab from the home page -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabHome/homeWidget/homeActionsScrollArea/qt_scrollarea_viewport/homeButtonsBox/homeCreateNewDeckButton" command="activate" arguments="" />
|
||||
</events>
|
||||
14
Testing/deck_editor_search_test.xml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<events>
|
||||
<!-- Open a new visual deck editor tab from the home page -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabHome/homeWidget/homeActionsScrollArea/qt_scrollarea_viewport/homeButtonsBox/homeCreateNewDeckButton" command="activate" arguments="" />
|
||||
<!-- Type "Lightning" into the search box (keycodes for L-i-g-h-t-n-i-n-g) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabDeckEditorVisual/databaseDisplayDock/databaseDisplayDockContents/databaseDisplayWidget/searchEdit" command="key" arguments="76" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabDeckEditorVisual/databaseDisplayDock/databaseDisplayDockContents/databaseDisplayWidget/searchEdit" command="key" arguments="105" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabDeckEditorVisual/databaseDisplayDock/databaseDisplayDockContents/databaseDisplayWidget/searchEdit" command="key" arguments="103" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabDeckEditorVisual/databaseDisplayDock/databaseDisplayDockContents/databaseDisplayWidget/searchEdit" command="key" arguments="104" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabDeckEditorVisual/databaseDisplayDock/databaseDisplayDockContents/databaseDisplayWidget/searchEdit" command="key" arguments="116" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabDeckEditorVisual/databaseDisplayDock/databaseDisplayDockContents/databaseDisplayWidget/searchEdit" command="key" arguments="110" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabDeckEditorVisual/databaseDisplayDock/databaseDisplayDockContents/databaseDisplayWidget/searchEdit" command="key" arguments="105" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabDeckEditorVisual/databaseDisplayDock/databaseDisplayDockContents/databaseDisplayWidget/searchEdit" command="key" arguments="110" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabDeckEditorVisual/databaseDisplayDock/databaseDisplayDockContents/databaseDisplayWidget/searchEdit" command="key" arguments="103" />
|
||||
</events>
|
||||
11
Testing/dialog_lifecycle_test.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<events>
|
||||
<!-- Open and close Settings dialog (modal exec) -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="cockatriceMenu" />
|
||||
<event widget="MainWindow/menubar/cockatriceMenu" command="activate" arguments="actionSettings" />
|
||||
<event widget="MainWindow/settingsDialog" command="key" arguments="16777216" />
|
||||
|
||||
<!-- Open and close About dialog (modal exec) -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="helpMenu" />
|
||||
<event widget="MainWindow/menubar/helpMenu" command="activate" arguments="&About Cockatrice" />
|
||||
<event widget="MainWindow/aboutDialog" command="key" arguments="16777216" />
|
||||
</events>
|
||||
101
Testing/game_mechanics_test.xml
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
<events>
|
||||
<!--
|
||||
Tier 7: Game Mechanics
|
||||
Tests: play cards (clickCard), flip cards (flipCard),
|
||||
create tokens (createToken), draw arrows (drawArrow).
|
||||
All interactions are pure UI mouse events through the QGraphicsView viewport.
|
||||
-->
|
||||
|
||||
<!-- ===== Start a local 2-player game ===== -->
|
||||
<event widget="MainWindow/menubar/cockatriceMenu" command="activate" arguments="Start &local game..." />
|
||||
<!-- Force two players so both deck views exist, independent of the user's settings -->
|
||||
<event widget="MainWindow/localGameDialog/generalGroupBox/numberPlayersEdit" command="set_int" arguments="2" />
|
||||
<event widget="MainWindow/localGameDialog" command="key" arguments="16777220" />
|
||||
|
||||
<!-- ===== Player 1: Load 3-card deck ===== -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_0/qt_tabwidget_stackedwidget/deckViewContainer/loadFromClipboardButton" command="activate" arguments="" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_0/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit/contentsEdit" command="keyEvent" arguments="6,65,67108864,,0,1" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_0/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit/contentsEdit" command="typeText" arguments="3 Lightning Bolt" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_0/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit" command="keyEvent" arguments="6,16777220,67108864,,0,1" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_0/qt_tabwidget_stackedwidget/deckViewContainer/readyStartButton" command="activate" arguments="" />
|
||||
<event widget="MainWindow" command="pause" arguments="300" />
|
||||
|
||||
<!-- ===== Player 2: Load same deck ===== -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_1/qt_tabwidget_stackedwidget/deckViewContainer/loadFromClipboardButton" command="activate" arguments="" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_1/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit/contentsEdit" command="keyEvent" arguments="6,65,67108864,,0,1" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_1/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit/contentsEdit" command="typeText" arguments="3 Lightning Bolt" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_1/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit" command="keyEvent" arguments="6,16777220,67108864,,0,1" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_1/qt_tabwidget_stackedwidget/deckViewContainer/readyStartButton" command="activate" arguments="" />
|
||||
<event widget="MainWindow" command="pause" arguments="1000" />
|
||||
|
||||
<!-- ===== Player 1, Turn 1 ===== -->
|
||||
<!-- Upkeep → Draw → Main 1 -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="300" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
|
||||
<!-- Create a Goblin token -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/gamePlayAreaWidget/gameView" command="createToken" arguments="Goblin,r,1/1" />
|
||||
<event widget="MainWindow" command="pause" arguments="1000" />
|
||||
|
||||
<!-- Create a second token (Elf) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/gamePlayAreaWidget/gameView" command="createToken" arguments="Elf,w,1/1" />
|
||||
<event widget="MainWindow" command="pause" arguments="1000" />
|
||||
|
||||
<!-- Flip the Goblin (right-click → Turn Over) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/gamePlayAreaWidget/gameView" command="flipCard" arguments="Goblin,table" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
|
||||
<!-- Play a Lightning Bolt from hand (double-click) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/gamePlayAreaWidget/gameView" command="clickCard" arguments="Lightning Bolt,hand" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" -->
|
||||
|
||||
<!-- Draw arrow from Elf to Goblin (right-drag) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/gamePlayAreaWidget/gameView" command="drawArrow" arguments="Elf,table,Goblin,table" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
|
||||
<!-- Advance through all remaining phases to end turn -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="200" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="200" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="200" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="200" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="200" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="200" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
|
||||
<!-- ===== Player 2, Turn 1 ===== -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="300" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
<!-- Advance through all phases to end turn -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="200" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="200" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="200" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="200" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="200" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="200" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
|
||||
</events>
|
||||
45
Testing/integration_test.xml
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
<events>
|
||||
<!-- Integration test: exercises multiple tiers in sequence -->
|
||||
|
||||
<!-- Tier 2: Open and close all menus -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="cockatriceMenu" />
|
||||
<event widget="MainWindow" command="key" arguments="16777216" />
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="dbMenu" />
|
||||
<event widget="MainWindow" command="key" arguments="16777216" />
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="tabsMenu" />
|
||||
<event widget="MainWindow" command="key" arguments="16777216" />
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="helpMenu" />
|
||||
<event widget="MainWindow" command="key" arguments="16777216" />
|
||||
|
||||
<!-- Tier 2: Open and close About (modal) -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="helpMenu" />
|
||||
<event widget="MainWindow/menubar/helpMenu" command="activate" arguments="&About Cockatrice" />
|
||||
<event widget="MainWindow/aboutDialog" command="key" arguments="16777216" />
|
||||
|
||||
<!-- Tier 4: Open and close ViewLog (non-modal) -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="helpMenu" />
|
||||
<event widget="MainWindow/menubar/helpMenu" command="activate" arguments="View &Debug Log" />
|
||||
<event widget="MainWindow/viewLogDialog" command="key" arguments="16777216" />
|
||||
|
||||
<!-- Tier 4: Open and close Tip of the Day (non-modal) -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="helpMenu" />
|
||||
<event widget="MainWindow/menubar/helpMenu" command="activate" arguments="&Tip of the Day" />
|
||||
<event widget="MainWindow/tipOfTheDayDialog" command="key" arguments="16777216" />
|
||||
|
||||
<!-- Tier 5: Settings search (state interaction) -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="cockatriceMenu" />
|
||||
<event widget="MainWindow/menubar/cockatriceMenu" command="activate" arguments="actionSettings" />
|
||||
<event widget="MainWindow/settingsDialog/settingsView/settingsSearchEdit" command="key" arguments="100" />
|
||||
<event widget="MainWindow/settingsDialog/settingsView/settingsSearchEdit" command="key" arguments="101" />
|
||||
<event widget="MainWindow/settingsDialog/settingsView/settingsSearchEdit" command="key" arguments="98" />
|
||||
<event widget="MainWindow/settingsDialog/settingsView/settingsSearchEdit" command="key" arguments="117" />
|
||||
<event widget="MainWindow/settingsDialog/settingsOkButton" command="activate" arguments="" />
|
||||
|
||||
<!-- Tier 3: Open deck editor from home and type in search -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabHome/homeWidget/homeActionsScrollArea/qt_scrollarea_viewport/homeButtonsBox/homeCreateNewDeckButton" command="activate" arguments="" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabDeckEditorVisual/databaseDisplayDock/databaseDisplayDockContents/databaseDisplayWidget/searchEdit" command="key" arguments="76" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabDeckEditorVisual/databaseDisplayDock/databaseDisplayDockContents/databaseDisplayWidget/searchEdit" command="key" arguments="105" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabDeckEditorVisual/databaseDisplayDock/databaseDisplayDockContents/databaseDisplayWidget/searchEdit" command="key" arguments="103" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabDeckEditorVisual/databaseDisplayDock/databaseDisplayDockContents/databaseDisplayWidget/searchEdit" command="key" arguments="104" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabDeckEditorVisual/databaseDisplayDock/databaseDisplayDockContents/databaseDisplayWidget/searchEdit" command="key" arguments="116" />
|
||||
</events>
|
||||
178
Testing/local_game_lifecycle_test.xml
Normal file
|
|
@ -0,0 +1,178 @@
|
|||
<events>
|
||||
<!--
|
||||
Tier 6: Local Game Lifecycle (Extended)
|
||||
Tests: create game -> load decks -> ready up -> game starts
|
||||
-> play through turns using menu activate commands
|
||||
|
||||
Phase actions triggered via activate on phasesMenu:
|
||||
aNextPhaseAction advances phase + triggers phase action (e.g., draw at draw step)
|
||||
aNextTurn in gameMenu triggers next turn
|
||||
|
||||
This avoids keyboard shortcut issues in offscreen/test environments.
|
||||
-->
|
||||
|
||||
<!-- ===== Phase 1: Start a local game via main menu ===== -->
|
||||
<event widget="MainWindow/menubar/cockatriceMenu" command="activate" arguments="Start &local game..." />
|
||||
<!-- Force two players so both deck views exist, independent of the user's settings -->
|
||||
<event widget="MainWindow/localGameDialog/generalGroupBox/numberPlayersEdit" command="set_int" arguments="2" />
|
||||
<event widget="MainWindow/localGameDialog" command="key" arguments="16777220" />
|
||||
|
||||
<!-- ===== Phase 2: Player 1 loads deck from clipboard ===== -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_0/qt_tabwidget_stackedwidget/deckViewContainer/loadFromClipboardButton" command="activate" arguments="" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_0/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit/contentsEdit" command="keyEvent" arguments="6,65,67108864,,0,1" />
|
||||
<!-- 1 Lightning Bolt -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_0/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit/contentsEdit" command="typeText" arguments="1 Lightning Bolt" />
|
||||
<!-- Ctrl+Return to accept clipboard dialog -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_0/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit" command="keyEvent" arguments="6,16777220,67108864,,0,1" />
|
||||
<!-- Delay -->
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Player 1 ready up -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_0/qt_tabwidget_stackedwidget/deckViewContainer/readyStartButton" command="activate" arguments="" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
|
||||
<!-- ===== Phase 3: Player 2 loads deck from clipboard ===== -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_1/qt_tabwidget_stackedwidget/deckViewContainer/loadFromClipboardButton" command="activate" arguments="" />
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_1/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit/contentsEdit" command="keyEvent" arguments="6,65,67108864,,0,1" />
|
||||
<!-- 1 Lightning Bolt -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_1/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit/contentsEdit" command="typeText" arguments="1 Lightning Bolt" />
|
||||
<!-- Ctrl+Return to accept clipboard dialog -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_1/qt_tabwidget_stackedwidget/deckViewContainer/dlgDeckTextEdit" command="keyEvent" arguments="6,16777220,67108864,,0,1" />
|
||||
<!-- Delay -->
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Player 2 ready up -> game auto-starts -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/deckViewContainerWidget/tabbedDeckView_1/qt_tabwidget_stackedwidget/deckViewContainer/readyStartButton" command="activate" arguments="" />
|
||||
<!-- Delay for game to start -->
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
|
||||
<!-- ===== Phase 4: Advance through all 11 phases via phasesMenu activate ===== -->
|
||||
<!-- Using activate on phasesMenu triggers aNextPhaseAction which:
|
||||
- advances the phase by 1
|
||||
- calls triggerPhaseAction (e.g., draw card at draw step, untap all at untap) -->
|
||||
|
||||
<!-- Phase 0 (Untap) → 1 (Upkeep) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 1 (Upkeep) → 2 (Draw): TRIGGERS DRAW — Player 1 draws 1 card -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
<!-- Phase 2 (Draw) → 3 (Main 1) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
|
||||
<!-- ===== Main 1: Play a card from hand by double-click ===== -->
|
||||
<!-- clickCard resolves card by name in the scene, maps to viewport coords at current window size. -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/mainWidget/gamePlayAreaWidget/gameView" command="clickCard" arguments="Lightning Bolt,hand" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
|
||||
<!-- Phase 3 → 4 (Begin Combat) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="pause" arguments="300" />
|
||||
<!-- Phase 4 → 5 (Declare Attackers) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 5 → 6 (Declare Blockers) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 6 → 7 (Combat Damage) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 7 → 8 (End Combat) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 8 → 9 (Main 2) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 9 → 10 (Cleanup) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 10 → 0 (Untap): TRIGGERS NEXT TURN + UNTAP ALL — now Player 2's turn -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<!-- Delay for turn transition -->
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
|
||||
<!-- ===== Phase 5: Player 2's turn — advance through all 11 phases ===== -->
|
||||
<!-- Phase 0 (Untap) → 1 (Upkeep) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 1 (Upkeep) → 2 (Draw): TRIGGERS DRAW — Player 2 draws 1 card -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 2 (Draw) → 3 (Main 1) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 3 → 4 (Begin Combat) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 4 → 5 (Declare Attackers) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 5 → 6 (Declare Blockers) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 6 → 7 (Combat Damage) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 7 → 8 (End Combat) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 8 → 9 (Main 2) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 9 → 10 (Cleanup) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 10 → 0 (Untap): TRIGGERS NEXT TURN — back to Player 1 -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<!-- Delay -->
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
|
||||
<!-- ===== Phase 6: Player 1 turn 2 — advance to draw again ===== -->
|
||||
<!-- Phase 0 (Untap) → 1 (Upkeep) -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<!-- Phase 1 (Upkeep) → 2 (Draw): TRIGGERS DRAW — Player 1 draws again -->
|
||||
<event widget="MainWindow/tabSupervisor/stackedWidget/TabGame/phasesMenu" command="activate" arguments="aNextPhaseAction" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
<event widget="MainWindow" command="key" arguments="32" />
|
||||
|
||||
</events>
|
||||
19
Testing/menu_open_close_test.xml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<events>
|
||||
<!-- Test 1: Open and close each top-level menu -->
|
||||
|
||||
<!-- Cockatrice menu -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="cockatriceMenu" />
|
||||
<event widget="MainWindow" command="key" arguments="16777216" />
|
||||
|
||||
<!-- Database menu -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="dbMenu" />
|
||||
<event widget="MainWindow" command="key" arguments="16777216" />
|
||||
|
||||
<!-- Tabs menu -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="tabsMenu" />
|
||||
<event widget="MainWindow" command="key" arguments="16777216" />
|
||||
|
||||
<!-- Help menu -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="helpMenu" />
|
||||
<event widget="MainWindow" command="key" arguments="16777216" />
|
||||
</events>
|
||||
6
Testing/nonmodal_manage_sets_test.xml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<events>
|
||||
<!-- Test non-modal dialog lifecycle: open and close Manage Sets (QMainWindow) -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="dbMenu" />
|
||||
<event widget="MainWindow/menubar/dbMenu" command="activate" arguments="&Manage sets..." />
|
||||
<event widget="MainWindow/manageSetsWindow" command="key" arguments="16777216" />
|
||||
</events>
|
||||
6
Testing/nonmodal_tip_test.xml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<events>
|
||||
<!-- Test non-modal dialog lifecycle: open and close Tip of the Day -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="helpMenu" />
|
||||
<event widget="MainWindow/menubar/helpMenu" command="activate" arguments="&Tip of the Day" />
|
||||
<event widget="MainWindow/tipOfTheDayDialog" command="key" arguments="16777216" />
|
||||
</events>
|
||||
6
Testing/nonmodal_view_log_test.xml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<events>
|
||||
<!-- Test non-modal dialog lifecycle: open and close ViewLog -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="helpMenu" />
|
||||
<event widget="MainWindow/menubar/helpMenu" command="activate" arguments="View &Debug Log" />
|
||||
<event widget="MainWindow/viewLogDialog" command="key" arguments="16777216" />
|
||||
</events>
|
||||
118
Testing/run_test.sh
Executable file
|
|
@ -0,0 +1,118 @@
|
|||
#!/bin/bash
|
||||
# Run QtTesting XML test files against the Cockatrice build.
|
||||
#
|
||||
# Usage:
|
||||
# ./Testing/run_test.sh [--visual] [--all | <test-file.xml> ...]
|
||||
#
|
||||
# Options:
|
||||
# --visual Run with native display (shows the GUI window).
|
||||
# Default is headless (QT_QPA_PLATFORM=offscreen).
|
||||
# --all Run every *.xml file in Testing/.
|
||||
#
|
||||
# Environment:
|
||||
# COCKATRICE_BIN Path to the client binary (default: build/debug/cockatrice/cockatrice,
|
||||
# or the .app bundle binary on macOS).
|
||||
# TEST_TIMEOUT Seconds a single test may run before it is killed (default: 180).
|
||||
# Uses timeout, or gtimeout from coreutils on macOS.
|
||||
#
|
||||
# Requires the debug build to exist at build/debug/cockatrice/cockatrice.
|
||||
|
||||
set -euo pipefail
|
||||
shopt -s nullglob
|
||||
|
||||
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
||||
if [ -n "${COCKATRICE_BIN:-}" ]; then
|
||||
COCKATRICE="$COCKATRICE_BIN"
|
||||
elif [ "$(uname -s)" = "Darwin" ]; then
|
||||
# A macOS build produces an app bundle, not a bare executable.
|
||||
COCKATRICE="$REPO_ROOT/build/debug/cockatrice/cockatrice.app/Contents/MacOS/cockatrice"
|
||||
else
|
||||
COCKATRICE="$REPO_ROOT/build/debug/cockatrice/cockatrice"
|
||||
fi
|
||||
TEST_DIR="$REPO_ROOT/Testing"
|
||||
TEST_TIMEOUT="${TEST_TIMEOUT:-180}"
|
||||
|
||||
# Stock macOS has no `timeout`; coreutils provides `gtimeout`. Without either the
|
||||
# runner still works, but a hung test is not killed.
|
||||
TIMEOUT=()
|
||||
if command -v timeout >/dev/null 2>&1; then
|
||||
TIMEOUT=(timeout --foreground "$TEST_TIMEOUT")
|
||||
elif command -v gtimeout >/dev/null 2>&1; then
|
||||
TIMEOUT=(gtimeout --foreground "$TEST_TIMEOUT")
|
||||
else
|
||||
echo "Warning: neither timeout nor gtimeout found; tests are not time-limited." >&2
|
||||
fi
|
||||
|
||||
if [ ! -f "$COCKATRICE" ]; then
|
||||
echo "Error: $COCKATRICE not found. Build first:" >&2
|
||||
echo " cmake --build build/debug" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VISUAL=0
|
||||
if [ "${1:-}" = "--visual" ]; then
|
||||
VISUAL=1
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ "${1:-}" = "--all" ]; then
|
||||
shift
|
||||
TEST_FILES=("$TEST_DIR"/*.xml)
|
||||
if [ ${#TEST_FILES[@]} -eq 0 ]; then
|
||||
echo "No *.xml files found in $TEST_DIR" >&2
|
||||
exit 1
|
||||
fi
|
||||
elif [ $# -ge 1 ]; then
|
||||
TEST_FILES=("$@")
|
||||
else
|
||||
echo "Usage: $0 [--visual] [--all | <test-file.xml> ...]" >&2
|
||||
echo " Run a single test: $0 Testing/smoke_test.xml" >&2
|
||||
echo " Run all tests: $0 --all" >&2
|
||||
echo " Run visually: $0 --visual Testing/smoke_test.xml" >&2
|
||||
echo " Run all visually: $0 --visual --all" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PASS=0
|
||||
FAIL=0
|
||||
FAILED_TESTS=()
|
||||
|
||||
run_one() {
|
||||
local file="$1"
|
||||
|
||||
local -a cmd=()
|
||||
if [ "${#TIMEOUT[@]}" -gt 0 ]; then
|
||||
cmd=("${TIMEOUT[@]}")
|
||||
fi
|
||||
cmd+=("$COCKATRICE" --no-connect --test "$file")
|
||||
|
||||
if [ "$VISUAL" -eq 1 ]; then
|
||||
"${cmd[@]}"
|
||||
else
|
||||
env QT_QPA_PLATFORM=offscreen "${cmd[@]}"
|
||||
fi
|
||||
}
|
||||
|
||||
for f in "${TEST_FILES[@]}"; do
|
||||
name="$(basename "$f")"
|
||||
printf "%-40s " "$name"
|
||||
if run_one "$f"; then
|
||||
echo "PASS"
|
||||
PASS=$((PASS + 1))
|
||||
else
|
||||
echo "FAIL"
|
||||
FAIL=$((FAIL + 1))
|
||||
FAILED_TESTS+=("$name")
|
||||
fi
|
||||
done
|
||||
|
||||
TOTAL=$((PASS + FAIL))
|
||||
echo ""
|
||||
echo "Results: $PASS/$TOTAL passed, $FAIL failed"
|
||||
if [ "$FAIL" -gt 0 ]; then
|
||||
echo "Failed:"
|
||||
for t in "${FAILED_TESTS[@]}"; do
|
||||
echo " $t"
|
||||
done
|
||||
exit 1
|
||||
fi
|
||||
6
Testing/settings_dialog_test.xml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<events>
|
||||
<!-- Open Settings dialog via Cockatrice menu, then close with Escape -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="cockatriceMenu" />
|
||||
<event widget="MainWindow/menubar/cockatriceMenu" command="activate" arguments="actionSettings" />
|
||||
<event widget="MainWindow/settingsDialog" command="key" arguments="16777216" />
|
||||
</events>
|
||||
33
Testing/settings_navigation_test.xml
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
<events>
|
||||
<!--
|
||||
Settings navigation (state assertions).
|
||||
|
||||
Navigates the settings page tree by label, checks that the page stack
|
||||
followed, then filters with the search box and verifies the text landed
|
||||
in the edit — then closes with the OK button.
|
||||
-->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="cockatriceMenu" />
|
||||
<event widget="MainWindow/menubar/cockatriceMenu" command="activate" arguments="actionSettings" />
|
||||
<event widget="MainWindow" command="pause" arguments="500" />
|
||||
|
||||
<!-- The dialog opens on the first page (General) -->
|
||||
<event widget="MainWindow/settingsDialog/settingsView/pagesContainer/pagesWidget" command="expectProperty" arguments="currentIndex,0" />
|
||||
|
||||
<!-- Navigate to Shortcuts, the last page of the tree -->
|
||||
<event widget="MainWindow/settingsDialog/settingsView/navTree" command="selectItem" arguments="Shortcuts" />
|
||||
<event widget="MainWindow" command="pause" arguments="300" />
|
||||
<event widget="MainWindow/settingsDialog/settingsView/pagesContainer/pagesWidget" command="expectProperty" arguments="currentIndex,7" />
|
||||
|
||||
<!-- ... and back to General -->
|
||||
<event widget="MainWindow/settingsDialog/settingsView/navTree" command="selectItem" arguments="General" />
|
||||
<event widget="MainWindow" command="pause" arguments="300" />
|
||||
<event widget="MainWindow/settingsDialog/settingsView/pagesContainer/pagesWidget" command="expectProperty" arguments="currentIndex,0" />
|
||||
|
||||
<!-- Filters the settings by search term -->
|
||||
<event widget="MainWindow/settingsDialog/settingsView/settingsSearchEdit" command="typeText" arguments="sound" />
|
||||
<event widget="MainWindow" command="pause" arguments="300" />
|
||||
<event widget="MainWindow/settingsDialog/settingsView/settingsSearchEdit" command="expectProperty" arguments="text,sound" />
|
||||
|
||||
<!-- Close -->
|
||||
<event widget="MainWindow/settingsDialog/settingsOkButton" command="activate" arguments="" />
|
||||
</events>
|
||||
13
Testing/settings_search_test.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<events>
|
||||
<!-- Tier 5: State verification — open Settings, search for a page, close -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="cockatriceMenu" />
|
||||
<event widget="MainWindow/menubar/cockatriceMenu" command="activate" arguments="actionSettings" />
|
||||
<!-- Type "sound" in the settings search to filter pages -->
|
||||
<event widget="MainWindow/settingsDialog/settingsView/settingsSearchEdit" command="key" arguments="115" />
|
||||
<event widget="MainWindow/settingsDialog/settingsView/settingsSearchEdit" command="key" arguments="111" />
|
||||
<event widget="MainWindow/settingsDialog/settingsView/settingsSearchEdit" command="key" arguments="117" />
|
||||
<event widget="MainWindow/settingsDialog/settingsView/settingsSearchEdit" command="key" arguments="110" />
|
||||
<event widget="MainWindow/settingsDialog/settingsView/settingsSearchEdit" command="key" arguments="100" />
|
||||
<!-- Close settings -->
|
||||
<event widget="MainWindow/settingsDialog/settingsOkButton" command="activate" arguments="" />
|
||||
</events>
|
||||
8
Testing/smoke_test.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<events>
|
||||
<!-- Open Help menu by activating it on the menu bar -->
|
||||
<event widget="MainWindow/menubar" command="activate" arguments="helpMenu" />
|
||||
<!-- Click About Cockatrice (opens modal QMessageBox) -->
|
||||
<event widget="MainWindow/menubar/helpMenu" command="activate" arguments="&About Cockatrice" />
|
||||
<!-- Close the modal dialog by pressing Escape (Qt::Key_Escape = 16777216) -->
|
||||
<event widget="MainWindow/aboutDialog" command="key" arguments="16777216" />
|
||||
</events>
|
||||
75
cmake/Coverage.cmake
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
# Line-coverage instrumentation opt-in, plus per-source opt-out
|
||||
# Input: ENABLE_COVERAGE
|
||||
# Defines: cockatrice_disable_coverage_for
|
||||
#
|
||||
# Included once from the root CMakeLists.txt, immediately after the per-compiler flag
|
||||
# block, so add_compile_options() reaches every library and executable defined below.
|
||||
#
|
||||
# Note the name deliberately shadows CMake's own built-in Modules/Coverage.cmake. It resolves
|
||||
# to this file only because the root CMakeLists.txt puts cmake/ at the front of
|
||||
# CMAKE_MODULE_PATH; if that ever moves, include(Coverage) would silently pick up the built-in
|
||||
# module, which only defines a `COVERAGE` custom target and touches no global flags, so
|
||||
# instrumentation would quietly stop happening rather than erroring.
|
||||
|
||||
include(CheckCXXSourceCompiles)
|
||||
|
||||
# Opt a set of vendored sources out of instrumentation.
|
||||
#
|
||||
# cockatrice_disable_coverage_for(<source> ...)
|
||||
#
|
||||
# Third-party code drags the total down with lines no test can ever reach, and a total that
|
||||
# cannot move is not a useful signal. This is the same carve-out the sanitizer build uses.
|
||||
#
|
||||
# The sources must be named relative to the directory that compiles them. CMake resolves a
|
||||
# source-file property against the directory scope the target was declared in, so calling
|
||||
# this from the root with absolute paths silently does nothing. That is why the call sites
|
||||
# live next to the add_library/add_executable that pull the vendored code in.
|
||||
#
|
||||
# SKIP_PRECOMPILE_HEADERS mirrors the sanitizer helper. The precompiled header carries the
|
||||
# instrumentation flags, and mixing an instrumented PCH with an uninstrumented translation
|
||||
# unit makes GCC reject it.
|
||||
function(cockatrice_disable_coverage_for)
|
||||
if(NOT ENABLE_COVERAGE)
|
||||
return()
|
||||
endif()
|
||||
# There is no -fno-coverage: --coverage is shorthand for -fprofile-arcs -ftest-coverage, so both
|
||||
# halves have to be negated. CC rejects "-fno-coverage" outright, which is how the vendored C
|
||||
# files below hit it first.
|
||||
set_source_files_properties(
|
||||
${ARGN} PROPERTIES COMPILE_OPTIONS "-fno-profile-arcs;-fno-test-coverage" SKIP_PRECOMPILE_HEADERS ON
|
||||
)
|
||||
endfunction()
|
||||
|
||||
if(ENABLE_COVERAGE)
|
||||
# Line coverage needs the compiler's own toolchain, so only GCC is supported. Clang's
|
||||
# equivalent is llvm-cov, which reads a different intermediate format and would need a
|
||||
# separate report path; rejecting it is better than emitting .gcno files that gcovr cannot
|
||||
# read.
|
||||
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
message(FATAL_ERROR "ENABLE_COVERAGE requires GCC, but the compiler is ${CMAKE_CXX_COMPILER_ID}. "
|
||||
"Clang coverage needs llvm-cov and is not wired up."
|
||||
)
|
||||
endif()
|
||||
|
||||
# Probe the way the flag will actually be used: compile AND link. A .gcno file comes from the
|
||||
# compile step, but the runtime that writes .gcda files comes from the link step, so probing
|
||||
# only the compile step would pass on a toolchain that cannot actually produce coverage.
|
||||
set(_cockatrice_saved_required_flags "${CMAKE_REQUIRED_FLAGS}")
|
||||
set(_cockatrice_saved_required_link_options "${CMAKE_REQUIRED_LINK_OPTIONS}")
|
||||
set(CMAKE_REQUIRED_FLAGS "-O0 -g")
|
||||
set(CMAKE_REQUIRED_LINK_OPTIONS -fprofile-arcs -ftest-coverage)
|
||||
check_cxx_source_compiles("int main() { return 0; }" COCKATRICE_HAVE_COVERAGE_FLAGS)
|
||||
set(CMAKE_REQUIRED_FLAGS "${_cockatrice_saved_required_flags}")
|
||||
set(CMAKE_REQUIRED_LINK_OPTIONS "${_cockatrice_saved_required_link_options}")
|
||||
|
||||
if(NOT COCKATRICE_HAVE_COVERAGE_FLAGS)
|
||||
message(FATAL_ERROR "ENABLE_COVERAGE is on, but this toolchain rejected the coverage flags.")
|
||||
endif()
|
||||
|
||||
# -O0 keeps the line mapping honest: at higher optimisation levels the compiler merges and
|
||||
# relocates lines, and the report describes code that no longer exists in that form.
|
||||
add_compile_options(--coverage -O0 -g)
|
||||
add_link_options(--coverage)
|
||||
|
||||
message(STATUS "Coverage instrumentation enabled (--coverage). Report with gcovr over the build dir.")
|
||||
endif()
|
||||
212
cmake/CrashReporting.cmake
Normal file
|
|
@ -0,0 +1,212 @@
|
|||
# Crash reporting via sentry-native (Sentry protocol, MIT).
|
||||
# Included once from the root CMakeLists.txt, right after the sanitizer/coverage helpers.
|
||||
#
|
||||
# Inputs:
|
||||
# WITH_CRASH_REPORTING -- build the client with the sentry-native SDK (default OFF, our release
|
||||
# CI passes ON; packagers and from-source builds stay SDK-free until this
|
||||
# ships something real, so offline package builds never fetch the SDK)
|
||||
# COCKATRICE_SENTRY_DSN -- Sentry DSN baked into the build (default empty = SDK init skipped at runtime)
|
||||
# COCKATRICE_SENTRY_TAG -- sentry-native release tag to vendor via FetchContent
|
||||
# ENABLE_SANITIZERS -- forces the sentry backend to "none" (crashpad vs ASan conflict)
|
||||
# Defines: cockatrice_target_enable_crash_reporting(<target>)
|
||||
|
||||
option(WITH_CRASH_REPORTING "Build with crash reporting via sentry-native" OFF)
|
||||
set(COCKATRICE_SENTRY_DSN
|
||||
""
|
||||
CACHE STRING "Sentry DSN baked into the client; empty disables crash-report upload at runtime"
|
||||
)
|
||||
# Pinned stable release; tag verified at https://github.com/getsentry/sentry-native/tags.
|
||||
set(COCKATRICE_SENTRY_TAG
|
||||
"0.17.3"
|
||||
CACHE STRING "sentry-native release tag to vendor via FetchContent"
|
||||
)
|
||||
|
||||
# Wire the SDK (or the no-op fallback) into a client target. Always callable: with the
|
||||
# option OFF the compile definitions below make crash_reporter.cpp compile to no-ops.
|
||||
function(cockatrice_target_enable_crash_reporting _target)
|
||||
if(WITH_CRASH_REPORTING AND TARGET sentry::sentry)
|
||||
target_link_libraries(${_target} PRIVATE sentry::sentry)
|
||||
target_compile_definitions(${_target} PRIVATE COCKATRICE_WITH_CRASH_REPORTING=1)
|
||||
else()
|
||||
target_compile_definitions(${_target} PRIVATE COCKATRICE_WITH_CRASH_REPORTING=0)
|
||||
endif()
|
||||
# Always baked in (possibly empty): main() prefers the COCKATRICE_SENTRY_DSN env var at runtime.
|
||||
target_compile_definitions(${_target} PRIVATE "COCKATRICE_SENTRY_DSN=\"${COCKATRICE_SENTRY_DSN}\"")
|
||||
# Sentry release for events from this target: PROJECT_VERSION (getversion.cmake ran before this
|
||||
# file was included). Deliberately not PROJECT_VERSION_FRIENDLY / VERSION_STRING — that carries
|
||||
# a build date, so every build of the same version would land in a different Sentry release.
|
||||
# PROJECT_VERSION matches what the installer reports in its own log and what CPack derives the
|
||||
# package version from, so client and installer events group under one release.
|
||||
target_compile_definitions(${_target} PRIVATE "COCKATRICE_SENTRY_RELEASE=\"${PROJECT_VERSION}\"")
|
||||
endfunction()
|
||||
|
||||
if(WITH_CRASH_REPORTING AND WITH_CLIENT)
|
||||
include(FetchContent)
|
||||
|
||||
if(ENABLE_SANITIZERS)
|
||||
# The crash handler cannot run under ASan/UBSan, so there is no backend to capture with.
|
||||
set(_sentry_backend "none")
|
||||
else()
|
||||
# Breakpad on every OS (increment 3 probe, 2026-10-14): the crashpad sources
|
||||
# do vendor friction-free (FetchContent inits all submodules recursively by
|
||||
# default, verified populated in a local build tree), but the crashpad backend
|
||||
# would need its out-of-process crashpad_handler binary installed next to the
|
||||
# exe, into the macOS bundle, and through NSIS, plus handler-path wiring and
|
||||
# notarization care. Breakpad is in-process, needs no extra binary and no
|
||||
# packaging on any OS sentry-native builds, so simplicity wins.
|
||||
set(_sentry_backend "breakpad")
|
||||
endif()
|
||||
# FORCE so toggling ENABLE_SANITIZERS on a reused build dir cannot leave a stale backend behind.
|
||||
set(SENTRY_BACKEND
|
||||
"${_sentry_backend}"
|
||||
CACHE STRING "Crash handler backend for sentry-native" FORCE
|
||||
)
|
||||
unset(_sentry_backend)
|
||||
|
||||
if(NOT MSVC)
|
||||
# Symbol upload needs debug info in Release binaries: the top-level flags build GCC
|
||||
# Release as -s -O2 (stripped, no DWARF) and Clang/Apple Release as plain -O2 (no DWARF),
|
||||
# both of which upload nothing useful. Keep -g and drop the strip flag while the SDK is
|
||||
# on; the OFF default leaves local, distro and Debug builds untouched. MSVC already
|
||||
# links /DEBUG with PDBs in release (see top-level CMakeLists.txt), so it needs nothing.
|
||||
string(REGEX REPLACE "(^| )-s( |$)" "\\1\\2" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
if(NOT CMAKE_CXX_FLAGS_RELEASE MATCHES "(^| )-g( |$)")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -g")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# No Qt integration: it runs find_package(Qt6) inside the vendored build, which
|
||||
# cannot see our thin/aqt Qt layouts (macOS CI) under foreign toolchains, and its
|
||||
# breadcrumbs could carry unredacted log lines into native crash events that bypass
|
||||
# before_send. Our attached redacted log preview already carries the log context.
|
||||
set(SENTRY_INTEGRATION_QT
|
||||
OFF
|
||||
CACHE BOOL "Qt log-message breadcrumbs for sentry-native (off: discovery + secret surface)" FORCE
|
||||
)
|
||||
# The transport stays at the SDK default (curl on Apple/Linux, winhttp on Windows).
|
||||
set(SENTRY_BUILD_TESTS
|
||||
OFF
|
||||
CACHE BOOL "Build sentry-native tests" FORCE
|
||||
)
|
||||
set(SENTRY_BUILD_EXAMPLES
|
||||
OFF
|
||||
CACHE BOOL "Build sentry-native examples" FORCE
|
||||
)
|
||||
|
||||
fetchcontent_declare(
|
||||
sentry
|
||||
GIT_REPOSITORY https://github.com/getsentry/sentry-native.git
|
||||
GIT_TAG ${COCKATRICE_SENTRY_TAG}
|
||||
GIT_SHALLOW TRUE
|
||||
)
|
||||
fetchcontent_makeavailable(sentry)
|
||||
|
||||
# Vendored sentry-native (and its breakpad/crashpad trees) warn under our -Wall -Wextra
|
||||
# (e.g. breakpad's -Wmissing-field-initializers), and WARNING_AS_ERROR would fail the build
|
||||
# on code we cannot fix. Those findings are not actionable for us, so opt the whole vendored
|
||||
# tree out of warnings-as-errors while keeping the warnings themselves visible; our own
|
||||
# targets keep -Werror. Interface libraries compile nothing, so they are skipped outright:
|
||||
# an INTERFACE -Wno-error would propagate to our consumers and weaken their build.
|
||||
function(_cockatrice_sentry_opt_out_of_werror _dir)
|
||||
get_property(
|
||||
_sentry_targets
|
||||
DIRECTORY "${_dir}"
|
||||
PROPERTY BUILDSYSTEM_TARGETS
|
||||
)
|
||||
foreach(_sentry_target IN LISTS _sentry_targets)
|
||||
get_target_property(_sentry_type ${_sentry_target} TYPE)
|
||||
if(_sentry_type STREQUAL "INTERFACE_LIBRARY")
|
||||
continue()
|
||||
elseif(_sentry_type MATCHES "LIBRARY|EXECUTABLE")
|
||||
get_target_property(_sentry_imported ${_sentry_target} IMPORTED)
|
||||
if(NOT _sentry_imported)
|
||||
target_compile_options(${_sentry_target} PRIVATE -Wno-error)
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
get_property(
|
||||
_sentry_subdirs
|
||||
DIRECTORY "${_dir}"
|
||||
PROPERTY SUBDIRECTORIES
|
||||
)
|
||||
foreach(_sentry_subdir IN LISTS _sentry_subdirs)
|
||||
_cockatrice_sentry_opt_out_of_werror("${_sentry_subdir}")
|
||||
endforeach()
|
||||
endfunction()
|
||||
if(NOT MSVC)
|
||||
_cockatrice_sentry_opt_out_of_werror("${sentry_SOURCE_DIR}")
|
||||
endif()
|
||||
|
||||
message(STATUS "Crash reporting: sentry-native ${COCKATRICE_SENTRY_TAG} (backend: ${SENTRY_BACKEND})")
|
||||
else()
|
||||
message(STATUS "Crash reporting: SDK not vendored "
|
||||
"(WITH_CRASH_REPORTING=${WITH_CRASH_REPORTING}, WITH_CLIENT=${WITH_CLIENT})"
|
||||
)
|
||||
endif()
|
||||
|
||||
# Packaged release binaries must not ship the DWARF that the symbol upload needs: it is
|
||||
# 80-90% of an unstripped binary and nobody downloads a 500 MB installer to get it. The
|
||||
# build tree keeps -g (CI uploads symbols from there); the *packaged copy* is split at
|
||||
# install time by a CPack install script, which extracts the debug info next to the staging
|
||||
# dir and strips the binary. Only ELF (Linux/BSD) needs this: Windows links /DEBUG with
|
||||
# separate PDBs, and macOS keeps its dSYM extracted from the bundle.
|
||||
option(COCKATRICE_SPLIT_DEBUG_SYMBOLS "Strip DWARF out of packaged release binaries" ON)
|
||||
set(COCKATRICE_DEBUG_SYMBOL_DIR
|
||||
"${CMAKE_BINARY_DIR}/debug-symbols"
|
||||
CACHE PATH "Where the packaged binaries' split debug information is written (kept out of the package)"
|
||||
)
|
||||
if(WITH_CRASH_REPORTING
|
||||
AND WITH_CLIENT
|
||||
AND COCKATRICE_SPLIT_DEBUG_SYMBOLS
|
||||
AND CMAKE_BUILD_TYPE STREQUAL "Release"
|
||||
AND UNIX
|
||||
AND NOT APPLE
|
||||
)
|
||||
find_program(COCKATRICE_OBJCOPY NAMES objcopy)
|
||||
find_program(COCKATRICE_STRIP_TOOL NAMES strip)
|
||||
if(COCKATRICE_OBJCOPY AND COCKATRICE_STRIP_TOOL)
|
||||
configure_file(
|
||||
"${CMAKE_CURRENT_LIST_DIR}/SplitDebugSymbols.cmake.in" "${CMAKE_BINARY_DIR}/cmake/SplitDebugSymbols.cmake" @ONLY
|
||||
)
|
||||
# PRE_BUILD runs after CPack stages the install tree and before the package is produced.
|
||||
# CPACK_INSTALL_SCRIPTS would run too early (staging is still empty); the script walks
|
||||
# CPACK_TEMPORARY_DIRECTORY, never CMAKE_INSTALL_PREFIX, and refuses to run otherwise.
|
||||
list(APPEND CPACK_PRE_BUILD_SCRIPTS "${CMAKE_BINARY_DIR}/cmake/SplitDebugSymbols.cmake")
|
||||
message(STATUS "Crash reporting: packaged binaries stripped, debug info split to ${COCKATRICE_DEBUG_SYMBOL_DIR}")
|
||||
else()
|
||||
message(WARNING "COCKATRICE_SPLIT_DEBUG_SYMBOLS is ON but objcopy/strip were not found; "
|
||||
"packaged release binaries will keep their debug information"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Installer failure reporting (increment 4): parse COCKATRICE_SENTRY_DSN into the parts the Windows installer
|
||||
# needs. These are CPACK_* so CPack snapshots them at include(CPack) time and substitutes them into
|
||||
# cmake/NSIS.template.in at package time; on non-Windows they are inert (only the NSIS template consumes them).
|
||||
# Set from COCKATRICE_SENTRY_DSN on every configure, so a changed or removed DSN can never leave a stale value
|
||||
# behind. Plain variables, not CACHE: they only need to be in scope when include(CPack) later snapshots every
|
||||
# CPACK_* variable into CPackConfig.cmake.
|
||||
set(CPACK_SENTRY_ENABLED "0")
|
||||
set(CPACK_SENTRY_KEY "")
|
||||
set(CPACK_SENTRY_ENVELOPE_URL "")
|
||||
set(CPACK_SENTRY_DSN_FULL "")
|
||||
# Deliberately PROJECT_VERSION: that is what the client bakes as its Sentry release and what CI passes to
|
||||
# `sentry-cli debug-files upload`, so installer and client events group under one release. It is not the
|
||||
# CPACK_PACKAGE_VERSION the installer logs in its own log line — on Development tags PROJECT_VERSION carries a
|
||||
# "-<label>" suffix (getversion.cmake) while CPACK_PACKAGE_VERSION is only MAJOR.MINOR.PATCH.
|
||||
set(CPACK_SENTRY_RELEASE "${PROJECT_VERSION}")
|
||||
|
||||
# Canonical <scheme>://<key>@<host>/<project-id>. Deliberately unanchored, so a trailing slash still matches.
|
||||
# A self-hosted DSN with a path prefix (e.g. GlitchTip behind a subpath) does not match and falls through to the
|
||||
# disabled-and-warn branch instead of deriving a wrong endpoint from the tail of the path.
|
||||
if(COCKATRICE_SENTRY_DSN MATCHES "(https?)://([^@]+)@([^/]+)/([0-9]+)")
|
||||
set(CPACK_SENTRY_ENABLED "1")
|
||||
set(CPACK_SENTRY_KEY "${CMAKE_MATCH_2}")
|
||||
# Scheme comes from the DSN, not an assumption: self-hosted (GlitchTip) DSNs may be plain http.
|
||||
set(CPACK_SENTRY_ENVELOPE_URL "${CMAKE_MATCH_1}://${CMAKE_MATCH_3}/api/${CMAKE_MATCH_4}/envelope/")
|
||||
set(CPACK_SENTRY_DSN_FULL "${COCKATRICE_SENTRY_DSN}")
|
||||
elseif(NOT COCKATRICE_SENTRY_DSN STREQUAL "")
|
||||
message(WARNING "COCKATRICE_SENTRY_DSN is set but malformed "
|
||||
"(expected <scheme>://<key>@<host>/<project-id>); installer log reporting disabled"
|
||||
)
|
||||
endif()
|
||||
|
|
@ -1,12 +1,18 @@
|
|||
# Find a compatible Qt version
|
||||
# Inputs: WITH_SERVER, WITH_CLIENT, WITH_ORACLE
|
||||
# Optional Input: QT6_DIR -- Hint as to where Qt6 lives on the system
|
||||
# Optional Input: Qt6_DIR -- Directory containing Qt6Config.cmake
|
||||
# Output: COCKATRICE_QT_VERSION_NAME -- Example values: Qt6
|
||||
# Output: SERVATRICE_QT_MODULES
|
||||
# Output: COCKATRICE_QT_MODULES
|
||||
# Output: ORACLE_QT_MODULES
|
||||
# Output: TEST_QT_MODULES
|
||||
|
||||
# Every Qt module an application links against, as the DLL names a Windows
|
||||
# install has to contain. Core is listed explicitly rather than left to arrive
|
||||
# transitively: it is the one module nothing can do without, and required-runtime.txt
|
||||
# is built from these lists, so a module missing here is a runtime the package
|
||||
# check never asserts. That is how Qt6Core.dll went unasserted while every other
|
||||
# Qt module was checked.
|
||||
set(REQUIRED_QT_COMPONENTS Core)
|
||||
if(WITH_SERVER)
|
||||
set(_SERVATRICE_NEEDED Network Sql WebSockets)
|
||||
|
|
@ -14,6 +20,7 @@ endif()
|
|||
if(WITH_CLIENT)
|
||||
set(_COCKATRICE_NEEDED
|
||||
Concurrent
|
||||
Core
|
||||
Gui
|
||||
Multimedia
|
||||
Network
|
||||
|
|
@ -33,7 +40,9 @@ endif()
|
|||
if(TEST)
|
||||
# Union of Qt modules required across all test targets (independent of application targets).
|
||||
# When adding a new test that needs additional Qt modules, add them here rather than in the test's CMakeLists.txt.
|
||||
set(_TEST_NEEDED Concurrent Network Svg Widgets)
|
||||
# Test is QtTest: it brings QAbstractItemModelTester and QSignalSpy, which are how the Qt model
|
||||
# and signal contracts get verified without standing up a GUI.
|
||||
set(_TEST_NEEDED Concurrent Network Svg Widgets Test)
|
||||
endif()
|
||||
|
||||
set(REQUIRED_QT_COMPONENTS ${REQUIRED_QT_COMPONENTS} ${_SERVATRICE_NEEDED} ${_COCKATRICE_NEEDED} ${_ORACLE_NEEDED}
|
||||
|
|
@ -48,7 +57,17 @@ find_package(
|
|||
QUIET HINTS ${Qt6_DIR}
|
||||
)
|
||||
if(NOT Qt6_FOUND)
|
||||
message(FATAL_ERROR "No suitable version of Qt was found")
|
||||
set(_QT_DIAGNOSTIC "")
|
||||
if(Qt6_NOT_FOUND_MESSAGE)
|
||||
set(_QT_DIAGNOSTIC "\nQt package diagnostic: ${Qt6_NOT_FOUND_MESSAGE}")
|
||||
endif()
|
||||
message(FATAL_ERROR
|
||||
"No suitable version of Qt was found. Qt 6.4.2 or newer with these components is required: "
|
||||
"${REQUIRED_QT_COMPONENTS};Linguist.\n"
|
||||
"Set QTDIR or CMAKE_PREFIX_PATH to the Qt installation prefix, or Qt6_DIR to the directory "
|
||||
"containing Qt6Config.cmake."
|
||||
"${_QT_DIAGNOSTIC}"
|
||||
)
|
||||
endif()
|
||||
set(COCKATRICE_QT_VERSION_NAME Qt6)
|
||||
|
||||
|
|
|
|||
109
cmake/Sanitizers.cmake
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
# AddressSanitizer + UndefinedBehaviorSanitizer opt-in, plus per-source opt-out
|
||||
# Input: ENABLE_SANITIZERS
|
||||
# Defines: cockatrice_disable_sanitizers_for
|
||||
#
|
||||
# Included once from the root CMakeLists.txt, immediately after the per-compiler flag
|
||||
# block, so add_compile_options() reaches every library and executable defined below.
|
||||
|
||||
include(CheckCXXSourceCompiles)
|
||||
|
||||
# Opt a set of vendored sources out of instrumentation.
|
||||
#
|
||||
# cockatrice_disable_sanitizers_for(<source> ...)
|
||||
#
|
||||
# Sanitizer findings inside vendored code are not actionable for us, and letting them
|
||||
# through buries our own bugs in noise until everyone learns to skip the job.
|
||||
#
|
||||
# The sources must be named relative to the directory that compiles them. CMake resolves a
|
||||
# source-file property against the directory scope the target was declared in, so calling
|
||||
# this from the root with absolute paths silently does nothing. That is why the call sites
|
||||
# live next to the add_library/add_executable that pull the vendored code in.
|
||||
#
|
||||
# SKIP_PRECOMPILE_HEADERS is not optional. The precompiled header is built with the
|
||||
# sanitizer flags, so it defines __SANITIZE_ADDRESS__; a translation unit compiled with
|
||||
# -fno-sanitize=all does not, and GCC then refuses the PCH with
|
||||
# "not used because __SANITIZE_ADDRESS__ not defined", which is a fatal -Werror=invalid-pch
|
||||
# in the servatrice and oracle builds.
|
||||
function(cockatrice_disable_sanitizers_for)
|
||||
if(NOT ENABLE_SANITIZERS)
|
||||
return()
|
||||
endif()
|
||||
set_source_files_properties(${ARGN} PROPERTIES COMPILE_OPTIONS "-fno-sanitize=all" SKIP_PRECOMPILE_HEADERS ON)
|
||||
endfunction()
|
||||
|
||||
if(ENABLE_SANITIZERS)
|
||||
# Probe a flag the way it will actually be used: on the compile step AND the link step.
|
||||
# check_cxx_compiler_flag() only probes the compile step, which makes every sanitizer
|
||||
# flag look unsupported because linking an ASan object without -fsanitize=address leaves
|
||||
# __asan_init undefined. That is a silent misconfiguration rather than an error, so the
|
||||
# probe has to link.
|
||||
function(cockatrice_probe_flag FLAG VARNAME)
|
||||
set(CMAKE_REQUIRED_FLAGS "${FLAG}")
|
||||
set(CMAKE_REQUIRED_LINK_OPTIONS "${FLAG}")
|
||||
check_cxx_source_compiles("int main() { return 0; }" ${VARNAME})
|
||||
unset(CMAKE_REQUIRED_FLAGS)
|
||||
unset(CMAKE_REQUIRED_LINK_OPTIONS)
|
||||
endfunction()
|
||||
|
||||
set(SANITIZER_FLAGS
|
||||
-fsanitize=address,undefined
|
||||
-fno-omit-frame-pointer
|
||||
# UBSan defaults to recover mode: it prints "runtime error: ..." but the
|
||||
# process exits 0, so gtest/ctest report a pass and CI stays green.
|
||||
# -fno-sanitize-recover makes the first finding abort instead. This is
|
||||
# probed like the other cosmetic flags, but CI also sets
|
||||
# UBSAN_OPTIONS=halt_on_error=1 as the runtime-side guarantee.
|
||||
-fno-sanitize-recover=undefined
|
||||
# Qt builds QObject subclasses into raw storage and writes the vptr afterwards, which
|
||||
# the vptr check reports on essentially every QObject instantiation. The check has no
|
||||
# value for us because nothing outside moc-generated code inherits QObject, so it is
|
||||
# off outright rather than suppressed piecemeal.
|
||||
-fno-sanitize=vptr
|
||||
)
|
||||
|
||||
# MSVC has no ASan/UBSan equivalent, and clang-cl would need /fsanitize=address plus a
|
||||
# matching runtime link, which is a separate piece of work.
|
||||
if(MSVC)
|
||||
message(FATAL_ERROR "ENABLE_SANITIZERS is not supported with MSVC")
|
||||
endif()
|
||||
|
||||
# Probe rather than assume, so an older toolchain gets the sanitizers it can support
|
||||
# instead of failing the build on a flag it does not recognize.
|
||||
set(SANITIZER_SUPPORTED_FLAGS)
|
||||
foreach(FLAG ${SANITIZER_FLAGS})
|
||||
string(MAKE_C_IDENTIFIER "COCKATRICE_HAS${FLAG}" _FLAG_VAR)
|
||||
cockatrice_probe_flag("${FLAG}" ${_FLAG_VAR})
|
||||
if(${_FLAG_VAR})
|
||||
list(APPEND SANITIZER_SUPPORTED_FLAGS ${FLAG})
|
||||
else()
|
||||
message(STATUS "Sanitizers: ${FLAG} unsupported by ${CMAKE_CXX_COMPILER_ID}, skipping")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# The whole point of the option is the sanitizers, so an unsupported pair is fatal even
|
||||
# though the cosmetic flags above are allowed to degrade.
|
||||
if(NOT "-fsanitize=address,undefined" IN_LIST SANITIZER_SUPPORTED_FLAGS)
|
||||
message(FATAL_ERROR "ENABLE_SANITIZERS requires -fsanitize=address,undefined, which "
|
||||
"${CMAKE_CXX_COMPILER_ID} does not accept"
|
||||
)
|
||||
endif()
|
||||
|
||||
add_compile_options(${SANITIZER_SUPPORTED_FLAGS})
|
||||
add_link_options(-fsanitize=address,undefined)
|
||||
|
||||
# Recorded so the test tree can label its entries and a plain `make` at the same time
|
||||
# cannot quietly disagree with what CI ran.
|
||||
set(COCKATRICE_SANITIZERS
|
||||
ON
|
||||
CACHE INTERNAL "AddressSanitizer and UBSan are enabled"
|
||||
)
|
||||
else()
|
||||
# ENABLE_SANITIZERS is OFF, but COCKATRICE_SANITIZERS is CACHE INTERNAL, so a
|
||||
# reused build dir (e.g. CI's release-package step reconfiguring the same dir
|
||||
# after the sanitized debug step) would otherwise keep skipping NO_SANITIZE
|
||||
# tests and keep the 300s discovery timeout. Reset it explicitly.
|
||||
set(COCKATRICE_SANITIZERS
|
||||
OFF
|
||||
CACHE INTERNAL "AddressSanitizer and UBSan are enabled" FORCE
|
||||
)
|
||||
endif()
|
||||
146
cmake/SendInstallerLog.ps1.in
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
# Sends the NSIS installer log to Sentry as an envelope carrying one error
|
||||
# event plus the log as an attachment.
|
||||
#
|
||||
# Generated at configure time from this template by CMake configure_file: the
|
||||
# CPACK_SENTRY_* placeholders are baked in then, so the real values only ever
|
||||
# exist in the build directory and the packaged installer, never in the repo.
|
||||
# Runs on stock Windows PowerShell 5.1 with no extra modules.
|
||||
param(
|
||||
[Parameter(Mandatory = $true)][string]$LogPath
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
$EnvelopeUrl = '@CPACK_SENTRY_ENVELOPE_URL@'
|
||||
$SentryKey = '@CPACK_SENTRY_KEY@'
|
||||
$Release = '@CPACK_SENTRY_RELEASE@'
|
||||
$Dsn = '@CPACK_SENTRY_DSN_FULL@'
|
||||
|
||||
try {
|
||||
# The envelope endpoint is TLS-only; stock powershell.exe on older systems
|
||||
# still negotiates TLS 1.0 otherwise, so opt into 1.2 explicitly.
|
||||
try {
|
||||
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
|
||||
} catch {
|
||||
}
|
||||
|
||||
# --- Log payload, tail-capped at 128 KiB ---------------------------------
|
||||
$MaxLogBytes = 128 * 1024
|
||||
$TruncNotice = '[log truncated to last 128 KB]'
|
||||
if (Test-Path -LiteralPath $LogPath) {
|
||||
$raw = [System.IO.File]::ReadAllBytes($LogPath)
|
||||
} else {
|
||||
$raw = [System.Text.Encoding]::UTF8.GetBytes('(installer log not found: ' + $LogPath + ')')
|
||||
}
|
||||
if ($raw.Length -gt $MaxLogBytes) {
|
||||
$tail = New-Object byte[] $MaxLogBytes
|
||||
[System.Buffer]::BlockCopy($raw, $raw.Length - $MaxLogBytes, $tail, 0, $MaxLogBytes)
|
||||
$prefix = [System.Text.Encoding]::UTF8.GetBytes($TruncNotice + "`r`n")
|
||||
$logBytes = New-Object byte[] ($prefix.Length + $tail.Length)
|
||||
[System.Buffer]::BlockCopy($prefix, 0, $logBytes, 0, $prefix.Length)
|
||||
[System.Buffer]::BlockCopy($tail, 0, $logBytes, $prefix.Length, $tail.Length)
|
||||
} else {
|
||||
$logBytes = $raw
|
||||
}
|
||||
|
||||
# --- Abort reason, read from the log itself --------------------------------
|
||||
# AbortInstall logs "ABORT: ..." first, so the reason travels inside the file
|
||||
# and nothing reason-shaped crosses the command line (no quoting hazards).
|
||||
# Select-String yields the matching line alone, so the reason is already one
|
||||
# physical line for the message; anything else stays in the attached log.
|
||||
# Non-ASCII paths may garble here; the attachment is byte-exact regardless.
|
||||
$Reason = 'unknown (no ABORT line in log)'
|
||||
if (Test-Path -LiteralPath $LogPath) {
|
||||
$abortLine = Select-String -LiteralPath $LogPath -Pattern '^ABORT: ' | Select-Object -Last 1
|
||||
if ($abortLine) {
|
||||
$Reason = ($abortLine.Line -replace '^ABORT:\s*', '')
|
||||
}
|
||||
}
|
||||
|
||||
# --- What was holding the files, read from the log as well -------------------
|
||||
# The guard and the close attempt each log one line naming every holder and what
|
||||
# happened to it. Carrying the last of each as event data keeps an abort caused by
|
||||
# a running instance actionable without opening the attachment. Kept out of the
|
||||
# message so the issue still groups on the reason alone.
|
||||
$Holders = ''
|
||||
$CloseResult = ''
|
||||
$EndResult = ''
|
||||
if (Test-Path -LiteralPath $LogPath) {
|
||||
$holderLine = Select-String -LiteralPath $LogPath -Pattern 'guard: still in use by (.*)$' | Select-Object -Last 1
|
||||
if ($holderLine) {
|
||||
$Holders = $holderLine.Matches[0].Groups[1].Value
|
||||
}
|
||||
$closeLine = Select-String -LiteralPath $LogPath -Pattern '(close-holders: .*)$' | Select-Object -Last 1
|
||||
if ($closeLine) {
|
||||
$CloseResult = $closeLine.Matches[0].Groups[1].Value
|
||||
}
|
||||
$endLine = Select-String -LiteralPath $LogPath -Pattern '(end-holders: .*)$' | Select-Object -Last 1
|
||||
if ($endLine) {
|
||||
$EndResult = $endLine.Matches[0].Groups[1].Value
|
||||
}
|
||||
}
|
||||
|
||||
# --- Event ---------------------------------------------------------------
|
||||
$eventId = [guid]::NewGuid().ToString('N')
|
||||
$now = (Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ')
|
||||
# $Event is an automatic variable (Microsoft.PowerShell.Utility\Register-ObjectEvent),
|
||||
# so the local is named $sentryEvent to avoid shadowing it.
|
||||
$sentryEvent = [ordered]@{
|
||||
event_id = $eventId
|
||||
timestamp = $now
|
||||
platform = 'other'
|
||||
level = 'error'
|
||||
logger = 'cockatrice-installer'
|
||||
release = $Release
|
||||
environment = 'installer'
|
||||
sdk = @{ name = 'cockatrice.installer'; version = $Release }
|
||||
message = @{ formatted = 'Installer aborted: ' + $Reason }
|
||||
extra = @{
|
||||
reason = $Reason
|
||||
os = [System.Environment]::OSVersion.VersionString
|
||||
holders = $Holders
|
||||
close_result = $CloseResult
|
||||
end_result = $EndResult
|
||||
}
|
||||
}
|
||||
$eventJson = $sentryEvent | ConvertTo-Json -Compress -Depth 6
|
||||
$eventBytes = [System.Text.Encoding]::UTF8.GetBytes($eventJson)
|
||||
|
||||
# --- Envelope, assembled as bytes (the log is opaque binary) -------------
|
||||
$sentAt = (Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ')
|
||||
$headerLine = '{"event_id":"' + $eventId + '","sent_at":"' + $sentAt + '","dsn":"' + $Dsn + '"}'
|
||||
$eventHeader = '{"type":"event","length":' + $eventBytes.Length + '}'
|
||||
$attachHeader = '{"type":"attachment","filename":"Cockatrice-installer.log","content_type":"text/plain","length":' + $logBytes.Length + '}'
|
||||
$enc = [System.Text.Encoding]::UTF8
|
||||
$lf = [byte[]]@(10)
|
||||
$body = New-Object System.IO.MemoryStream
|
||||
foreach ($chunk in @($enc.GetBytes($headerLine), $lf, $enc.GetBytes($eventHeader), $lf, $eventBytes, $lf, $enc.GetBytes($attachHeader), $lf, $logBytes)) {
|
||||
$body.Write($chunk, 0, $chunk.Length)
|
||||
}
|
||||
$bodyBytes = $body.ToArray()
|
||||
$body.Close()
|
||||
|
||||
# --- Send ----------------------------------------------------------------
|
||||
# The key travels in the auth header only; stdout below never contains it.
|
||||
$auth = 'Sentry sentry_version=7, sentry_client=cockatrice.installer/' + $Release + ', sentry_key=' + $SentryKey
|
||||
Invoke-RestMethod -Uri $EnvelopeUrl -Method Post -TimeoutSec 45 -ContentType 'application/x-sentry-envelope' -Headers @{ 'X-Sentry-Auth' = $auth } -Body $bodyBytes | Out-Null
|
||||
Write-Output ('SENT ' + $eventId)
|
||||
exit 0
|
||||
} catch {
|
||||
# Scrub the key/DSN out of the failure text in case a transport error echoes them.
|
||||
$msg = $_.Exception.Message
|
||||
if ($msg -and $SentryKey) {
|
||||
$msg = $msg.Replace($SentryKey, '<redacted>')
|
||||
}
|
||||
if ($msg -and $Dsn) {
|
||||
$msg = $msg.Replace($Dsn, '<redacted>')
|
||||
}
|
||||
# Flatten to one line: this text is echoed into the installer log, which is
|
||||
# itself uploaded as an attachment, so a multi-line transport error must not
|
||||
# be able to forge extra lines in the artifact we send.
|
||||
if ($msg) {
|
||||
$msg = ($msg -replace '\s+', ' ').Trim()
|
||||
}
|
||||
Write-Output ('FAILED: ' + $msg)
|
||||
exit 1
|
||||
}
|
||||
80
cmake/SplitDebugSymbols.cmake.in
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
# Splits DWARF out of the packaged ELF binaries, then strips them.
|
||||
#
|
||||
# This is a CPack pre-build script (CPACK_PRE_BUILD_SCRIPTS, wired in CrashReporting.cmake):
|
||||
# CPack runs it after staging the install tree and before producing the package, so it only
|
||||
# ever touches the copy that becomes the release artifact. The build tree is left alone: -g
|
||||
# stays on, and CI uploads symbols to Sentry straight from build/.
|
||||
#
|
||||
# For every ELF file under CPACK_TEMPORARY_DIRECTORY the script extracts the debug information
|
||||
# to COCKATRICE_DEBUG_SYMBOL_DIR and removes the debug sections from the packaged binary.
|
||||
# COCKATRICE_DEBUG_SYMBOL_DIR is deliberately outside the staging tree, so sidecars never end
|
||||
# up in the package; CI can archive/upload them if wanted (it normally uploads straight from
|
||||
# the build tree). The only thing that must survive stripping is .eh_frame (allocatable, used
|
||||
# for unwinding), which neither --only-keep-debug nor --strip-debug removes.
|
||||
#
|
||||
# Tool paths, the symbol directory and the tree to walk are baked in / provided at configure /
|
||||
# run time; the guards below refuse to run on anything that is not a CPack staging directory,
|
||||
# so a missing variable can never turn the glob into a filesystem-wide walk.
|
||||
|
||||
set(_objcopy "@COCKATRICE_OBJCOPY@")
|
||||
set(_strip "@COCKATRICE_STRIP_TOOL@")
|
||||
set(_symbolDir "@COCKATRICE_DEBUG_SYMBOL_DIR@")
|
||||
|
||||
if(_objcopy STREQUAL "" OR _strip STREQUAL "")
|
||||
message(WARNING "split debug symbols: objcopy/strip not found at configure time, packaging unstripped binaries")
|
||||
return()
|
||||
endif()
|
||||
if(_symbolDir STREQUAL "")
|
||||
message(FATAL_ERROR "split debug symbols: COCKATRICE_DEBUG_SYMBOL_DIR is empty")
|
||||
endif()
|
||||
|
||||
# CPack sets CPACK_TEMPORARY_DIRECTORY to the staging tree; CMAKE_INSTALL_PREFIX is still the
|
||||
# configured /usr prefix here, so globbing it would walk system directories. Refuse to run
|
||||
# unless the path exists and really is a CPack staging tree.
|
||||
if(NOT CPACK_TEMPORARY_DIRECTORY OR NOT IS_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}")
|
||||
message(STATUS "split debug symbols: no CPack staging directory, skipping")
|
||||
return()
|
||||
endif()
|
||||
if(NOT CPACK_TEMPORARY_DIRECTORY MATCHES "_CPack_Packages")
|
||||
message(WARNING "split debug symbols: ${CPACK_TEMPORARY_DIRECTORY} is not a CPack staging tree, skipping")
|
||||
return()
|
||||
endif()
|
||||
|
||||
file(MAKE_DIRECTORY "${_symbolDir}")
|
||||
|
||||
file(
|
||||
GLOB_RECURSE _entries
|
||||
LIST_DIRECTORIES true
|
||||
"${CPACK_TEMPORARY_DIRECTORY}/*"
|
||||
)
|
||||
set(_processed 0)
|
||||
foreach(_file IN LISTS _entries)
|
||||
if(IS_DIRECTORY "${_file}" OR IS_SYMLINK "${_file}")
|
||||
continue()
|
||||
endif()
|
||||
# Only ELF: objcopy would fail on the icons, translations and Qt resources next to it.
|
||||
file(
|
||||
READ "${_file}" _magic
|
||||
OFFSET 0
|
||||
LIMIT 4
|
||||
HEX
|
||||
)
|
||||
if(NOT _magic STREQUAL "7f454c46")
|
||||
continue()
|
||||
endif()
|
||||
get_filename_component(_name "${_file}" NAME)
|
||||
set(_debug "${_symbolDir}/${_name}.debug")
|
||||
execute_process(COMMAND "${_objcopy}" --only-keep-debug "${_file}" "${_debug}" RESULT_VARIABLE _rc)
|
||||
if(NOT _rc EQUAL 0)
|
||||
message(WARNING "split debug symbols: objcopy --only-keep-debug failed for ${_file}")
|
||||
continue()
|
||||
endif()
|
||||
execute_process(COMMAND "${_strip}" --strip-debug --strip-unneeded "${_file}" RESULT_VARIABLE _rc)
|
||||
if(NOT _rc EQUAL 0)
|
||||
message(WARNING "split debug symbols: strip failed for ${_file}")
|
||||
continue()
|
||||
endif()
|
||||
math(EXPR _processed "${_processed} + 1")
|
||||
endforeach()
|
||||
|
||||
message(STATUS "Split debug symbols for ${_processed} packaged ELF file(s); sidecars in ${_symbolDir}")
|
||||
|
|
@ -3,22 +3,53 @@
|
|||
*
|
||||
* Safe for every target that links Qt Core, including the headless
|
||||
* Servatrice binary. Keep this header free of any widget/gui types.
|
||||
*
|
||||
* Candidates are chosen from IWYU include statistics: a header earns a
|
||||
* spot when it is not already reachable from the rest of this list and
|
||||
* enough translation units re-parse it. Qt headers are stable across
|
||||
* builds, so the precompiled header rarely invalidates.
|
||||
*/
|
||||
|
||||
#include <QBasicTimer>
|
||||
#include <QByteArray>
|
||||
#include <QCommandLineParser>
|
||||
#include <QCoreApplication>
|
||||
#include <QCryptographicHash>
|
||||
#include <QDateTime>
|
||||
#include <QDebug>
|
||||
#include <QDir>
|
||||
#include <QElapsedTimer>
|
||||
#include <QFile>
|
||||
#include <QFileInfo>
|
||||
#include <QHash>
|
||||
#include <QItemSelectionModel>
|
||||
#include <QJsonArray>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QLoggingCategory>
|
||||
#include <QMap>
|
||||
#include <QMetaEnum>
|
||||
#include <QMetaObject>
|
||||
#include <QMutex>
|
||||
#include <QMutexLocker>
|
||||
#include <QObject>
|
||||
#include <QPointer>
|
||||
#include <QPropertyAnimation>
|
||||
#include <QRandomGenerator>
|
||||
#include <QReadWriteLock>
|
||||
#include <QRegularExpression>
|
||||
#include <QSet>
|
||||
#include <QSettings>
|
||||
#include <QSharedPointer>
|
||||
#include <QSortFilterProxyModel>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QTemporaryDir>
|
||||
#include <QThread>
|
||||
#include <QTimer>
|
||||
#include <QUuid>
|
||||
#include <QVariant>
|
||||
#include <QXmlStreamReader>
|
||||
#include <QXmlStreamWriter>
|
||||
|
|
|
|||
|
|
@ -4,27 +4,56 @@
|
|||
* Includes the Qt Core precompiled header plus the heavy Gui, Widgets and
|
||||
* Network layers that virtually every client translation unit re-parses.
|
||||
* Do not use on Servatrice (headless, QT_DONT_USE_QTGUI).
|
||||
*
|
||||
* Candidates are chosen from IWYU include statistics: a header earns a
|
||||
* spot when it is not already reachable from the rest of this list and
|
||||
* enough translation units re-parse it. Qt headers are stable across
|
||||
* builds, so the precompiled header rarely invalidates.
|
||||
*/
|
||||
|
||||
#include "qtcore_pch.h"
|
||||
|
||||
#include <QAction>
|
||||
#include <QApplication>
|
||||
#include <QCheckBox>
|
||||
#include <QComboBox>
|
||||
#include <QCompleter>
|
||||
#include <QDialogButtonBox>
|
||||
#include <QDockWidget>
|
||||
#include <QFileDialog>
|
||||
#include <QFormLayout>
|
||||
#include <QFrame>
|
||||
#include <QGraphicsItem>
|
||||
#include <QGraphicsScene>
|
||||
#include <QGraphicsSceneMouseEvent>
|
||||
#include <QGraphicsView>
|
||||
#include <QGridLayout>
|
||||
#include <QGroupBox>
|
||||
#include <QHBoxLayout>
|
||||
#include <QHeaderView>
|
||||
#include <QImage>
|
||||
#include <QImageReader>
|
||||
#include <QInputDialog>
|
||||
#include <QLabel>
|
||||
#include <QLayout>
|
||||
#include <QListWidget>
|
||||
#include <QMainWindow>
|
||||
#include <QMenu>
|
||||
#include <QMessageBox>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkReply>
|
||||
#include <QPainter>
|
||||
#include <QPlainTextEdit>
|
||||
#include <QPushButton>
|
||||
#include <QScrollArea>
|
||||
#include <QSpinBox>
|
||||
#include <QSplitter>
|
||||
#include <QStandardItemModel>
|
||||
#include <QTabWidget>
|
||||
#include <QTableWidget>
|
||||
#include <QTableWidgetItem>
|
||||
#include <QToolBar>
|
||||
#include <QToolButton>
|
||||
#include <QTreeWidget>
|
||||
#include <QVBoxLayout>
|
||||
#include <QWidget>
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ set(cockatrice_SOURCES
|
|||
src/client/network/update/client/client_update_checker.cpp
|
||||
src/client/network/update/client/release_channel.cpp
|
||||
src/client/network/update/card_spoiler/spoiler_background_updater.cpp
|
||||
src/client/network/update/card_spoiler/spoiler_file.cpp
|
||||
src/client/crash/crash_reporter.cpp
|
||||
src/client/latency_graph_widget.cpp
|
||||
src/client/latency_status_widget.cpp
|
||||
src/client/lag_monitor.cpp
|
||||
|
|
@ -24,12 +26,11 @@ set(cockatrice_SOURCES
|
|||
src/client/settings/shortcut_treeview.cpp
|
||||
src/client/settings/shortcuts_settings.cpp
|
||||
src/interface/deck_loader/card_node_function.cpp
|
||||
src/interface/deck_loader/deck_file_format.cpp
|
||||
src/interface/deck_loader/deck_loader.cpp
|
||||
src/interface/deck_loader/loaded_deck.cpp
|
||||
src/interface/widgets/dialogs/dlg_connect.cpp
|
||||
src/interface/widgets/dialogs/dlg_convert_deck_to_cod_format.cpp
|
||||
src/interface/widgets/dialogs/dlg_create_game.cpp
|
||||
src/interface/widgets/dialogs/dlg_crash_report.cpp
|
||||
src/interface/widgets/dialogs/dlg_default_tags_editor.cpp
|
||||
src/interface/widgets/dialogs/dlg_edit_avatar.cpp
|
||||
src/interface/widgets/dialogs/dlg_edit_password.cpp
|
||||
|
|
@ -56,9 +57,12 @@ set(cockatrice_SOURCES
|
|||
src/interface/widgets/dialogs/dlg_settings.cpp
|
||||
src/interface/widgets/dialogs/dlg_startup_card_check.cpp
|
||||
src/interface/widgets/dialogs/dlg_tip_of_the_day.cpp
|
||||
src/interface/widgets/dialogs/dlg_turn_order.cpp
|
||||
src/interface/widgets/dialogs/dlg_update.cpp
|
||||
src/interface/widgets/dialogs/dlg_view_log.cpp
|
||||
src/interface/widgets/dialogs/override_printing_warning.cpp
|
||||
src/interface/widgets/dialogs/path_safety_warning.cpp
|
||||
src/interface/widgets/dialogs/settings_view.cpp
|
||||
src/interface/widgets/dialogs/tip_of_the_day.cpp
|
||||
src/interface/widgets/deck_share/deck_share_utils.cpp
|
||||
src/interface/widgets/deck_share/shared_deck_preview_widget.cpp
|
||||
|
|
@ -67,36 +71,27 @@ set(cockatrice_SOURCES
|
|||
src/filters/filter_builder.cpp
|
||||
src/filters/filter_tree_model.cpp
|
||||
src/filters/syntax_help.cpp
|
||||
src/game/abstract_game.cpp
|
||||
src/game/arrow_registry.cpp
|
||||
src/game_graphics/board/abstract_card_drag_item.cpp
|
||||
src/game_graphics/board/abstract_card_item.cpp
|
||||
src/game_graphics/board/abstract_counter.cpp
|
||||
src/game/board/arrow_data.cpp
|
||||
src/game_graphics/board/arrow_item.cpp
|
||||
src/game_graphics/board/arrow_registry.cpp
|
||||
src/game_graphics/board/arrow_target.cpp
|
||||
src/game_graphics/board/card_drag_item.cpp
|
||||
src/game_graphics/board/card_item.cpp
|
||||
src/game/board/card_list.cpp
|
||||
src/game/board/card_state.cpp
|
||||
src/game_graphics/board/counter_general.cpp
|
||||
src/game/board/counter_state.cpp
|
||||
src/game_graphics/board/translate_counter_name.cpp
|
||||
src/game_graphics/deckview/deck_view.cpp
|
||||
src/game_graphics/deckview/deck_view_container.cpp
|
||||
src/game_graphics/deckview/tabbed_deck_view_container.cpp
|
||||
src/game_graphics/dialogs/dlg_annotation.cpp
|
||||
src/game_graphics/dialogs/dlg_create_token.cpp
|
||||
src/game_graphics/dialogs/dlg_move_top_cards_until.cpp
|
||||
src/game_graphics/dialogs/dlg_roll_dice.cpp
|
||||
src/game/game.cpp
|
||||
src/game/game_event_handler.cpp
|
||||
src/game/game_meta_info.cpp
|
||||
src/game_graphics/game_scene.cpp
|
||||
src/game/game_state.cpp
|
||||
src/game_graphics/game_view.cpp
|
||||
src/game_graphics/hand_counter.cpp
|
||||
src/game_graphics/log/message_log_widget.cpp
|
||||
src/game/phase.cpp
|
||||
src/game_graphics/phases_toolbar.cpp
|
||||
src/game_graphics/player/menu/card_menu.cpp
|
||||
src/game_graphics/player/menu/custom_zone_menu.cpp
|
||||
|
|
@ -114,23 +109,11 @@ set(cockatrice_SOURCES
|
|||
src/game_graphics/tally/stats_tally.cpp
|
||||
src/game_graphics/tally/subtype_tally.cpp
|
||||
src/game_graphics/tally/tally.cpp
|
||||
src/game/player/player_actions.cpp
|
||||
src/game_graphics/player/player_area.cpp
|
||||
src/game_graphics/player/player_dialogs.cpp
|
||||
src/game/player/player_event_handler.cpp
|
||||
src/game_graphics/player/player_graphics_item.cpp
|
||||
src/game/player/player_info.cpp
|
||||
src/game_graphics/player/player_list_widget.cpp
|
||||
src/game/player/player_logic.cpp
|
||||
src/game/player/player_manager.cpp
|
||||
src/game_graphics/player/player_target.cpp
|
||||
src/game/replay.cpp
|
||||
src/game/zones/card_zone_logic.cpp
|
||||
src/game/zones/hand_zone_logic.cpp
|
||||
src/game/zones/pile_zone_logic.cpp
|
||||
src/game/zones/stack_zone_logic.cpp
|
||||
src/game/zones/table_zone_logic.cpp
|
||||
src/game/zones/view_zone_logic.cpp
|
||||
src/game_graphics/zones/card_zone.cpp
|
||||
src/game_graphics/zones/hand_zone.cpp
|
||||
src/game_graphics/zones/pile_zone.cpp
|
||||
|
|
@ -140,6 +123,8 @@ set(cockatrice_SOURCES
|
|||
src/game_graphics/zones/view_zone.cpp
|
||||
src/game_graphics/zones/view_zone_widget.cpp
|
||||
src/game_graphics/board/abstract_graphics_item.cpp
|
||||
src/interface/at_risk_data_warning.cpp
|
||||
src/interface/at_risk_data_warning.h
|
||||
src/interface/card_database_update/card_database_update_status_bar.cpp
|
||||
src/interface/card_database_update/card_database_update_status_bar.h
|
||||
src/interface/card_database_update/card_update_progress.cpp
|
||||
|
|
@ -166,11 +151,13 @@ set(cockatrice_SOURCES
|
|||
src/interface/widgets/utility/reversed_completer_model.cpp
|
||||
src/interface/pixel_map_generator.cpp
|
||||
src/interface/theme_config.cpp
|
||||
src/interface/theme_icon.cpp
|
||||
src/interface/theme_manager.cpp
|
||||
src/interface/palette_editor/color_button.cpp
|
||||
src/interface/palette_editor/palette_generator.cpp
|
||||
src/interface/palette_editor/quick_setup_panel.cpp
|
||||
src/interface/palette_editor/palette_grid_widget.cpp
|
||||
src/interface/palette_editor/font_grid_widget.cpp
|
||||
src/interface/palette_editor/palette_editor_dialog.cpp
|
||||
src/interface/widgets/cards/additional_info/color_identity_widget.cpp
|
||||
src/interface/widgets/cards/additional_info/deck_color_identity.cpp
|
||||
|
|
@ -188,6 +175,7 @@ set(cockatrice_SOURCES
|
|||
src/interface/widgets/cards/card_info_picture_widget.cpp
|
||||
src/interface/widgets/cards/card_info_picture_with_text_overlay_widget.cpp
|
||||
src/interface/widgets/cards/card_info_text_widget.cpp
|
||||
src/interface/widgets/cards/card_picture_delegate.cpp
|
||||
src/interface/widgets/cards/card_size_widget.cpp
|
||||
src/interface/widgets/cards/deck_card_zone_display_widget.cpp
|
||||
src/interface/widgets/cards/deck_preview_card_picture_widget.cpp
|
||||
|
|
@ -265,6 +253,8 @@ set(cockatrice_SOURCES
|
|||
src/interface/widgets/playmat/playmat_settings_dialog.cpp
|
||||
src/interface/widgets/quick_settings/settings_button_widget.cpp
|
||||
src/interface/widgets/quick_settings/settings_popup_widget.cpp
|
||||
src/interface/widgets/replay/replay_event_index.cpp
|
||||
src/interface/widgets/replay/replay_event_sidebar.cpp
|
||||
src/interface/widgets/replay/replay_manager.cpp
|
||||
src/interface/widgets/replay/replay_quick_settings_widget.cpp
|
||||
src/interface/widgets/replay/replay_timeline_widget.cpp
|
||||
|
|
@ -307,6 +297,7 @@ set(cockatrice_SOURCES
|
|||
src/interface/widgets/utility/sequence_edit.cpp
|
||||
src/interface/widgets/utility/visibility_change_listener.cpp
|
||||
src/interface/widgets/utility/visibility_change_listener.h
|
||||
src/interface/widgets/visual_database_display/card_database_visual_view.cpp
|
||||
src/interface/widgets/visual_database_display/visual_database_display_color_filter_widget.cpp
|
||||
src/interface/widgets/visual_database_display/visual_database_display_filter_save_load_widget.cpp
|
||||
src/interface/widgets/visual_database_display/visual_database_display_filter_toolbar_widget.cpp
|
||||
|
|
@ -339,6 +330,7 @@ set(cockatrice_SOURCES
|
|||
src/interface/widgets/visual_deck_storage/visual_deck_storage_tag_filter_widget.cpp
|
||||
src/interface/widgets/visual_deck_storage/visual_deck_storage_widget.cpp
|
||||
src/interface/window_main.cpp
|
||||
src/installer_close_server.cpp
|
||||
src/main.cpp
|
||||
src/single_instance_manager.cpp
|
||||
src/interface/widgets/tabs/abstract_tab_deck_editor.cpp
|
||||
|
|
@ -444,6 +436,7 @@ set(cockatrice_SOURCES
|
|||
src/interface/widgets/tabs/api/edhrec/display/commander/edhrec_commander_api_response_budget_navigation_widget.h
|
||||
src/interface/widgets/utility/compact_push_button.cpp
|
||||
src/interface/widgets/utility/compact_push_button.h
|
||||
src/installer_close_server.h
|
||||
src/single_instance_manager.h
|
||||
src/client/url_scheme_event_filter.h
|
||||
src/interface/intents/intent_connect_to_server.cpp
|
||||
|
|
@ -462,6 +455,8 @@ set(cockatrice_SOURCES
|
|||
src/interface/intents/intent_open_shared_deck.h
|
||||
src/interface/intents/url_parser.cpp
|
||||
src/interface/intents/url_parser.h
|
||||
src/interface/widgets/server/user/user_games_model.cpp
|
||||
src/interface/widgets/server/user/user_games_model.h
|
||||
src/interface/widgets/server/user/user_info_popup.cpp
|
||||
src/interface/widgets/server/user/user_info_popup.h
|
||||
)
|
||||
|
|
@ -505,7 +500,15 @@ if(APPLE)
|
|||
set(cockatrice_SOURCES ${cockatrice_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/resources/appicon.icns)
|
||||
endif(APPLE)
|
||||
|
||||
qt6_add_resources(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES})
|
||||
# The fonts and card artwork produce a large C++ byte array with qt_add_resources.
|
||||
# Embed the data in the compiled resource object instead, keeping compiler memory
|
||||
# independent of that payload. Qt's two-pass resource build is unsupported on iOS.
|
||||
if(IOS)
|
||||
qt_add_resources(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES})
|
||||
else()
|
||||
qt_add_big_resources(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES})
|
||||
endif()
|
||||
set_source_files_properties(${cockatrice_RESOURCES} PROPERTIES SKIP_AUTORCC ON)
|
||||
|
||||
# Declare path variables
|
||||
set(ICONDIR
|
||||
|
|
@ -526,11 +529,12 @@ set(COCKATRICE_MAC_QM_INSTALL_DIR "cockatrice.app/Contents/Resources/translation
|
|||
set(COCKATRICE_UNIX_QM_INSTALL_DIR "share/cockatrice/translations")
|
||||
set(COCKATRICE_WIN32_QM_INSTALL_DIR "translations")
|
||||
|
||||
qt6_add_executable(
|
||||
qt_add_executable(
|
||||
cockatrice
|
||||
WIN32
|
||||
MACOSX_BUNDLE
|
||||
${cockatrice_SOURCES}
|
||||
${cockatrice_RESOURCES}
|
||||
${cockatrice_RESOURCES_RCC}
|
||||
${cockatrice_MOC_SRCS}
|
||||
MANUAL_FINALIZATION
|
||||
|
|
@ -538,7 +542,7 @@ qt6_add_executable(
|
|||
|
||||
target_precompile_headers(cockatrice PRIVATE "${CMAKE_SOURCE_DIR}/cmake/pch/qtwidgets_pch.h")
|
||||
|
||||
qt6_add_shaders(
|
||||
qt_add_shaders(
|
||||
cockatrice
|
||||
"onboarding_shaders"
|
||||
PREFIX
|
||||
|
|
@ -550,7 +554,7 @@ qt6_add_shaders(
|
|||
src/interface/widgets/onboarding/shaders/brand_plate.frag
|
||||
)
|
||||
|
||||
qt6_add_resources(
|
||||
qt_add_resources(
|
||||
cockatrice
|
||||
"onboarding_qml"
|
||||
PREFIX
|
||||
|
|
@ -566,6 +570,7 @@ target_link_libraries(
|
|||
PUBLIC libcockatrice_card
|
||||
libcockatrice_deck_list
|
||||
libcockatrice_filters
|
||||
libcockatrice_game
|
||||
libcockatrice_utility
|
||||
libcockatrice_network
|
||||
libcockatrice_models
|
||||
|
|
@ -574,6 +579,16 @@ target_link_libraries(
|
|||
${COCKATRICE_QT_MODULES}
|
||||
)
|
||||
|
||||
cockatrice_target_enable_crash_reporting(cockatrice)
|
||||
|
||||
if(WITH_GUI_TEST)
|
||||
# These two translate between XML test files and the QtTesting event pipeline;
|
||||
# they need the QtTesting headers, so they only exist with the harness.
|
||||
target_sources(cockatrice PRIVATE src/game_graphics/pq_cockatrice_event_player.cpp src/interface/recording.cpp)
|
||||
target_link_libraries(cockatrice PRIVATE QtTesting)
|
||||
target_compile_definitions(cockatrice PRIVATE WITH_GUI_TEST)
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
if(APPLE)
|
||||
set(MACOSX_BUNDLE_INFO_STRING "${PROJECT_NAME}")
|
||||
|
|
@ -691,7 +706,7 @@ if(WIN32)
|
|||
# import table, and the glob above only sees DLLs that were already copied next
|
||||
# to the executable. Qt6::Concurrent is linked but never imported - QtConcurrent::run
|
||||
# and QFutureWatcher are header-only in Qt 6 - so neither step ships
|
||||
# Qt6Concurrent.dll, even though required-qt-runtime.txt lists it and the
|
||||
# Qt6Concurrent.dll, even though required-runtime.txt lists it and the
|
||||
# Windows package check then fails on a package that is fine to run.
|
||||
# Qt6::ShaderTools is skipped for the same reason.
|
||||
#
|
||||
|
|
@ -780,7 +795,7 @@ endif()
|
|||
if(Qt6LinguistTools_FOUND)
|
||||
#Qt6 Translations happen after the executable is built up
|
||||
if(UPDATE_TRANSLATIONS)
|
||||
qt6_add_translations(
|
||||
qt_add_translations(
|
||||
cockatrice
|
||||
TS_FILES
|
||||
${cockatrice_TS}
|
||||
|
|
@ -790,7 +805,7 @@ if(Qt6LinguistTools_FOUND)
|
|||
cockatrice_QM
|
||||
)
|
||||
else()
|
||||
qt6_add_translations(cockatrice TS_FILES ${cockatrice_TS} QM_FILES_OUTPUT_VARIABLE cockatrice_QM)
|
||||
qt_add_translations(cockatrice TS_FILES ${cockatrice_TS} QM_FILES_OUTPUT_VARIABLE cockatrice_QM)
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
|
|
@ -816,4 +831,4 @@ if(Qt6LinguistTools_FOUND)
|
|||
endforeach()
|
||||
endif()
|
||||
|
||||
qt6_finalize_target(cockatrice)
|
||||
qt_finalize_target(cockatrice)
|
||||
|
|
|
|||
|
|
@ -6,5 +6,4 @@ Name=Cockatrice
|
|||
Exec=cockatrice %U
|
||||
Icon=cockatrice
|
||||
Categories=Game;CardGame;
|
||||
MimeType=application/x-cockatrice;
|
||||
X-Scheme-Handler/cockatrice=true
|
||||
MimeType=application/x-cockatrice;x-scheme-handler/cockatrice;
|
||||
|
|
|
|||
|
|
@ -6,19 +6,18 @@
|
|||
<file>resources/hand.svg</file>
|
||||
<file>resources/hr.jpg</file>
|
||||
|
||||
<file>resources/icons/arrow_bottom_green.svg</file>
|
||||
<file>resources/icons/arrow_down_green.svg</file>
|
||||
<file>resources/icons/arrow_down.svg</file>
|
||||
<file>resources/icons/arrow_history.svg</file>
|
||||
<file>resources/icons/arrow_left_green.svg</file>
|
||||
<file>resources/icons/arrow_left.svg</file>
|
||||
<file>resources/icons/arrow_redo.svg</file>
|
||||
<file>resources/icons/arrow_right_blue.svg</file>
|
||||
<file>resources/icons/arrow_right_green.svg</file>
|
||||
<file>resources/icons/arrow_top_green.svg</file>
|
||||
<file>resources/icons/arrow_up_green.svg</file>
|
||||
<file>resources/icons/arrow_right.svg</file>
|
||||
<file>resources/icons/arrow_right_sideboard.svg</file>
|
||||
<file>resources/icons/arrow_to_bottom.svg</file>
|
||||
<file>resources/icons/arrow_to_top.svg</file>
|
||||
<file>resources/icons/arrow_up.svg</file>
|
||||
<file>resources/icons/arrow_undo.svg</file>
|
||||
<file>resources/icons/circle_half_stroke.svg</file>
|
||||
<file>resources/icons/clearsearch.svg</file>
|
||||
<file>resources/icons/cogwheel.svg</file>
|
||||
<file>resources/icons/conceded.svg</file>
|
||||
<file>resources/icons/decrement.svg</file>
|
||||
<file>resources/icons/delete.svg</file>
|
||||
|
|
@ -28,7 +27,6 @@
|
|||
<file>resources/icons/filter.svg</file>
|
||||
<file>resources/icons/floppy_disk.svg</file>
|
||||
<file>resources/icons/forgot_password.svg</file>
|
||||
<file>resources/icons/gear.svg</file>
|
||||
<file>resources/icons/increment.svg</file>
|
||||
<file>resources/icons/info.svg</file>
|
||||
<file>resources/icons/lock.svg</file>
|
||||
|
|
@ -41,7 +39,6 @@
|
|||
<file>resources/icons/reload.svg</file>
|
||||
<file>resources/icons/remove_row.svg</file>
|
||||
<file>resources/icons/rename.svg</file>
|
||||
<file>resources/icons/scale_balanced.svg</file>
|
||||
<file>resources/icons/scales.svg</file>
|
||||
<file>resources/icons/scroll.svg</file>
|
||||
<file>resources/icons/search.svg</file>
|
||||
|
|
@ -52,7 +49,6 @@
|
|||
<file>resources/icons/swap.svg</file>
|
||||
<file>resources/icons/sync.svg</file>
|
||||
<file>resources/icons/tab_changed.svg</file>
|
||||
<file>resources/icons/update.png</file>
|
||||
<file>resources/icons/view.svg</file>
|
||||
|
||||
<file>resources/icons/mana/B.svg</file>
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
# or set <category> = false to disable logging
|
||||
|
||||
#main = true
|
||||
#recording = true
|
||||
#qt_translator = true
|
||||
#window_main.* = true
|
||||
#release_channel = true
|
||||
|
|
|
|||
|
|
@ -1,793 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2646"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.4 r9943 custom"
|
||||
version="1.0"
|
||||
sodipodi:docname="arrow_down_green.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs2648">
|
||||
<linearGradient
|
||||
id="linearGradient3169">
|
||||
<stop
|
||||
style="stop-color:#0000ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3171" />
|
||||
<stop
|
||||
style="stop-color:#000067;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3173" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3175"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
id="linearGradient4766">
|
||||
<stop
|
||||
style="stop-color:#784421;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4768" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4770" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2396"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)" />
|
||||
<linearGradient
|
||||
id="linearGradient4758">
|
||||
<stop
|
||||
style="stop-color:#a05a2c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4760" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4762" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2399"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective2654" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2691"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2693"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2695"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2707"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2709"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2711"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3508"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3510"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3512"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3514"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3516"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3518"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3520"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3522"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3524"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2444"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2446"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2448"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2450"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2452"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2454"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2456"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2458"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2460"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2478"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2480"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2482"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2484"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2486"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2488"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2490"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2492"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2494"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2527"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2529"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2531"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2533"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2535"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2537"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2539"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2541"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2543"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2545"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2547"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2549"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2561"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2563"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2565"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2594"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2596"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2598"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2600"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2602"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2604"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2606"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2608"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2610"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2612"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2614"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2616"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2618"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2620"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2622"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.625"
|
||||
inkscape:cx="8.25663"
|
||||
inkscape:cy="31.788561"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1272"
|
||||
inkscape:window-height="723"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="23"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata2651">
|
||||
<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></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Pfeil"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:#96ff96;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 52.71118,29.086208 -12.351931,0 12.852459,-18.346676 -42.685714,0 12.327869,18.346676 -12.351929,0 21.104622,25.485735 z"
|
||||
id="rect2714"
|
||||
sodipodi:nodetypes="cccccccc"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 25 KiB |
4
cockatrice/resources/icons/arrow_down.svg
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M12 5v13"/>
|
||||
<path d="M18 12l-6 6-6-6"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 219 B |
|
|
@ -1,793 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2646"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.4 r9943 custom"
|
||||
version="1.0"
|
||||
sodipodi:docname="arrow_up_green.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs2648">
|
||||
<linearGradient
|
||||
id="linearGradient3169">
|
||||
<stop
|
||||
style="stop-color:#0000ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3171" />
|
||||
<stop
|
||||
style="stop-color:#000067;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3173" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3175"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
id="linearGradient4766">
|
||||
<stop
|
||||
style="stop-color:#784421;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4768" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4770" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2396"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)" />
|
||||
<linearGradient
|
||||
id="linearGradient4758">
|
||||
<stop
|
||||
style="stop-color:#a05a2c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4760" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4762" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2399"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective2654" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2691"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2693"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2695"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2707"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2709"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2711"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3508"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3510"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3512"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3514"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3516"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3518"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3520"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3522"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3524"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2444"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2446"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2448"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2450"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2452"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2454"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2456"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2458"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2460"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2478"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2480"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2482"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2484"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2486"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2488"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2490"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2492"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2494"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2527"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2529"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2531"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2533"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2535"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2537"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2539"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2541"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2543"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2545"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2547"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2549"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2561"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2563"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2565"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2594"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2596"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2598"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2600"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2602"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2604"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2606"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2608"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2610"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2612"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2614"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2616"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2618"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2620"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2622"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.625"
|
||||
inkscape:cx="8.25663"
|
||||
inkscape:cy="31.788561"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1272"
|
||||
inkscape:window-height="723"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="23"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata2651">
|
||||
<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></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Pfeil"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:#96ff96;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 53.104623,35.38129 -12.351931,0 0,-32.248315 -17.505386,0 0,32.248315 -12.351929,0 21.104622,25.485735 21.104624,-25.485735 z"
|
||||
id="rect2714"
|
||||
sodipodi:nodetypes="cccccccc"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 25 KiB |
|
|
@ -1,8 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
|
||||
<title>
|
||||
history
|
||||
</title>
|
||||
<path d="M9 6v5h.06l2.48 2.47 1.41-1.41L11 10.11V6H9z"/>
|
||||
<path d="M10 1a9 9 0 0 0-7.85 13.35L.5 16H6v-5.5l-2.38 2.38A7 7 0 1 1 10 17v2a9 9 0 0 0 0-18z"/>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M3 12a9 9 0 1 0 3-6.7"/>
|
||||
<path d="M3 4v5h5"/>
|
||||
<path d="M12 7v5l3 2"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 332 B After Width: | Height: | Size: 249 B |
4
cockatrice/resources/icons/arrow_left.svg
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M19 12H6"/>
|
||||
<path d="M12 6l-6 6 6 6"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 218 B |
|
|
@ -1,791 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2646"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.47pre4 r22446"
|
||||
version="1.0"
|
||||
sodipodi:docname="test.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs2648">
|
||||
<linearGradient
|
||||
id="linearGradient3169">
|
||||
<stop
|
||||
style="stop-color:#0000ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3171" />
|
||||
<stop
|
||||
style="stop-color:#000067;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3173" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3175"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
id="linearGradient4766">
|
||||
<stop
|
||||
style="stop-color:#784421;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4768" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4770" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2396"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)" />
|
||||
<linearGradient
|
||||
id="linearGradient4758">
|
||||
<stop
|
||||
style="stop-color:#a05a2c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4760" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4762" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2399"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective2654" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2691"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2693"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2695"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2707"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2709"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2711"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3508"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3510"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3512"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3514"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3516"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3518"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3520"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3522"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3524"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2444"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2446"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2448"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2450"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2452"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2454"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2456"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2458"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2460"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2478"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2480"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2482"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2484"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2486"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2488"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2490"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2492"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2494"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2527"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2529"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2531"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2533"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2535"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2537"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2539"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2541"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2543"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2545"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2547"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2549"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2561"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2563"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2565"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2594"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2596"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2598"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2600"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2602"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2604"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2606"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2608"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2610"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2612"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2614"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2616"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2618"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2620"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2622"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.203125"
|
||||
inkscape:cx="3.6095445"
|
||||
inkscape:cy="32"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1272"
|
||||
inkscape:window-height="718"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata2651">
|
||||
<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></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Pfeil"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:#96ff96;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="M 28.802264,8.8785925 2.0835141,31.441092 l 26.7187499,22.5625 0,-13.40625 31.59375,0 0,-18.3125 -31.59375,0 0,-13.4062495 z"
|
||||
id="rect4156" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 25 KiB |
|
|
@ -1,40 +1,4 @@
|
|||
<?xml version="1.0" encoding="windows-1252"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" x="0px"
|
||||
y="0px" width="485.212px" height="485.212px" viewBox="0 0 485.212 485.212"
|
||||
style="enable-background:new 0 0 485.212 485.212;" xml:space="preserve">
|
||||
<g>
|
||||
<path d="M242.607,424.559c-75.252,0-136.468-61.209-136.468-136.465c0-75.252,61.216-136.466,136.468-136.466v90.978 l151.629-121.302L242.607,0v90.978c-108.687,0-197.117,88.432-197.117,197.117c0,108.691,88.43,197.118,197.117,197.118 c108.687,0,197.114-88.427,197.114-197.118h-60.645C379.077,363.35,317.859,424.559,242.607,424.559z"/>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M15 14l5-5-5-5"/>
|
||||
<path d="M20 9H9.5A5.5 5.5 0 0 0 4 14.5a5.5 5.5 0 0 0 5.5 5.5H13"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1,018 B After Width: | Height: | Size: 263 B |
4
cockatrice/resources/icons/arrow_right.svg
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M5 12h13"/>
|
||||
<path d="M12 6l6 6-6 6"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 217 B |
|
|
@ -1,789 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2646"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.46"
|
||||
version="1.0"
|
||||
sodipodi:docname="add_to_sideboard.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs2648">
|
||||
<linearGradient
|
||||
id="linearGradient3169">
|
||||
<stop
|
||||
style="stop-color:#0000ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3171" />
|
||||
<stop
|
||||
style="stop-color:#000067;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3173" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3175"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
id="linearGradient4766">
|
||||
<stop
|
||||
style="stop-color:#784421;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4768" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4770" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2396"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)" />
|
||||
<linearGradient
|
||||
id="linearGradient4758">
|
||||
<stop
|
||||
style="stop-color:#a05a2c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4760" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4762" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2399"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective2654" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2691"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2693"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2695"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2707"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2709"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2711"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3508"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3510"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3512"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3514"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3516"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3518"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3520"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3522"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3524"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2444"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2446"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2448"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2450"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2452"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2454"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2456"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2458"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2460"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2478"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2480"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2482"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2484"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2486"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2488"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2490"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2492"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2494"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2527"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2529"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2531"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2533"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2535"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2537"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2539"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2541"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2543"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2545"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2547"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2549"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2561"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2563"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2565"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2594"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2596"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2598"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2600"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2602"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2604"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2606"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2608"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2610"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2612"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2614"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2616"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2618"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2620"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2622"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.625"
|
||||
inkscape:cx="-15.396123"
|
||||
inkscape:cy="31.722987"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1272"
|
||||
inkscape:window-height="723"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25" />
|
||||
<metadata
|
||||
id="metadata2651">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Pfeil"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:#64c0ff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 35.38129,10.895377 L 35.38129,23.247308 L 3.1329751,23.247308 L 3.1329751,40.752694 L 35.38129,40.752694 L 35.38129,53.104623 L 60.867025,32.000001 L 35.38129,10.895377 z"
|
||||
id="rect2714"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 25 KiB |
|
|
@ -1,789 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2646"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.46"
|
||||
version="1.0"
|
||||
sodipodi:docname="add_to_deck.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs2648">
|
||||
<linearGradient
|
||||
id="linearGradient3169">
|
||||
<stop
|
||||
style="stop-color:#0000ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3171" />
|
||||
<stop
|
||||
style="stop-color:#000067;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3173" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3175"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
id="linearGradient4766">
|
||||
<stop
|
||||
style="stop-color:#784421;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4768" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4770" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2396"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)" />
|
||||
<linearGradient
|
||||
id="linearGradient4758">
|
||||
<stop
|
||||
style="stop-color:#a05a2c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4760" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4762" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2399"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective2654" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2691"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2693"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2695"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2707"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2709"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2711"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3508"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3510"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3512"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3514"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3516"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3518"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3520"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3522"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3524"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2444"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2446"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2448"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2450"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2452"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2454"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2456"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2458"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2460"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2478"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2480"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2482"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2484"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2486"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2488"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2490"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2492"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2494"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2527"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2529"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2531"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2533"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2535"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2537"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2539"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2541"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2543"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2545"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2547"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2549"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2561"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2563"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2565"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2594"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2596"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2598"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2600"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2602"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2604"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2606"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2608"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2610"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2612"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2614"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2616"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2618"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2620"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2622"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.625"
|
||||
inkscape:cx="-45.970664"
|
||||
inkscape:cy="31.722987"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1272"
|
||||
inkscape:window-height="723"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25" />
|
||||
<metadata
|
||||
id="metadata2651">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Pfeil"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:#96ff96;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 35.38129,10.895377 L 35.38129,23.247308 L 3.1329751,23.247308 L 3.1329751,40.752694 L 35.38129,40.752694 L 35.38129,53.104623 L 60.867025,32.000001 L 35.38129,10.895377 z"
|
||||
id="rect2714"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 25 KiB |
5
cockatrice/resources/icons/arrow_right_sideboard.svg
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M3 12h9"/>
|
||||
<path d="M8 7l5 5-5 5"/>
|
||||
<path d="M16 7h4v10h-4"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 243 B |
5
cockatrice/resources/icons/arrow_to_bottom.svg
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M12 4v11"/>
|
||||
<path d="M6 9l6 6 6-6"/>
|
||||
<path d="M5 20h14"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 239 B |
5
cockatrice/resources/icons/arrow_to_top.svg
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M12 20V9"/>
|
||||
<path d="M6 15l6-6 6 6"/>
|
||||
<path d="M5 4h14"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 239 B |
|
|
@ -1,793 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2646"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.4 r9943 custom"
|
||||
version="1.0"
|
||||
sodipodi:docname="arrow_bottom_green.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs2648">
|
||||
<linearGradient
|
||||
id="linearGradient3169">
|
||||
<stop
|
||||
style="stop-color:#0000ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3171" />
|
||||
<stop
|
||||
style="stop-color:#000067;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3173" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3175"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
id="linearGradient4766">
|
||||
<stop
|
||||
style="stop-color:#784421;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4768" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4770" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2396"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)" />
|
||||
<linearGradient
|
||||
id="linearGradient4758">
|
||||
<stop
|
||||
style="stop-color:#a05a2c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4760" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4762" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2399"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective2654" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2691"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2693"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2695"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2707"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2709"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2711"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3508"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3510"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3512"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3514"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3516"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3518"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3520"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3522"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3524"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2444"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2446"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2448"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2450"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2452"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2454"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2456"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2458"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2460"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2478"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2480"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2482"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2484"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2486"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2488"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2490"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2492"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2494"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2527"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2529"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2531"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2533"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2535"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2537"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2539"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2541"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2543"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2545"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2547"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2549"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2561"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2563"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2565"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2594"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2596"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2598"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2600"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2602"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2604"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2606"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2608"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2610"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2612"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2614"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2616"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2618"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2620"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2622"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.625"
|
||||
inkscape:cx="8.25663"
|
||||
inkscape:cy="31.788561"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1272"
|
||||
inkscape:window-height="723"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="23"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata2651">
|
||||
<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></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Pfeil"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:#96ff96;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 11.002462,36.225266 12.351931,0 -12.852459,18.346676 42.685714,0 -12.327869,-18.346676 12.351929,0 -21.104622,-25.485734 z"
|
||||
id="rect2714"
|
||||
sodipodi:nodetypes="cccccccc"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 25 KiB |
|
|
@ -1,40 +1,4 @@
|
|||
<?xml version="1.0" encoding="windows-1252"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" x="0px"
|
||||
y="0px" width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;"
|
||||
xml:space="preserve">
|
||||
<g>
|
||||
<path d="M256,448c79.406,0,144-64.594,144-144s-64.594-144-144-144v96L96,128L256,0v96c114.688,0,208,93.313,208,208 c0,114.688-93.312,208-208,208c-114.687,0-208-93.312-208-208h64C112,383.406,176.594,448,256,448z"/>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M9 14 4 9l5-5"/>
|
||||
<path d="M4 9h10.5A5.5 5.5 0 0 1 20 14.5a5.5 5.5 0 0 1-5.5 5.5H11"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 874 B After Width: | Height: | Size: 263 B |
4
cockatrice/resources/icons/arrow_up.svg
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M12 19V6"/>
|
||||
<path d="M6 12l6-6 6 6"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 217 B |
|
|
@ -1,792 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2646"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.4 r9943 custom"
|
||||
version="1.0"
|
||||
sodipodi:docname="arrow_up_green.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs2648">
|
||||
<linearGradient
|
||||
id="linearGradient3169">
|
||||
<stop
|
||||
style="stop-color:#0000ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3171" />
|
||||
<stop
|
||||
style="stop-color:#000067;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3173" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3175"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
id="linearGradient4766">
|
||||
<stop
|
||||
style="stop-color:#784421;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4768" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4770" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2396"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)" />
|
||||
<linearGradient
|
||||
id="linearGradient4758">
|
||||
<stop
|
||||
style="stop-color:#a05a2c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4760" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4762" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2399"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective2654" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2691"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2693"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2695"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2707"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2709"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2711"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3508"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3510"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3512"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3514"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3516"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3518"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3520"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3522"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3524"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2444"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2446"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2448"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2450"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2452"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2454"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2456"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2458"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2460"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2478"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2480"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2482"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2484"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2486"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2488"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2490"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2492"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2494"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2527"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2529"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2531"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2533"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2535"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2537"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2539"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2541"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2543"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2545"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2547"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2549"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2561"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2563"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2565"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2594"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2596"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2598"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2600"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2602"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2604"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2606"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2608"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2610"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2612"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2614"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2616"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2618"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2620"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2622"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.625"
|
||||
inkscape:cx="8.25663"
|
||||
inkscape:cy="31.788561"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1272"
|
||||
inkscape:window-height="723"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="23"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata2651">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Pfeil"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:#96ff96;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 10.895377,28.61871 12.351931,0 0,32.248315 17.505386,0 0,-32.248315 12.351929,0 L 32.000001,3.132975 10.895377,28.61871 z"
|
||||
id="rect2714"
|
||||
sodipodi:nodetypes="cccccccc"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 25 KiB |
|
|
@ -1 +1,4 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M512 320C512 214 426 128 320 128L320 512C426 512 512 426 512 320zM64 320C64 178.6 178.6 64 320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576C178.6 576 64 461.4 64 320z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<circle cx="12" cy="12" r="9" fill="none" stroke="currentColor" stroke-width="2"/>
|
||||
<path d="M12 3a9 9 0 0 1 0 18z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 410 B After Width: | Height: | Size: 209 B |
|
|
@ -1,276 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="icon_clearsearch.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient3709">
|
||||
<stop
|
||||
style="stop-color:#4d4d4d;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3711" />
|
||||
<stop
|
||||
style="stop-color:white;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3713" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3699">
|
||||
<stop
|
||||
style="stop-color:#ececec;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3701" />
|
||||
<stop
|
||||
style="stop-color:#ececec;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3703" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3632">
|
||||
<stop
|
||||
style="stop-color:#c87137;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3634" />
|
||||
<stop
|
||||
style="stop-color:#c87137;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3636" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3622">
|
||||
<stop
|
||||
style="stop-color:#f9f9f9;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3624" />
|
||||
<stop
|
||||
style="stop-color:#f9f9f9;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3626" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
<inkscape:perspective
|
||||
id="perspective3685"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3709"
|
||||
id="linearGradient3726"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="22.288248"
|
||||
y1="35.505978"
|
||||
x2="49.488647"
|
||||
y2="49.106178" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3622"
|
||||
id="linearGradient3728"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="30.59761"
|
||||
y1="8.9243031"
|
||||
x2="30.59761"
|
||||
y2="21.545816" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3632"
|
||||
id="linearGradient3730"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="28.430279"
|
||||
y1="47.808765"
|
||||
x2="29.960159"
|
||||
y2="47.808765" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3699"
|
||||
id="linearGradient3732"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="29.215645"
|
||||
y1="1021.9559"
|
||||
x2="31.852083"
|
||||
y2="1021.9559" />
|
||||
<inkscape:perspective
|
||||
id="perspective3766"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective3797"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective3896"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3699"
|
||||
id="linearGradient3911"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="29.215645"
|
||||
y1="1021.9559"
|
||||
x2="31.852083"
|
||||
y2="1021.9559"
|
||||
gradientTransform="translate(713.20829,-318.19428)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3709"
|
||||
id="linearGradient3928"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="22.288248"
|
||||
y1="35.505978"
|
||||
x2="49.488647"
|
||||
y2="49.106178" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3622"
|
||||
id="linearGradient3930"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="30.59761"
|
||||
y1="8.9243031"
|
||||
x2="30.59761"
|
||||
y2="21.545816" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3632"
|
||||
id="linearGradient3932"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="28.430279"
|
||||
y1="47.808765"
|
||||
x2="29.960159"
|
||||
y2="47.808765" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3699"
|
||||
id="linearGradient3934"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(713.20829,-318.19428)"
|
||||
x1="29.215645"
|
||||
y1="1021.9559"
|
||||
x2="31.852083"
|
||||
y2="1021.9559" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.84375"
|
||||
inkscape:cx="11.205704"
|
||||
inkscape:cy="35.993597"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1028"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<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 />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-988.36218)" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Verbot">
|
||||
<g
|
||||
sodipodi:type="inkscape:box3d"
|
||||
style="fill:red;fill-opacity:1;stroke:black;stroke-width:0.30000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="g3936"
|
||||
inkscape:perspectiveID="#perspective10"
|
||||
inkscape:corner0="-32.72006 : 181.09419 : 0 : 1"
|
||||
inkscape:corner7="-365.7807 : 14.86007 : 0.25 : 1">
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3946"
|
||||
style="fill:#afafde;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="13"
|
||||
d="M -11.729084,0.76495424 L -1.0199203,-421.92491 L -1.5309297,-421.89731 L -17.73339,4.4426247 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3942"
|
||||
style="fill:#8686bf;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="3"
|
||||
d="M -11.729084,5241.4272 L -1.0199203,33.784832 L -1.0199203,-421.92491 L -11.729084,0.76495424 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3938"
|
||||
style="fill:#353564;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="6"
|
||||
d="M -11.729084,5241.4272 L -11.729084,0.76495424 L -17.73339,4.4426247 L -17.73339,5286.737 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3940"
|
||||
style="fill:#4d4d9f;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="5"
|
||||
d="M -11.729084,5241.4272 L -1.0199203,33.784832 L -1.5309297,34.124972 L -17.73339,5286.737 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3948"
|
||||
style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="11"
|
||||
d="M -17.73339,5286.737 L -1.5309297,34.124972 L -1.5309297,-421.89731 L -17.73339,4.4426247 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3944"
|
||||
style="fill:#d7d7ff;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="14"
|
||||
d="M -1.0199203,33.784832 L -1.0199203,-421.92491 L -1.5309297,-421.89731 L -1.5309297,34.124972 z" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:#ff0000;fill-opacity:1;stroke:#cd3535;stroke-width:5.84793520000000020;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="M 52.385908,50.646333 C 62.721799,39.279033 61.886144,21.695001 50.518842,11.359112 39.151542,1.0232223 21.567509,1.8588773 11.231623,13.22618 0.89573232,24.593479 1.7313874,42.177512 13.098689,52.5134 c 11.3673,10.335889 28.951332,9.500234 39.287219,-1.867067 z M 49.738687,48.239307 C 41.198715,57.631478 26.946973,58.753059 17.056847,51.15466 L 49.541588,15.428288 c 8.502064,9.124975 8.737071,23.418851 0.197099,32.811019 z M 46.560682,12.717855 14.075941,48.444228 C 5.5738777,39.31925 5.3388704,25.025377 13.878842,15.633206 22.418813,6.2410344 36.670557,5.1194531 46.560682,12.717855 z"
|
||||
id="path3787"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="8"/>
|
||||
<path d="M9 9l6 6M15 9l-6 6"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 231 B |
|
|
@ -1,29 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" width="102.5024mm" height="102.24421mm"
|
||||
viewBox="0 0 102.5024 102.24421" version="1.1"
|
||||
id="svg1"
|
||||
inkscape:version="1.4 (e7c3feb100, 2024-10-09)" sodipodi:docname="cog_wheel.svg"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview id="namedview1" pagecolor="#ffffff" bordercolor="#000000" borderopacity="0.25"
|
||||
inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1" inkscape:document-units="mm" inkscape:zoom="0.66101291"
|
||||
inkscape:cx="146.74449" inkscape:cy="193.64221" inkscape:window-width="1829"
|
||||
inkscape:window-height="951" inkscape:window-x="0" inkscape:window-y="0"
|
||||
inkscape:window-maximized="1" inkscape:current-layer="layer1"/>
|
||||
<defs id="defs1"/>
|
||||
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(-66.148059,-97.377896)">
|
||||
<g id="g1" transform="translate(-165.09777,-82.009607)">
|
||||
<g id="g2" transform="matrix(0.26458333,0,0,0.26458333,64.983323,161.37858)">
|
||||
<path style="fill:#333333;stroke-width:94.4882"
|
||||
d="m 721.34301,94.413051 40.00966,29.763289 29.51933,-9.27053 14.63768,-46.840589 36.83817,0.48792 13.41787,46.108699 28.29952,9.5145 40.74155,-28.299519 29.0314,21.468599 -15.85748,47.08454 16.58937,23.66426 48.30432,-2.68358 12.93,34.88648 -41.71741,27.07971 -0.48792,29.27536 40.49763,26.10387 -10.2464,34.15459 -48.54834,-0.97584 -18.78502,23.42029 15.85749,45.37681 -28.29952,21.71256 -41.22947,-29.27536 -28.54348,9.75846 -13.66184,47.57246 -38.30194,-0.73188 -14.63768,-48.30435 -27.07971,-9.27054 -40.00966,29.27537 -30.25121,-20.49276 17.32125,-46.35266 -17.80918,-24.64009 -49.76812,3.17149 -11.22222,-34.64251 40.74155,-27.07971 0.48792,-30.00725 -41.71739,-27.32367 12.19807,-32.93479 48.30435,2.68358 20.24879,-24.6401 -17.32126,-47.08455 z"
|
||||
id="path1"/>
|
||||
<circle style="fill:#f9f9f9;stroke-width:72.1317" id="path2" cx="822.09906" cy="261.28262"
|
||||
r="83.434792"/>
|
||||
<circle style="fill:#4d4d4d;stroke-width:40.5147" id="circle2" cx="822.09906" cy="261.28262"
|
||||
r="46.863361"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.5 KiB |
|
|
@ -1,103 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.47pre4 r22446"
|
||||
sodipodi:docname="skull.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
version="1.0">
|
||||
<defs
|
||||
id="defs4">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
<inkscape:perspective
|
||||
id="perspective2447"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective2687"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="18.217407"
|
||||
inkscape:cx="23.789126"
|
||||
inkscape:cy="21.065041"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g2551"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1274"
|
||||
inkscape:window-height="725"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="0" />
|
||||
<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></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<g
|
||||
id="g2547">
|
||||
<g
|
||||
id="g2551"
|
||||
transform="translate(0.2014828,0.2890558)">
|
||||
<path
|
||||
style="fill:#000000"
|
||||
d="m 23.0625,7.875 c -2.309245,0.049099 -4.522809,0.469358 -6.125,1.28125 l -1.625,0.8125 -3,2.9375 c -4.4036271,4.810187 -5.7159942,14.310988 -2.03289,16.192421 0.470391,0.240289 2.475497,1.006426 3.728817,1.227998 2.521045,0.445688 2.327223,0.322567 2.787218,1.340469 0.238995,0.528863 0.09446,1.428157 -0.0144,3.364112 -0.222151,3.951055 -0.06236,4.424776 1.59375,4.75 1.098431,0.21571 1.347302,-0.472438 1.21875,-3.15625 -0.115618,-2.413774 0.583332,-2.187741 1.1875,0.375 0.547478,2.322281 0.410725,2.936824 1.34375,2.9375 0.919623,6.65e-4 1.076314,-0.818043 1.34375,-3 0.353869,-2.887142 1.125,-3.139658 1.125,-0.375 0,2.08688 -0.222077,3.589602 1.6875,3.40625 1.132862,-0.108774 1.082149,-3.370508 0.9375,-4.09375 -0.121253,-0.606271 -0.04263,-0.84375 0.25,-0.84375 0.538278,0 0.77605,0.936782 0.78125,3.0625 0.0023,0.939922 0.100607,1.819357 0.21875,1.9375 0.257103,0.257101 1.968476,-0.05495 2.375,-0.4375 0.16137,-0.151853 0.01366,-2.350878 0.21875,-5 0.35428,-4.576122 1.366108,-2.962194 4.245673,-3.85919 4.126605,-1.285455 4.289077,-3.901867 4.285577,-7.64081 -0.0033,-3.474911 -1.444977,-7.288916 -3.75,-9.9375 l -1.0625,-1.21875 -1.875,-1.5 C 31.003675,8.7156929 26.911241,7.7931682 23.0625,7.875 z M 15.625,19.03125 c 3.394247,0 7.005748,2.293983 4.9375,3.96875 -0.883048,0.715048 -6.772942,-0.473271 -8.34375,-1.15625 -2.8401606,-1.234886 -0.0067,-2.8125 3.40625,-2.8125 z M 30.40625,19.625 c 0.636388,-0.004 1.310094,0.03125 1.9375,0.03125 3.145949,0 6.024182,0.340703 3.875,2.03125 -0.761324,0.598858 -1.605395,1.78125 -5.125,1.78125 -4.382431,0 -4.28125,0.0393 -4.28125,-1.625 0,-1.934908 1.684585,-2.206867 3.59375,-2.21875 z M 24,26.086963 24.75,27.59375 25.46711,29.015215 23.96875,28.875 22.336963,28.850537 23.25,27.5625 24,26.086963 z"
|
||||
transform="translate(-0.2014828,-0.2890558)"
|
||||
id="path2693"
|
||||
sodipodi:nodetypes="ccccssssssssssssssssssscccccssccsssscccccccc" />
|
||||
<rect
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
id="rect3702"
|
||||
width="3.0739832"
|
||||
height="9.9355526"
|
||||
x="41.498772"
|
||||
y="27.689754"
|
||||
transform="translate(-0.2014828,-0.2890558)" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g2471"
|
||||
transform="matrix(4.0064997,0,0,4.0064997,-232.82633,-1139.1808)" />
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M5 21V4"/>
|
||||
<path d="M5 4h12l-2 4 2 4H5"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 219 B |
|
|
@ -1,205 +1,3 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2646"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
version="1.0"
|
||||
sodipodi:docname="deck_editor_decrement.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs2648">
|
||||
<linearGradient
|
||||
id="linearGradient3169">
|
||||
<stop
|
||||
style="stop-color:#0000ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3171" />
|
||||
<stop
|
||||
style="stop-color:#000067;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3173" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4766">
|
||||
<stop
|
||||
style="stop-color:#784421;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4768" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4770" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4758">
|
||||
<stop
|
||||
style="stop-color:#a05a2c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4760" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4762" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective2654" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3508"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3510"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3512"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3514"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3516"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3518"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3520"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3522"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3524"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.625"
|
||||
inkscape:cx="26.34754"
|
||||
inkscape:cy="29.107677"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1445"
|
||||
inkscape:window-height="893"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata2651">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Pfeil"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:#ff7672;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
|
||||
id="rect3548"
|
||||
width="14.386732"
|
||||
height="59.259636"
|
||||
x="24.806633"
|
||||
y="-61.629818"
|
||||
transform="matrix(0,1,-1,0,0,0)" />
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M5 12h14"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 189 B |
|
|
@ -1,357 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2646"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.47pre4 r22446"
|
||||
version="1.0"
|
||||
sodipodi:docname="remove_row.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs2648">
|
||||
<linearGradient
|
||||
id="linearGradient3169">
|
||||
<stop
|
||||
style="stop-color:#0000ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3171" />
|
||||
<stop
|
||||
style="stop-color:#000067;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3173" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4766">
|
||||
<stop
|
||||
style="stop-color:#784421;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4768" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4770" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4758">
|
||||
<stop
|
||||
style="stop-color:#a05a2c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4760" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4762" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective2654" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3508"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3510"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3512"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3514"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3516"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3518"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3520"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3522"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3524"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2442"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2444"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2446"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2470"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2472"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2474"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2476"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2478"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2480"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2482"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2484"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2486"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2488"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2490"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2492"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.625"
|
||||
inkscape:cx="12.656427"
|
||||
inkscape:cy="31.784541"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="725"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata2651">
|
||||
<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></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Pfeil"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
|
||||
d="M 6.433227,14.50946 L 23.923767,32 L 6.433227,49.490541 L 14.50946,57.566773 L 32,40.076233 L 49.490541,57.566773 L 57.566773,49.490541 L 40.076233,32 L 57.566773,14.50946 L 49.490541,6.433227 L 32,23.923767 L 14.50946,6.433227 L 6.433227,14.50946 z"
|
||||
id="rect3548" />
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M4 7h16"/>
|
||||
<path d="M9 7V4h6v3"/>
|
||||
<path d="M6 7l1 13h10l1-13"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 245 B |
|
|
@ -1 +1,6 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M352 188.5L300.1 175.5C293.6 173.9 288.8 168.4 288.1 161.7C287.4 155 290.9 148.6 296.8 145.6L337.6 125.2L294.3 92.7C288.8 88.6 286.5 81.4 288.7 74.8C290.9 68.2 297.1 64 304 64L464 64C494.2 64 522.7 78.2 540.8 102.4L598.4 179.2C604.6 187.5 608 197.6 608 208C608 234.5 586.5 256 560 256L538.5 256C521.5 256 505.2 249.3 493.2 237.3L479.9 224L447.9 224L447.9 245.5C447.9 270.3 460.7 293.4 481.7 306.6L588.3 373.2C620.4 393.3 639.9 428.4 639.9 466.3C639.9 526.9 590.8 576.1 530.1 576.1L32.3 576C29 576 25.7 575.6 22.7 574.6C13.5 571.8 6 565 2.3 556C1 552.7 .1 549.1 0 545.3C-.2 541.6 .3 538 1.3 534.6C4.1 525.4 10.9 517.9 19.9 514.2C22.9 513 26.1 512.2 29.4 512L433.3 476C441.6 475.3 448 468.3 448 459.9C448 455.6 446.3 451.5 443.3 448.5L398.9 404.1C368.9 374.1 352 333.4 352 291L352 188.5zM512 136.3C512 136.2 512 136.1 512 136C512 135.9 512 135.8 512 135.7L512 136.3zM510.7 143.7L464.3 132.1C464.1 133.4 464 134.7 464 136C464 149.3 474.7 160 488 160C498.6 160 507.5 153.2 510.7 143.7zM130.9 180.5C147.2 166 171.3 164.3 189.4 176.4L320 263.4L320 290.9C320 323.7 328.4 355.7 344 383.9L112 383.9C105.3 383.9 99.3 379.7 97 373.5C94.7 367.3 96.5 360.2 101.6 355.8L171 296.3L18.4 319.8C11.4 320.9 4.5 317.2 1.5 310.8C-1.5 304.4 .1 296.8 5.4 292L130.9 180.5z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
|
||||
<!-- Font Awesome Free 7.1.0, CC BY 4.0 / MIT; https://fontawesome.com/license/free -->
|
||||
<g transform="translate(2 2) scale(0.03125)">
|
||||
<path d="M352 188.5L300.1 175.5C293.6 173.9 288.8 168.4 288.1 161.7C287.4 155 290.9 148.6 296.8 145.6L337.6 125.2L294.3 92.7C288.8 88.6 286.5 81.4 288.7 74.8C290.9 68.2 297.1 64 304 64L464 64C494.2 64 522.7 78.2 540.8 102.4L598.4 179.2C604.6 187.5 608 197.6 608 208C608 234.5 586.5 256 560 256L538.5 256C521.5 256 505.2 249.3 493.2 237.3L479.9 224L447.9 224L447.9 245.5C447.9 270.3 460.7 293.4 481.7 306.6L588.3 373.2C620.4 393.3 639.9 428.4 639.9 466.3C639.9 526.9 590.8 576.1 530.1 576.1L32.3 576C29 576 25.7 575.6 22.7 574.6C13.5 571.8 6 565 2.3 556C1 552.7 .1 549.1 0 545.3C-.2 541.6 .3 538 1.3 534.6C4.1 525.4 10.9 517.9 19.9 514.2C22.9 513 26.1 512.2 29.4 512L433.3 476C441.6 475.3 448 468.3 448 459.9C448 455.6 446.3 451.5 443.3 448.5L398.9 404.1C368.9 374.1 352 333.4 352 291L352 188.5zM512 136.3C512 136.2 512 136.1 512 136C512 135.9 512 135.8 512 135.7L512 136.3zM510.7 143.7L464.3 132.1C464.1 133.4 464 134.7 464 136C464 149.3 474.7 160 488 160C498.6 160 507.5 153.2 510.7 143.7zM130.9 180.5C147.2 166 171.3 164.3 189.4 176.4L320 263.4L320 290.9C320 323.7 328.4 355.7 344 383.9L112 383.9C105.3 383.9 99.3 379.7 97 373.5C94.7 367.3 96.5 360.2 101.6 355.8L171 296.3L18.4 319.8C11.4 320.9 4.5 317.2 1.5 310.8C-1.5 304.4 .1 296.8 5.4 292L130.9 180.5z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
|
|
@ -1,10 +1,3 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 12.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
|
||||
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
|
||||
<!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
|
||||
]>
|
||||
<svg version="1.1" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="460.5" height="531.74"
|
||||
viewBox="0 0 460.5 531.74" overflow="visible" enable-background="new 0 0 460.5 531.74" xml:space="preserve">
|
||||
<polygon fill="#918d8d" points="0.5,0.866 459.5,265.87 0.5,530.874 "/>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M9 6l6 6-6 6"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 657 B After Width: | Height: | Size: 191 B |
|
|
@ -1,10 +1,3 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 12.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
|
||||
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
|
||||
<!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
|
||||
]>
|
||||
<svg version="1.1" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="531.74" height="460.5"
|
||||
viewBox="0 0 531.74 460.5" overflow="visible" enable-background="new 0 0 531.74 460.5" xml:space="preserve">
|
||||
<polygon fill="#918d8d" points="530.874,0.5 265.87,459.5 0.866,0.5 "/>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M6 9l6 6 6-6"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 657 B After Width: | Height: | Size: 191 B |
|
|
@ -1,12 +1,3 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg fill="#000000" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg"
|
||||
width="800px" height="800px" viewBox="0 0 971.986 971.986"
|
||||
xml:space="preserve">
|
||||
<g>
|
||||
<path d="M370.216,459.3c10.2,11.1,15.8,25.6,15.8,40.6v442c0,26.601,32.1,40.101,51.1,21.4l123.3-141.3
|
||||
c16.5-19.8,25.6-29.601,25.6-49.2V500c0-15,5.7-29.5,15.8-40.601L955.615,75.5c26.5-28.8,6.101-75.5-33.1-75.5h-873
|
||||
c-39.2,0-59.7,46.6-33.1,75.5L370.216,459.3z"/>
|
||||
</g>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M3 5h18l-7 8v6l-4 2v-8z"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 676 B After Width: | Height: | Size: 202 B |
|
|
@ -1 +1,5 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M160 96C124.7 96 96 124.7 96 160L96 480C96 515.3 124.7 544 160 544L480 544C515.3 544 544 515.3 544 480L544 237.3C544 220.3 537.3 204 525.3 192L448 114.7C436 102.7 419.7 96 402.7 96L160 96zM192 192C192 174.3 206.3 160 224 160L384 160C401.7 160 416 174.3 416 192L416 256C416 273.7 401.7 288 384 288L224 288C206.3 288 192 273.7 192 256L192 192zM320 352C355.3 352 384 380.7 384 416C384 451.3 355.3 480 320 480C284.7 480 256 451.3 256 416C256 380.7 284.7 352 320 352z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M5 3h11l3 3v15H5z"/>
|
||||
<path d="M8 3v6h8V3"/>
|
||||
<path d="M8 14h8v7H8z"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 693 B After Width: | Height: | Size: 248 B |
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48pt" height="48pt" viewBox="0 0 48 48" version="1.1">
|
||||
<g id="surface1">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:#000000;fill-opacity:1;" d="M 24 2 C 17.398438 2 12 7.398438 12 14 L 12 16 C 9.789063 16 8 17.789063 8 20 L 8 40 C 8 42.210938 9.789063 44 12 44 L 36 44 C 38.210938 44 40 42.210938 40 40 L 40 20 C 40 17.789063 38.210938 16 36 16 L 36 14 C 36 7.398438 30.601563 2 24 2 Z M 24 6 C 28.4375 6 32 9.5625 32 14 L 32 16 L 16 16 L 16 14 C 16 9.5625 19.554688 6 24 6 Z M 23.9375 19.9375 C 29.929688 19.9375 30 24.398438 30 25.25 C 30 29.71875 25.125 29.96875 25.375 33.875 L 21.875 33.875 C 21.578125 28.632813 26.0625 28.398438 26.0625 25.4375 C 26.0625 23.3125 24.632813 23.125 23.9375 23.125 C 21.859375 23.125 21.757813 25.09375 21.75 25.5 L 17.8125 25.5 C 17.820313 24.554688 18.015625 19.9375 23.9375 19.9375 Z M 23.6875 35.9375 C 25.671875 35.9375 25.875 37.765625 25.875 38.0625 C 25.875 38.351563 25.671875 40.125 23.6875 40.125 C 21.632813 40.125 21.5 38.351563 21.5 38.0625 C 21.5 37.765625 21.671875 35.9375 23.6875 35.9375 Z "/>
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<circle cx="7.5" cy="15.5" r="3.5"/>
|
||||
<path d="M10 13l9-9"/>
|
||||
<path d="M16 4l4 4"/>
|
||||
<path d="M14 6l3 3"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 276 B |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M259.1 73.5C262.1 58.7 275.2 48 290.4 48L350.2 48C365.4 48 378.5 58.7 381.5 73.5L396 143.5C410.1 149.5 423.3 157.2 435.3 166.3L503.1 143.8C517.5 139 533.3 145 540.9 158.2L570.8 210C578.4 223.2 575.7 239.8 564.3 249.9L511 297.3C511.9 304.7 512.3 312.3 512.3 320C512.3 327.7 511.8 335.3 511 342.7L564.4 390.2C575.8 400.3 578.4 417 570.9 430.1L541 481.9C533.4 495 517.6 501.1 503.2 496.3L435.4 473.8C423.3 482.9 410.1 490.5 396.1 496.6L381.7 566.5C378.6 581.4 365.5 592 350.4 592L290.6 592C275.4 592 262.3 581.3 259.3 566.5L244.9 496.6C230.8 490.6 217.7 482.9 205.6 473.8L137.5 496.3C123.1 501.1 107.3 495.1 99.7 481.9L69.8 430.1C62.2 416.9 64.9 400.3 76.3 390.2L129.7 342.7C128.8 335.3 128.4 327.7 128.4 320C128.4 312.3 128.9 304.7 129.7 297.3L76.3 249.8C64.9 239.7 62.3 223 69.8 209.9L99.7 158.1C107.3 144.9 123.1 138.9 137.5 143.7L205.3 166.2C217.4 157.1 230.6 149.5 244.6 143.4L259.1 73.5zM320.3 400C364.5 399.8 400.2 363.9 400 319.7C399.8 275.5 363.9 239.8 319.7 240C275.5 240.2 239.8 276.1 240 320.3C240.2 364.5 276.1 400.2 320.3 400z"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
|
|
@ -1,199 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2646"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.46"
|
||||
version="1.0"
|
||||
sodipodi:docname="increment.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs2648">
|
||||
<linearGradient
|
||||
id="linearGradient3169">
|
||||
<stop
|
||||
style="stop-color:#0000ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3171" />
|
||||
<stop
|
||||
style="stop-color:#000067;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3173" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4766">
|
||||
<stop
|
||||
style="stop-color:#784421;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4768" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4770" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4758">
|
||||
<stop
|
||||
style="stop-color:#a05a2c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4760" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4762" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective2654" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3508"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3510"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3512"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3514"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3516"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3518"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3520"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3522"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3524"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.625"
|
||||
inkscape:cx="-58.636066"
|
||||
inkscape:cy="33.549415"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1272"
|
||||
inkscape:window-height="723"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="248" />
|
||||
<metadata
|
||||
id="metadata2651">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Pfeil"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:#96ff96;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 25.592359,5.717815 L 25.592359,25.62856 L 5.681613,25.62856 L 5.681613,38.371435 L 25.592359,38.371435 L 25.592359,58.282185 L 38.40764,58.282185 L 38.40764,38.371435 L 58.318387,38.371435 L 58.318387,25.62856 L 38.40764,25.62856 L 38.40764,5.717815 L 25.592359,5.717815 z"
|
||||
id="rect3546" />
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M12 5v14"/>
|
||||
<path d="M5 12h14"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 212 B |
|
|
@ -1,43 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="100"
|
||||
height="100"
|
||||
id="svg2858"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="info.svg">
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Triangle"
|
||||
style="display:inline">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#aaaaaa;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
id="path3758-1"
|
||||
sodipodi:cx="53.900002"
|
||||
sodipodi:cy="78.5"
|
||||
sodipodi:rx="46.5"
|
||||
sodipodi:ry="46.5"
|
||||
d="M 100.4,78.5 A 46.5,46.5 0 1 1 7.4000015,78.5 46.5,46.5 0 1 1 100.4,78.5 z"
|
||||
transform="matrix(1.05866,0,0,1.05866,-7.0617752,-32.704809)" />
|
||||
<g
|
||||
style="font-size:133.49534607px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.06498075;stroke-opacity:1;font-family:'Magic:the Gathering';-inkscape-font-specification:'Magic:the Gathering'"
|
||||
id="text3759">
|
||||
<path
|
||||
d="m 46.854005,16.085692 c 0.977733,-2.411704 1.683885,-4.193378 2.118456,-5.345028 0.369355,-1.1514901 0.771318,-1.9988718 1.205891,-2.5421482 0.456264,-0.4344718 1.347101,-0.825571 2.672514,-1.1732989 1.23846,-0.2823765 2.705082,-0.4670623 4.399871,-0.5540578 0.369346,8.46e-5 0.727854,8.46e-5 1.075524,0 1.694737,8.46e-5 2.672485,0.5758696 2.933248,1.7273567 -3e-5,0.1956326 -3e-5,0.3803183 0,0.5540579 -3e-5,1.3254743 -0.662726,2.9224633 -1.98809,4.7909703 -1.520969,2.238035 -3.43301,4.24785 -5.736128,6.029453 -2.32489,1.760018 -4.551983,2.781222 -6.681286,3.063614 -1.260224,-0.543125 -1.977239,-1.075454 -2.151048,-1.59699 -1.3e-5,-0.08684 -1.3e-5,-0.184616 0,-0.293325 -1.3e-5,-0.434484 0.228128,-1.010269 0.684424,-1.727357 0.521453,-0.890765 1.010327,-1.868513 1.466624,-2.933247 z M 31.372977,37.856906 c 2.650785,-0.716962 6.159814,-1.651255 10.527099,-2.802881 4.280354,-1.173242 7.398284,-1.803346 9.3538,-1.890315 0.08689,5.8e-5 0.173803,5.8e-5 0.260733,0 1.06464,5.8e-5 1.82511,0.358566 2.281415,1.075524 0.260711,0.630161 0.391077,1.520998 0.391099,2.672514 -2.2e-5,0.260787 -2.2e-5,0.532384 0,0.814791 -0.173844,1.586178 -0.260755,2.781204 -0.260733,3.58508 l 0,39.533656 c 1.238459,1e-5 2.976678,-0.673549 5.214662,-2.020681 1.673009,-0.977736 2.868034,-1.46661 3.58508,-1.466624 0.173791,1.4e-5 0.304158,0.04347 0.3911,0.130367 0.543162,0.369385 0.814759,0.771348 0.814791,1.20589 -3.2e-5,1.151583 -1.868617,2.66166 -5.605762,4.530238 -1.238507,0.717023 -3.063637,1.922912 -5.475395,3.617671 -2.49871,1.781679 -4.769259,3.204846 -6.811652,4.269505 -0.347658,0.347644 -0.923443,0.662696 -1.727357,0.945157 -0.260745,0.08691 -0.532342,0.130366 -0.814791,0.130367 -0.521477,-10e-7 -1.010351,-0.271598 -1.466623,-0.814791 C 41.856611,91.111641 41.7697,81.594892 41.76971,62.8221 c -1e-5,-1.955468 -1e-5,-4.008739 0,-6.15982 -1e-5,-2.129283 -0.08692,-4.128235 -0.260734,-5.996861 -0.260742,-1.781634 -0.706161,-3.204801 -1.336257,-4.269504 -0.717023,-1.347075 -1.60786,-2.368279 -2.672514,-3.063614 -1.151576,-0.630057 -2.357465,-1.260161 -3.617672,-1.890315 -1.325394,-0.521416 -2.161911,-1.053746 -2.509556,-1.59699 -0.195549,-0.173771 -0.293324,-0.434504 -0.293324,-0.7822 -0.08691,-0.369319 0.01086,-0.771282 0.293324,-1.20589 z"
|
||||
style=""
|
||||
id="path2993" />
|
||||
</g>
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="9"/>
|
||||
<path d="M12 11v6"/>
|
||||
<path d="M12 7.5h.01"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 247 B |
|
|
@ -1,750 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="128.00000"
|
||||
id="svg1931"
|
||||
version="1.0"
|
||||
width="128.00000"
|
||||
x="0.00000000"
|
||||
y="0.00000000"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="lock.svg">
|
||||
<sodipodi:namedview
|
||||
inkscape:window-height="933"
|
||||
inkscape:window-width="1163"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
guidetolerance="10.0"
|
||||
gridtolerance="10.0"
|
||||
objecttolerance="10.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
inkscape:zoom="4"
|
||||
inkscape:cx="-26.577351"
|
||||
inkscape:cy="72.426878"
|
||||
inkscape:window-x="204"
|
||||
inkscape:window-y="90"
|
||||
inkscape:current-layer="g5908"
|
||||
showgrid="false"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata3">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:title>padlock</dc:title>
|
||||
<dc:description />
|
||||
<dc:subject>
|
||||
<rdf:Bag>
|
||||
<rdf:li>icon</rdf:li>
|
||||
<rdf:li />
|
||||
<rdf:li>lock</rdf:li>
|
||||
<rdf:li>security</rdf:li>
|
||||
<rdf:li>secure</rdf:li>
|
||||
<rdf:li>padlock</rdf:li>
|
||||
<rdf:li>signs_and_symbols</rdf:li>
|
||||
</rdf:Bag>
|
||||
</dc:subject>
|
||||
<dc:publisher>
|
||||
<cc:Agent
|
||||
rdf:about="http://www.openclipart.org">
|
||||
<dc:title>AJ Ashton</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:publisher>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>AJ Ashton</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:rights>
|
||||
<cc:Agent>
|
||||
<dc:title>AJ Ashton</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:rights>
|
||||
<dc:date />
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<cc:license
|
||||
rdf:resource="http://web.resource.org/cc/PublicDomain" />
|
||||
<dc:language>en</dc:language>
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://web.resource.org/cc/PublicDomain">
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Distribution" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs3">
|
||||
<linearGradient
|
||||
id="linearGradient3057">
|
||||
<stop
|
||||
id="stop3059"
|
||||
offset="0.00000000"
|
||||
style="stop-color:#282828;stop-opacity:1.0000000;" />
|
||||
<stop
|
||||
id="stop3061"
|
||||
offset="1.0000000"
|
||||
style="stop-color:#282828;stop-opacity:0.00000000;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient2834">
|
||||
<stop
|
||||
id="stop2836"
|
||||
offset="0"
|
||||
style="stop-color:#e59a00;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop2838"
|
||||
offset="1"
|
||||
style="stop-color:#faff7d;stop-opacity:0.18367347;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient2780">
|
||||
<stop
|
||||
id="stop2782"
|
||||
offset="0.00000000"
|
||||
style="stop-color:#ffffff;stop-opacity:1.0000000;" />
|
||||
<stop
|
||||
id="stop2784"
|
||||
offset="1.0000000"
|
||||
style="stop-color:#ffffff;stop-opacity:0.00000000;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient2713">
|
||||
<stop
|
||||
id="stop2715"
|
||||
offset="0.00000000"
|
||||
style="stop-color:#000000;stop-opacity:1.0000000;" />
|
||||
<stop
|
||||
id="stop2717"
|
||||
offset="1.0000000"
|
||||
style="stop-color:#ffffff;stop-opacity:1.0000000;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient2701">
|
||||
<stop
|
||||
id="stop2703"
|
||||
offset="0"
|
||||
style="stop-color:#db9300;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop2770"
|
||||
offset="0.75"
|
||||
style="stop-color:#fac700;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop2705"
|
||||
offset="1"
|
||||
style="stop-color:#fff363;stop-opacity:1;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
gradientTransform="matrix(2.151801,0.000000,0.000000,1.770850,-5.130350e-2,4.351838)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient2707"
|
||||
spreadMethod="reflect"
|
||||
x1="29.613848"
|
||||
x2="44.723549"
|
||||
xlink:href="#linearGradient2701"
|
||||
y1="52.608921"
|
||||
y2="52.608921" />
|
||||
<linearGradient
|
||||
gradientTransform="matrix(1.121224,0.000000,0.000000,0.891883,0.000000,4.000000)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient2719"
|
||||
spreadMethod="reflect"
|
||||
x1="28.071486"
|
||||
x2="28.071486"
|
||||
xlink:href="#linearGradient2713"
|
||||
y1="40.272228"
|
||||
y2="42.645634" />
|
||||
<linearGradient
|
||||
gradientTransform="matrix(2.218790,0.000000,0.000000,1.825981,-5.130350e-2,-1.012826)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient2732"
|
||||
spreadMethod="reflect"
|
||||
x1="29.093641"
|
||||
x2="29.093641"
|
||||
xlink:href="#linearGradient2713"
|
||||
y1="46.357063"
|
||||
y2="47.295517" />
|
||||
<linearGradient
|
||||
gradientTransform="matrix(2.218790,0.000000,0.000000,1.825981,-5.130350e-2,-1.012826)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient2736"
|
||||
spreadMethod="reflect"
|
||||
x1="24.261463"
|
||||
x2="24.605862"
|
||||
xlink:href="#linearGradient2713"
|
||||
y1="44.011002"
|
||||
y2="45.887836" />
|
||||
<linearGradient
|
||||
gradientTransform="scale(1.102326,0.907173)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient2740"
|
||||
spreadMethod="reflect"
|
||||
x1="17.681860"
|
||||
x2="17.425413"
|
||||
xlink:href="#linearGradient2713"
|
||||
y1="60.433849"
|
||||
y2="62.779984" />
|
||||
<radialGradient
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
gradientTransform="matrix(0.433337,0.000000,0.000000,1.434961,6.409890,-0.113137)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2788"
|
||||
r="15.156592"
|
||||
xlink:href="#linearGradient2780" />
|
||||
<radialGradient
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
gradientTransform="matrix(0.500069,0.000000,0.000000,1.675192,5.002970,-5.108149)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2792"
|
||||
r="15.156592"
|
||||
xlink:href="#linearGradient2780" />
|
||||
<radialGradient
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
gradientTransform="matrix(0.621397,0.000000,0.000000,1.882058,2.388831,-9.409409)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2796"
|
||||
r="15.156592"
|
||||
xlink:href="#linearGradient2780" />
|
||||
<radialGradient
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
gradientTransform="matrix(0.433337,0.000000,0.000000,1.434961,6.409890,-0.113137)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2811"
|
||||
r="15.156592"
|
||||
xlink:href="#linearGradient2780" />
|
||||
<radialGradient
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
gradientTransform="matrix(0.500069,0.000000,0.000000,1.675192,5.002970,-5.108149)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2813"
|
||||
r="15.156592"
|
||||
xlink:href="#linearGradient2780" />
|
||||
<radialGradient
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
gradientTransform="matrix(0.621397,0.000000,0.000000,1.882058,2.388831,-9.409409)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2815"
|
||||
r="15.156592"
|
||||
xlink:href="#linearGradient2780" />
|
||||
<radialGradient
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
gradientTransform="matrix(0.433337,0.000000,0.000000,1.434961,6.409890,-0.113137)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2817"
|
||||
r="15.156592"
|
||||
xlink:href="#linearGradient2780" />
|
||||
<radialGradient
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
gradientTransform="matrix(0.500069,0.000000,0.000000,1.675192,5.002970,-5.108149)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2819"
|
||||
r="15.156592"
|
||||
xlink:href="#linearGradient2780" />
|
||||
<radialGradient
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
gradientTransform="matrix(0.621397,0.000000,0.000000,1.882058,2.388831,-9.409409)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2821"
|
||||
r="15.156592"
|
||||
xlink:href="#linearGradient2780" />
|
||||
<radialGradient
|
||||
cx="17.191872"
|
||||
cy="14.639010"
|
||||
fx="17.191872"
|
||||
fy="14.639010"
|
||||
gradientTransform="scale(1.896245,0.527358)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2840"
|
||||
r="3.5649405"
|
||||
xlink:href="#linearGradient2834" />
|
||||
<radialGradient
|
||||
cx="21.595108"
|
||||
cy="8.9813547"
|
||||
fx="21.595108"
|
||||
fy="8.9813547"
|
||||
gradientTransform="matrix(2.366562,0,0,1.726511,-0.404355,-1.2826e-2)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2869"
|
||||
r="6.0678878"
|
||||
xlink:href="#linearGradient2834" />
|
||||
<radialGradient
|
||||
cx="21.595108"
|
||||
cy="8.9813547"
|
||||
fx="21.595108"
|
||||
fy="8.9813547"
|
||||
gradientTransform="matrix(-2.366562,0,0,1.726511,129.1226,-0.112925)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2873"
|
||||
r="6.0678878"
|
||||
xlink:href="#linearGradient2834" />
|
||||
<linearGradient
|
||||
gradientTransform="matrix(2.161083,0,0,1.804543,-5.13035e-2,2.267068)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient2895"
|
||||
x1="33.184048"
|
||||
x2="33.184048"
|
||||
xlink:href="#linearGradient2780"
|
||||
y1="24.384579"
|
||||
y2="-13.170087" />
|
||||
<radialGradient
|
||||
cx="27.270315"
|
||||
cy="16.278088"
|
||||
fx="27.270315"
|
||||
fy="16.278088"
|
||||
gradientTransform="scale(0.973329,1.027402)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2929"
|
||||
r="13.638700"
|
||||
xlink:href="#linearGradient2780" />
|
||||
<linearGradient
|
||||
gradientTransform="matrix(2.210222,0,0,1.964283,-1.515862,-2.171324)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient2935"
|
||||
x1="33.184048"
|
||||
x2="33.184048"
|
||||
xlink:href="#linearGradient2780"
|
||||
y1="24.384579"
|
||||
y2="-13.170087" />
|
||||
<linearGradient
|
||||
gradientTransform="matrix(1.632005,0,0,2.482509,-5.13035e-2,-1.2826e-2)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient2943"
|
||||
x1="38.781849"
|
||||
x2="38.781849"
|
||||
xlink:href="#linearGradient2780"
|
||||
y1="9.5745525"
|
||||
y2="7.5863166" />
|
||||
<linearGradient
|
||||
gradientTransform="matrix(1.63752,0,0,2.47415,-5.13035e-2,-1.2826e-2)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient2951"
|
||||
x1="38.362892"
|
||||
x2="39.723621"
|
||||
xlink:href="#linearGradient2780"
|
||||
y1="11.170151"
|
||||
y2="6.0918369" />
|
||||
<radialGradient
|
||||
cx="21.595108"
|
||||
cy="8.9813547"
|
||||
fx="21.595108"
|
||||
fy="8.9813547"
|
||||
gradientTransform="matrix(3.085042,0,0,2.052895,-15.9848,-3.14928)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2955"
|
||||
r="6.0678878"
|
||||
xlink:href="#linearGradient2834" />
|
||||
<radialGradient
|
||||
cx="21.595108"
|
||||
cy="8.9813547"
|
||||
fx="21.595108"
|
||||
fy="8.9813547"
|
||||
gradientTransform="matrix(-2.846279,0,0,2.087943,139.5254,-3.586178)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2959"
|
||||
r="6.0678878"
|
||||
xlink:href="#linearGradient2834" />
|
||||
<radialGradient
|
||||
cx="8.0178375"
|
||||
cy="231.98276"
|
||||
fx="8.0178375"
|
||||
fy="231.98276"
|
||||
gradientTransform="scale(3.741657,0.267261)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient3063"
|
||||
r="7.4833150"
|
||||
xlink:href="#linearGradient3057" />
|
||||
<radialGradient
|
||||
cx="8.0178375"
|
||||
cy="231.98276"
|
||||
fx="8.0178375"
|
||||
fy="231.98276"
|
||||
gradientTransform="scale(3.741657,0.267261)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient3069"
|
||||
r="7.4833150"
|
||||
xlink:href="#linearGradient3057" />
|
||||
<radialGradient
|
||||
cx="8.0178375"
|
||||
cy="231.98276"
|
||||
fx="8.0178375"
|
||||
fy="231.98276"
|
||||
gradientTransform="scale(3.741657,0.267261)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient3071"
|
||||
r="7.4833150"
|
||||
xlink:href="#linearGradient3057" />
|
||||
<linearGradient
|
||||
gradientTransform="matrix(2.136116,0.000000,0.000000,1.825981,2.348697,-1.012826)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient3080"
|
||||
spreadMethod="pad"
|
||||
x1="26.974447"
|
||||
x2="26.974447"
|
||||
xlink:href="#linearGradient2780"
|
||||
y1="68.680031"
|
||||
y2="44.981197" />
|
||||
<linearGradient
|
||||
gradientTransform="matrix(1.632005,0,0,2.436073,-5.13035e-2,2.009678)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient3084"
|
||||
x1="35.995708"
|
||||
x2="35.995708"
|
||||
xlink:href="#linearGradient2780"
|
||||
y1="1.6246380"
|
||||
y2="11.710631" />
|
||||
<linearGradient
|
||||
gradientTransform="matrix(2.218790,0.000000,0.000000,1.825981,-5.130350e-2,-1.012826)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient3086"
|
||||
spreadMethod="reflect"
|
||||
x1="17.681860"
|
||||
x2="17.425413"
|
||||
xlink:href="#linearGradient2713"
|
||||
y1="60.433849"
|
||||
y2="62.779984" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2701"
|
||||
id="linearGradient3106"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.151801,0,0,1.77085,-5.13035e-2,4.351838)"
|
||||
spreadMethod="reflect"
|
||||
x1="29.613848"
|
||||
y1="52.608921"
|
||||
x2="44.723549"
|
||||
y2="52.608921" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2713"
|
||||
id="linearGradient3108"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.21879,0,0,1.825981,-5.13035e-2,-1.012826)"
|
||||
spreadMethod="reflect"
|
||||
x1="29.093641"
|
||||
y1="46.357063"
|
||||
x2="29.093641"
|
||||
y2="47.295517" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2713"
|
||||
id="linearGradient3110"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.21879,0,0,1.825981,-5.13035e-2,-1.012826)"
|
||||
spreadMethod="reflect"
|
||||
x1="24.261463"
|
||||
y1="44.011002"
|
||||
x2="24.605862"
|
||||
y2="45.887836" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2713"
|
||||
id="linearGradient3112"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.21879,0,0,1.825981,-5.13035e-2,-1.012826)"
|
||||
spreadMethod="reflect"
|
||||
x1="17.681860"
|
||||
y1="60.433849"
|
||||
x2="17.425413"
|
||||
y2="62.779984" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2780"
|
||||
id="radialGradient3114"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.433337,0,0,1.434961,6.40989,-0.113137)"
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
r="15.156592" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2780"
|
||||
id="radialGradient3116"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.500069,0,0,1.675192,5.00297,-5.108149)"
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
r="15.156592" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2780"
|
||||
id="radialGradient3118"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.621397,0,0,1.882058,2.388831,-9.409409)"
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
r="15.156592" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2780"
|
||||
id="radialGradient3120"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.433337,0,0,1.434961,6.40989,-0.113137)"
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
r="15.156592" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2780"
|
||||
id="radialGradient3122"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.500069,0,0,1.675192,5.00297,-5.108149)"
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
r="15.156592" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2780"
|
||||
id="radialGradient3124"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.621397,0,0,1.882058,2.388831,-9.409409)"
|
||||
cx="20.360580"
|
||||
cy="22.546398"
|
||||
fx="20.360580"
|
||||
fy="22.546396"
|
||||
r="15.156592" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2780"
|
||||
id="linearGradient3126"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.136116,0,0,1.825981,2.348697,-1.012826)"
|
||||
spreadMethod="pad"
|
||||
x1="26.974447"
|
||||
y1="68.680031"
|
||||
x2="26.974447"
|
||||
y2="44.981197" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2780"
|
||||
id="linearGradient3130"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.136116,0,0,1.825981,-87.401303,-67.012826)"
|
||||
spreadMethod="pad"
|
||||
x1="26.974447"
|
||||
y1="68.680031"
|
||||
x2="26.974447"
|
||||
y2="44.981197" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2713"
|
||||
id="linearGradient3142"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.21879,0,0,1.825981,-54.801304,-67.512826)"
|
||||
spreadMethod="reflect"
|
||||
x1="17.681860"
|
||||
y1="60.433849"
|
||||
x2="17.425413"
|
||||
y2="62.779984" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2713"
|
||||
id="linearGradient3145"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.21879,0,0,1.825981,-70.051304,-58.262826)"
|
||||
spreadMethod="reflect"
|
||||
x1="24.261463"
|
||||
y1="44.011002"
|
||||
x2="24.605862"
|
||||
y2="45.887836" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2713"
|
||||
id="linearGradient3148"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.21879,0,0,1.825981,-62.551304,-52.512826)"
|
||||
spreadMethod="reflect"
|
||||
x1="29.093641"
|
||||
y1="46.357063"
|
||||
x2="29.093641"
|
||||
y2="47.295517" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3057"
|
||||
id="radialGradient4946"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(7.531304,0,0,0.53795,-15.775652,-129.52565)"
|
||||
cx="8.0178375"
|
||||
cy="231.98276"
|
||||
fx="8.0178375"
|
||||
fy="231.98276"
|
||||
r="7.4833150" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3057"
|
||||
id="radialGradient4949"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(7.531304,0,0,0.672437,-18.025652,-149.23087)"
|
||||
cx="8.0178375"
|
||||
cy="231.98276"
|
||||
fx="8.0178375"
|
||||
fy="231.98276"
|
||||
r="7.4833150" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3057"
|
||||
id="radialGradient4952"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(7.531304,0,0,0.53795,-11.275652,-137.01283)"
|
||||
cx="8.0178375"
|
||||
cy="231.98276"
|
||||
fx="8.0178375"
|
||||
fy="231.98276"
|
||||
r="7.4833150" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2834"
|
||||
id="radialGradient4955"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-2.846279,0,0,2.087943,139.5254,-3.586178)"
|
||||
cx="21.595108"
|
||||
cy="8.9813547"
|
||||
fx="21.595108"
|
||||
fy="8.9813547"
|
||||
r="6.0678878" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2834"
|
||||
id="radialGradient4958"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(3.085042,0,0,2.052895,-15.9848,-3.14928)"
|
||||
cx="21.595108"
|
||||
cy="8.9813547"
|
||||
fx="21.595108"
|
||||
fy="8.9813547"
|
||||
r="6.0678878" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2834"
|
||||
id="radialGradient4974"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-2.366562,0,0,1.726511,129.1226,-0.112925)"
|
||||
cx="21.595108"
|
||||
cy="8.9813547"
|
||||
fx="21.595108"
|
||||
fy="8.9813547"
|
||||
r="6.0678878" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2834"
|
||||
id="radialGradient4977"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.366562,0,0,1.726511,-0.404355,-1.2826e-2)"
|
||||
cx="21.595108"
|
||||
cy="8.9813547"
|
||||
fx="21.595108"
|
||||
fy="8.9813547"
|
||||
r="6.0678878" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2834"
|
||||
id="linearGradient6992"
|
||||
x1="-229"
|
||||
y1="36.5"
|
||||
x2="-134"
|
||||
y2="36.5"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2834"
|
||||
id="radialGradient7002"
|
||||
cx="-118.5"
|
||||
cy="-41"
|
||||
fx="-118.5"
|
||||
fy="-41"
|
||||
r="30.5"
|
||||
gradientTransform="matrix(1,0,0,0.655738,0,-14.11475)"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2834"
|
||||
id="radialGradient7014"
|
||||
cx="-35"
|
||||
cy="-163"
|
||||
fx="-35"
|
||||
fy="-163"
|
||||
r="59"
|
||||
gradientTransform="matrix(1,0,0,0.576271,0,-69.0678)"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
</defs>
|
||||
<g
|
||||
id="g5908">
|
||||
<g
|
||||
id="g5889"
|
||||
style="fill:#989898;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:2.4;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
style="fill:#989898;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect2723"
|
||||
d="M 64.359126,2 C 44.287226,2 28.128259,18.158966 28.128259,38.230867 L 28.128259,78.487385 L 38.192389,78.487385 L 38.192389,38.230867 C 38.192389,23.734494 49.862754,12.06413 64.359126,12.06413 C 78.855498,12.06413 90.525863,23.734494 90.525863,38.230867 L 90.525863,78.487385 L 100.58999,78.487385 L 100.58999,38.230867 C 100.58999,18.158966 84.431026,2 64.359126,2 z " />
|
||||
</g>
|
||||
<g
|
||||
id="g4928"
|
||||
style="fill:#edbb15;fill-opacity:1;stroke:#000000;stroke-width:2.8;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
transform="translate(0,-0.25)">
|
||||
<rect
|
||||
y="57.359127"
|
||||
x="24.102608"
|
||||
width="80.513039"
|
||||
style="fill:#edbb15;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
ry="0.5"
|
||||
rx="0.49999997"
|
||||
id="rect1941"
|
||||
height="66.259109" />
|
||||
</g>
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<rect x="5" y="11" width="14" height="10" rx="2"/>
|
||||
<path d="M9 11V8a3 3 0 0 1 6 0v3"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 255 B |
|
|
@ -1,368 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2646"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
version="1.0"
|
||||
sodipodi:docname="icon_not_ready_start.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs2648">
|
||||
<linearGradient
|
||||
id="linearGradient3169">
|
||||
<stop
|
||||
style="stop-color:#0000ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3171" />
|
||||
<stop
|
||||
style="stop-color:#000067;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3173" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4766">
|
||||
<stop
|
||||
style="stop-color:#784421;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4768" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4770" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4758">
|
||||
<stop
|
||||
style="stop-color:#a05a2c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4760" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4762" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective2654" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3508"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3510"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3512"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3514"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3516"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3518"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3520"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3522"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3524"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2442"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2444"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2446"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2470"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2472"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2474"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2476"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2478"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2480"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2482"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2484"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2486"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2488"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2490"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2492"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.625"
|
||||
inkscape:cx="-7.5402943"
|
||||
inkscape:cy="36.374705"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1028"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata2651">
|
||||
<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 />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Pfeil"
|
||||
style="display:inline">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.37689075;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path3018"
|
||||
sodipodi:cx="-25.967213"
|
||||
sodipodi:cy="12.852459"
|
||||
sodipodi:rx="9.04918"
|
||||
sodipodi:ry="9.04918"
|
||||
d="m -16.918033,12.852459 a 9.04918,9.04918 0 1 1 -18.09836,0 9.04918,9.04918 0 1 1 18.09836,0 z"
|
||||
transform="matrix(3.392487,0,0,3.392487,120.35572,-11.470653)" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
d="M 12.146996,18.3904 25.952237,32.195642 12.146996,46.000885 18.521547,52.375436 32.326789,38.570194 46.132032,52.375436 52.506582,46.000885 38.701341,32.195642 52.506582,18.3904 46.132032,12.015849 32.326789,25.82109 18.521547,12.015849 12.146996,18.3904 z"
|
||||
id="rect3548"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M6 6l12 12"/>
|
||||
<path d="M18 6L6 18"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 214 B |
|
|
@ -1 +1,4 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M535.6 85.7C513.7 63.8 478.3 63.8 456.4 85.7L432 110.1L529.9 208L554.3 183.6C576.2 161.7 576.2 126.3 554.3 104.4L535.6 85.7zM236.4 305.7C230.3 311.8 225.6 319.3 222.9 327.6L193.3 416.4C190.4 425 192.7 434.5 199.1 441C205.5 447.5 215 449.7 223.7 446.8L312.5 417.2C320.7 414.5 328.2 409.8 334.4 403.7L496 241.9L398.1 144L236.4 305.7zM160 128C107 128 64 171 64 224L64 480C64 533 107 576 160 576L416 576C469 576 512 533 512 480L512 384C512 366.3 497.7 352 480 352C462.3 352 448 366.3 448 384L448 480C448 497.7 433.7 512 416 512L160 512C142.3 512 128 497.7 128 480L128 224C128 206.3 142.3 192 160 192L256 192C273.7 192 288 177.7 288 160C288 142.3 273.7 128 256 128L160 128z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M11 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5"/>
|
||||
<path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4z"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 899 B After Width: | Height: | Size: 299 B |
|
|
@ -1,123 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2"
|
||||
inkscape:version="0.47 r22583"
|
||||
sodipodi:docname="pencil.svg">
|
||||
<metadata
|
||||
id="metadata18">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="752"
|
||||
id="namedview16"
|
||||
showgrid="false"
|
||||
inkscape:zoom="38.985767"
|
||||
inkscape:cx="49.593625"
|
||||
inkscape:cy="9.752988"
|
||||
inkscape:window-x="-4"
|
||||
inkscape:window-y="-3"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" />
|
||||
<defs
|
||||
id="defs4">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 32 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="64 : 32 : 1"
|
||||
inkscape:persp3d-origin="32 : 21.333333 : 1"
|
||||
id="perspective20" />
|
||||
</defs>
|
||||
<path
|
||||
style="fill:#f2f2f2;stroke:black;stroke-width:0.36091354;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect4310"
|
||||
d="M 10.735636,2.7007755 L 10.735636,59.759195 L 47.991073,59.759195 L 53.259135,54.575403 L 53.259135,2.7007755 L 10.735636,2.7007755 z" />
|
||||
<path
|
||||
style="opacity:0.43930634;fill:black;stroke:none"
|
||||
id="rect4314-9-2"
|
||||
d="M 47.539263,54.178486 L 53.43341,54.178486 L 47.539263,59.914352 L 47.539263,54.178486 z" />
|
||||
<path
|
||||
style="fill:#f2f2f2;stroke:black;stroke-width:0.33989298;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect4314-9-5"
|
||||
d="M 48.080899,54.683517 L 53.016926,54.683517 L 48.080899,59.569868 L 48.080899,54.683517 z" />
|
||||
<path
|
||||
style="opacity:0.43930634;fill:black;stroke:none"
|
||||
id="rect4120-3"
|
||||
d="M 7.8062475,55.039312 L 7.8339835,55.072982 L 4.5689682,57.65671 L 5.2398545,58.476426 L 6.3020905,59.774252 L 6.9450675,60.559879 L 10.210081,57.976151 L 35.079771,38.295796 L 35.107506,38.329466 L 37.205296,34.249681 L 32.67559,35.358116 L 7.8059005,55.03861 z" />
|
||||
<rect
|
||||
style="fill:#fc0;stroke:black;stroke-width:0.28297317;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect4120"
|
||||
transform="matrix(0.78188456,-0.62342324,0.63622425,0.77150419,0,0)"
|
||||
y="46.463638"
|
||||
x="-29.50437"
|
||||
height="3.7814219"
|
||||
width="31.701616" />
|
||||
<rect
|
||||
style="fill:#4d4d4d;stroke:black;stroke-width:0.28297317;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect4122"
|
||||
transform="matrix(0.78188456,-0.62342324,0.63622425,0.77150419,0,0)"
|
||||
y="46.477345"
|
||||
x="-33.674004"
|
||||
height="3.7620518"
|
||||
width="4.171114" />
|
||||
<path
|
||||
style="fill:#ffe680;stroke:black;stroke-width:0.28295398;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect4124"
|
||||
d="M 31.271515,34.459836 L 35.787845,33.312261 L 33.712851,37.420244 L 31.271515,34.459836 z" />
|
||||
<path
|
||||
style="fill:black;stroke:black;stroke-width:0.28295398;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect4127"
|
||||
d="M 34.451031,33.663829 L 35.778335,33.329236 L 35.171353,34.537276 L 34.451031,33.663829 z" />
|
||||
<rect
|
||||
style="fill:#333;stroke:black;stroke-width:0.28297317;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect4122-4"
|
||||
transform="matrix(0.78188456,-0.62342324,0.63622425,0.77150419,0,0)"
|
||||
y="47.533978"
|
||||
x="-33.669418"
|
||||
height="1.698899"
|
||||
width="4.171114" />
|
||||
<rect
|
||||
style="fill:#4d4d4d;stroke:black;stroke-width:0.28297317;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect4122-8"
|
||||
transform="matrix(0.78188456,-0.62342324,0.63622425,0.77150419,0,0)"
|
||||
y="49.239918"
|
||||
x="-33.669418"
|
||||
height="1.0045688"
|
||||
width="4.171114" />
|
||||
<rect
|
||||
style="fill:#a80;stroke:black;stroke-width:0.28297317;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect4122-4-7"
|
||||
transform="matrix(0.78188456,-0.62342324,0.63622425,0.77150419,0,0)"
|
||||
y="47.53389"
|
||||
x="-29.508781"
|
||||
height="1.698899"
|
||||
width="31.643009" />
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M12 20h9"/>
|
||||
<path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4z"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 250 B |
|
|
@ -1,24 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="64" height="64">
|
||||
<g transform="matrix(0 1 -1 0 99.465813 0)" opacity="0.7">
|
||||
<path fill="#000000" fill-rule="evenodd" clip-rule="evenodd"
|
||||
stroke="#ffffff"
|
||||
stroke-width="4"
|
||||
stroke-linejoin="round"
|
||||
stroke-linecap="round"
|
||||
d="M65.5 62
|
||||
L78 49
|
||||
C73.5 44.5 69.5 42 63 44
|
||||
L45 31 C47 25 46 22 41.5 18
|
||||
L19 41.5
|
||||
C23 45.5 25 46.5 31 45
|
||||
L44 62.5
|
||||
C42.3 69 45 73.5 49 78
|
||||
L61.5 65.5
|
||||
L84 87
|
||||
L87 87
|
||||
L87.5 86.5
|
||||
L87.5 83.5 Z" />
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M9 4h6l-1 6 3 3v2H7v-2l3-3z"/>
|
||||
<path d="M12 15v6"/>
|
||||
</svg>
|
||||
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 736 B After Width: | Height: | Size: 229 B |
|
|
@ -1,142 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64px"
|
||||
height="64px"
|
||||
id="svg2508"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="icon_player.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
version="1.1">
|
||||
<defs
|
||||
id="defs2510">
|
||||
<linearGradient
|
||||
id="linearGradient5717">
|
||||
<stop
|
||||
style="stop-color:#003580;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop5719" />
|
||||
<stop
|
||||
id="stop5727"
|
||||
offset="0.25297618"
|
||||
style="stop-color:#055897;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop5725"
|
||||
offset="0.5"
|
||||
style="stop-color:#00a4ff;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop5733"
|
||||
offset="0.75"
|
||||
style="stop-color:#055897;stop-opacity:1;" />
|
||||
<stop
|
||||
style="stop-color:#003580;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop5721" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5717"
|
||||
id="linearGradient5723"
|
||||
x1="339.93985"
|
||||
y1="482.58844"
|
||||
x2="459.27341"
|
||||
y2="355.50766"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0,0.1263349,-0.1263349,0,74.367722,-7.5042832)" />
|
||||
<linearGradient
|
||||
id="linearGradient3234">
|
||||
<stop
|
||||
style="stop-color:#6f6f6f;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3236" />
|
||||
<stop
|
||||
id="stop3242"
|
||||
offset="0.47999999"
|
||||
style="stop-color:#e6e6e6;stop-opacity:1;" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0.5"
|
||||
id="stop3244" />
|
||||
<stop
|
||||
id="stop3286"
|
||||
offset="0.75"
|
||||
style="stop-color:#bebebe;stop-opacity:1;" />
|
||||
<stop
|
||||
style="stop-color:#494949;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3238" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3234"
|
||||
id="linearGradient5120"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(8.9332267e-2,8.9332267e-2,8.9332267e-2,-8.9332267e-2,-16.525693,40.126552)"
|
||||
x1="202.99225"
|
||||
y1="395.23221"
|
||||
x2="251.27765"
|
||||
y2="395.23221" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 32 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="64 : 32 : 1"
|
||||
inkscape:persp3d-origin="32 : 21.333333 : 1"
|
||||
id="perspective2516" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.7781746"
|
||||
inkscape:cx="35.570639"
|
||||
inkscape:cy="33.231713"
|
||||
inkscape:current-layer="g2536"
|
||||
showgrid="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="725"
|
||||
inkscape:window-x="619"
|
||||
inkscape:window-y="35"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata2513">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<g
|
||||
id="g2536"
|
||||
transform="translate(-0.1818183,-3.0952293e-8)">
|
||||
<path
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:3.4920001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:60.01653385"
|
||||
d="m 60.100711,4.0811082 -8.925773,4.066985 C 41.14173,19.502755 31.186489,31.772714 19.035138,42.39632 16.923235,39.989095 14.162681,36.349247 12.592568,33.629733 L 7.4098614,38.84843 c 0,0 4.1855936,1.798155 5.3626626,2.627344 1.177067,0.829192 3.640464,3.136411 3.640464,3.136411 0,0 -6.9973489,9.844274 -12.8181741,11.40396 -1.8723058,0.501682 4.0691751,6.443164 4.5708593,4.570859 1.5576526,-5.813242 11.1468308,-13.589562 11.1468308,-13.589562 0,0 2.672321,3.126813 3.501514,4.30388 0.82919,1.177069 2.519371,5.470634 2.519371,5.470634 L 30.552085,51.58925 C 27.830216,50.017778 24.343721,47.501755 21.950055,45.40381 32.445673,33.693842 43.199214,24.522178 56.033726,13.00688 z"
|
||||
id="path5116"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccscsscsccccc" />
|
||||
</g>
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M14.5 17.5 3 6V3h3l11.5 11.5"/>
|
||||
<path d="M13 19l6-6"/>
|
||||
<path d="M16 16l4 4"/>
|
||||
<path d="M19 21l2-2"/>
|
||||
<path d="M5 14l4 4"/>
|
||||
<path d="M7 17l-3 3"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 331 B |
|
|
@ -1,81 +1,3 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="500"
|
||||
height="500"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="icon_ready_start.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.4339754"
|
||||
inkscape:cx="281.46845"
|
||||
inkscape:cy="299.09369"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="1178"
|
||||
inkscape:window-x="1912"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true" />
|
||||
<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 />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-552.36218)">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#0dc700;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1;stroke-width:5.46761148;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="path2984"
|
||||
sodipodi:cx="-137.08441"
|
||||
sodipodi:cy="104.52625"
|
||||
sodipodi:rx="182.45049"
|
||||
sodipodi:ry="182.45049"
|
||||
d="m 45.366074,104.52625 c 0,100.76462 -81.685865,182.45049 -182.450484,182.45049 -100.76462,0 -182.45049,-81.68587 -182.45049,-182.45049 0,-100.7646178 81.68587,-182.450482 182.45049,-182.450482 100.764619,0 182.450484,81.6858642 182.450484,182.450482 z"
|
||||
transform="matrix(1.3351351,0,0,1.3351351,434.51202,663.29215)" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 375.18246,681.4936 -180.66822,156.20036 -62.11391,-71.84189 -57.207882,49.50276 110.831342,128.16069 0.15088,-0.11694 0.7485,0.87896 237.72517,-205.58619 -49.46594,-57.19777 z"
|
||||
id="rect3754"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M4 12l5 5L20 6"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 193 B |
|
|
@ -1,7 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
|
||||
viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
|
||||
<metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon </metadata>
|
||||
<g><path d="M586.9,373.6l95.6-84.4c-49.6-39.2-129.4-79.1-198.2-79.1c-134.9,0-248.2,90.5-280.2,212.8L10.6,374.5C64.4,168.3,255.2,15.8,482.5,15.8c126.7,0,258.8,63.7,345.4,141.4l90.8-80.1L990,479.6L586.9,373.6z M317.5,710.8c49.6,39.2,129.4,79.1,198.2,79.1c134.9,0,248.2-90.5,280.2-212.8l193.5,48.5c-53.7,206.2-244.6,358.7-471.9,358.7c-126.7,0-258.8-63.7-345.4-141.4l-90.8,80.1L10,520.4l403.1,106L317.5,710.8z"/></g>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M20 12a8 8 0 1 1-2.3-5.7"/>
|
||||
<path d="M20 4v5h-5"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 797 B After Width: | Height: | Size: 228 B |
|
|
@ -1,356 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2646"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
version="1.0"
|
||||
sodipodi:docname="deck_editor_remove_row.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs2648">
|
||||
<linearGradient
|
||||
id="linearGradient3169">
|
||||
<stop
|
||||
style="stop-color:#0000ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3171" />
|
||||
<stop
|
||||
style="stop-color:#000067;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3173" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4766">
|
||||
<stop
|
||||
style="stop-color:#784421;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4768" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4770" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4758">
|
||||
<stop
|
||||
style="stop-color:#a05a2c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4760" />
|
||||
<stop
|
||||
style="stop-color:#3d2210;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4762" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective2654" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3508"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3510"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3512"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3514"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3516"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3518"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient3520"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient3522"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient3524"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2442"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2444"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2446"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2470"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2472"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2474"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2476"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2478"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2480"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2482"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2484"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2486"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4758"
|
||||
id="linearGradient2488"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="590.62201"
|
||||
y1="434.7522"
|
||||
x2="698.54004"
|
||||
y2="517.79218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4766"
|
||||
id="linearGradient2490"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9650128,0,0,0.9948433,-449.70565,-312.80927)"
|
||||
x1="661.24402"
|
||||
y1="602.90814"
|
||||
x2="431.5"
|
||||
y2="201.5482" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3169"
|
||||
id="radialGradient2492"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.2116376,0,44.257186)"
|
||||
cx="120.07376"
|
||||
cy="56.138123"
|
||||
fx="120.07376"
|
||||
fy="56.138123"
|
||||
r="82.790039" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.625"
|
||||
inkscape:cx="-27.27273"
|
||||
inkscape:cy="30.210771"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1272"
|
||||
inkscape:window-height="723"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata2651">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Pfeil"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:#ff7672;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
|
||||
d="M 6.433227,14.50946 L 23.923767,32 L 6.433227,49.490541 L 14.50946,57.566773 L 32,40.076233 L 49.490541,57.566773 L 57.566773,49.490541 L 40.076233,32 L 57.566773,14.50946 L 49.490541,6.433227 L 32,23.923767 L 14.50946,6.433227 L 6.433227,14.50946 z"
|
||||
id="rect3548" />
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M6 6l12 12"/>
|
||||
<path d="M18 6L6 18"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 216 B |
|
|
@ -1,10 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="1200pt" height="1200pt" version="1.1" viewBox="0 0 1200 1200" xmlns="http://www.w3.org/2000/svg">
|
||||
<path transform="scale(50)" d="m17 16h4v-8h-4" fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="2"/>
|
||||
<path transform="scale(50)" d="m12 8h-9v8h9" fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="2"/>
|
||||
<path transform="scale(50)" d="m6 12h5" fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="2"/>
|
||||
<path transform="scale(50)" d="m20 4h-2c-1.1 0-2 0.9-2 2v12c0 1.1 0.9 2 2 2h2" fill="none" stroke="#000"
|
||||
stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"/>
|
||||
<path transform="scale(50)" d="m12 20h2c1.1 0 2-0.9 2-2v-12c0-1.1-0.9-2-2-2h-2" fill="none" stroke="#000"
|
||||
stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"/>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round">
|
||||
<path d="M17 16h4V8h-4"/>
|
||||
<path d="M12 8H3v8h9"/>
|
||||
<path d="M6 12h5"/>
|
||||
<path d="M20 4h-2c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h2"/>
|
||||
<path d="M12 20h2c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-2"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 875 B After Width: | Height: | Size: 335 B |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M384 96L512 96C529.7 96 544 110.3 544 128C544 145.7 529.7 160 512 160L398.4 160C393.2 185.8 375.5 207.1 352 217.3L352 512L512 512C529.7 512 544 526.3 544 544C544 561.7 529.7 576 512 576L128 576C110.3 576 96 561.7 96 544C96 526.3 110.3 512 128 512L288 512L288 217.3C264.5 207 246.8 185.7 241.6 160L128 160C110.3 160 96 145.7 96 128C96 110.3 110.3 96 128 96L256 96C270.6 76.6 293.8 64 320 64C346.2 64 369.4 76.6 384 96zM439.6 384L584.4 384L512 259.8L439.6 384zM512 480C449.1 480 396.8 446 386 401.1C383.4 390.1 387 378.8 392.7 369L487.9 205.8C492.9 197.2 502.1 192 512 192C521.9 192 531.1 197.3 536.1 205.8L631.3 369C637 378.8 640.6 390.1 638 401.1C627.2 445.9 574.9 480 512 480zM126.8 259.8L54.4 384L199.3 384L126.8 259.8zM.9 401.1C-1.7 390.1 1.9 378.8 7.6 369L102.8 205.8C107.8 197.2 117 192 126.9 192C136.8 192 146 197.3 151 205.8L246.2 369C251.9 378.8 255.5 390.1 252.9 401.1C242.1 445.9 189.8 480 126.9 480C64 480 11.7 446 .9 401.1z"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="52pt" height="52pt" viewBox="0 0 52 52" version="1.1">
|
||||
<g id="surface1">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:#000000;fill-opacity:1;" d="M 25.605469 0.125 C 25.605469 0.125 23.265625 3.140625 23.265625 4.433594 C 23.265625 5.316406 23.765625 6.070313 24.5 6.464844 C 23.898438 6.65625 23.375 6.992188 22.960938 7.449219 C 22.011719 6.640625 20.628906 5.910156 18.710938 5.910156 C 16.640625 5.910156 14.863281 6.753906 13.355469 7.507813 C 12.601563 7.886719 11.925781 8.25 11.324219 8.496094 C 10.964844 8.09375 10.425781 7.878906 9.847656 7.878906 C 8.75 7.878906 7.878906 8.75 7.878906 9.847656 C 7.878906 10.949219 8.75 11.816406 9.847656 11.816406 C 10.757813 11.816406 11.519531 11.234375 11.757813 10.402344 C 12.578125 10.078125 13.386719 9.648438 14.21875 9.234375 C 15.671875 8.507813 17.179688 7.878906 18.710938 7.878906 C 20.496094 7.878906 21.519531 8.679688 22.097656 9.355469 C 22.074219 9.519531 22.035156 9.6875 22.035156 9.847656 C 22.035156 11.816406 23.636719 13.417969 25.605469 13.417969 C 27.574219 13.417969 29.175781 11.816406 29.175781 9.847656 C 29.175781 9.6875 29.136719 9.519531 29.113281 9.355469 C 29.691406 8.679688 30.714844 7.878906 32.5 7.878906 C 34.03125 7.878906 35.539063 8.507813 36.992188 9.234375 C 37.824219 9.648438 38.632813 10.078125 39.457031 10.402344 C 39.695313 11.234375 40.457031 11.816406 41.363281 11.816406 C 42.464844 11.816406 43.332031 10.949219 43.332031 9.847656 C 43.332031 8.75 42.464844 7.878906 41.363281 7.878906 C 40.785156 7.878906 40.246094 8.09375 39.886719 8.496094 C 39.285156 8.25 38.609375 7.886719 37.855469 7.507813 C 36.347656 6.753906 34.570313 5.910156 32.5 5.910156 C 30.585938 5.910156 29.199219 6.640625 28.253906 7.449219 C 27.835938 6.992188 27.3125 6.65625 26.714844 6.464844 C 27.445313 6.070313 27.945313 5.316406 27.945313 4.433594 C 27.945313 3.140625 25.605469 0.125 25.605469 0.125 Z M 9.539063 13.234375 C 9.25 13.332031 9.023438 13.558594 8.925781 13.847656 L 2.277344 31.515625 L 0 31.515625 C 1.445313 35.578125 5.285156 38.53125 9.847656 38.53125 C 14.410156 38.53125 18.25 35.578125 19.695313 31.515625 L 17.417969 31.515625 L 10.773438 13.847656 C 10.601563 13.402344 10.132813 13.140625 9.664063 13.234375 C 9.625 13.234375 9.578125 13.234375 9.539063 13.234375 Z M 41.054688 13.234375 C 40.761719 13.332031 40.539063 13.558594 40.441406 13.847656 L 33.792969 31.515625 L 31.515625 31.515625 C 32.960938 35.578125 36.800781 38.53125 41.363281 38.53125 C 45.925781 38.53125 49.765625 35.578125 51.210938 31.515625 L 48.933594 31.515625 L 42.285156 13.847656 C 42.117188 13.402344 41.648438 13.140625 41.179688 13.234375 C 41.140625 13.234375 41.09375 13.234375 41.054688 13.234375 Z M 21.914063 15.757813 C 21.914063 17.082031 22.589844 18.242188 23.636719 18.898438 L 23.636719 41.980469 C 21.429688 42.773438 19.796875 44.816406 19.695313 47.273438 L 15.757813 47.273438 C 14.671875 47.273438 13.789063 48.15625 13.789063 49.242188 L 13.789063 51.210938 L 37.425781 51.210938 L 37.425781 49.242188 C 37.425781 48.15625 36.539063 47.273438 35.453125 47.273438 L 31.515625 47.273438 C 31.414063 44.816406 29.785156 42.773438 27.574219 41.980469 L 27.574219 18.898438 C 28.621094 18.242188 29.300781 17.082031 29.300781 15.757813 Z M 9.847656 17.050781 L 15.328125 31.515625 L 4.371094 31.515625 Z M 41.363281 17.050781 L 46.84375 31.515625 L 35.886719 31.515625 Z "/>
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M12 3v18"/>
|
||||
<path d="M5 7h14"/>
|
||||
<path d="M5 7l-3 6a3 3 0 0 0 6 0z"/>
|
||||
<path d="M19 7l3 6a3 3 0 0 1-6 0z"/>
|
||||
<path d="M8 21h8"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 309 B |
|
|
@ -1 +1,6 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M32 176C32 134.5 63.6 100.4 104 96.4L104 96L384 96C437 96 480 139 480 192L480 368L304 368C264.2 368 232 400.2 232 440L232 500C232 524.3 212.3 544 188 544C163.7 544 144 524.3 144 500L144 272L80 272C53.5 272 32 250.5 32 224L32 176zM268.8 544C275.9 530.9 280 515.9 280 500L280 440C280 426.7 290.7 416 304 416L552 416C565.3 416 576 426.7 576 440L576 464C576 508.2 540.2 544 496 544L268.8 544zM112 144C94.3 144 80 158.3 80 176L80 224L144 224L144 176C144 158.3 129.7 144 112 144z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/>
|
||||
<path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/>
|
||||
<path d="M8 7h8"/>
|
||||
<path d="M8 11h8"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 704 B After Width: | Height: | Size: 332 B |
|
|
@ -1,198 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="icon_search_black.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3709">
|
||||
<stop
|
||||
style="stop-color:#4d4d4d;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3711" />
|
||||
<stop
|
||||
style="stop-color:#4d4d4d;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3713" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3699">
|
||||
<stop
|
||||
style="stop-color:#ececec;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3701" />
|
||||
<stop
|
||||
style="stop-color:#ececec;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3703" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3632">
|
||||
<stop
|
||||
style="stop-color:#c87137;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3634" />
|
||||
<stop
|
||||
style="stop-color:#c87137;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3636" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3622">
|
||||
<stop
|
||||
style="stop-color:#f9f9f9;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3624" />
|
||||
<stop
|
||||
style="stop-color:#f9f9f9;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3626" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3622"
|
||||
id="linearGradient3628"
|
||||
x1="30.59761"
|
||||
y1="8.9243031"
|
||||
x2="30.59761"
|
||||
y2="21.545816"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3632"
|
||||
id="linearGradient3638"
|
||||
x1="28.430279"
|
||||
y1="47.808765"
|
||||
x2="29.960159"
|
||||
y2="47.808765"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<inkscape:perspective
|
||||
id="perspective3685"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3699"
|
||||
id="linearGradient3705"
|
||||
x1="29.215645"
|
||||
y1="1021.9559"
|
||||
x2="31.852083"
|
||||
y2="1021.9559"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3709"
|
||||
id="linearGradient3715"
|
||||
x1="22.288248"
|
||||
y1="35.505978"
|
||||
x2="49.488647"
|
||||
y2="49.106178"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3632"
|
||||
id="linearGradient3730"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="28.430279"
|
||||
y1="47.808765"
|
||||
x2="29.960159"
|
||||
y2="47.808765" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3699"
|
||||
id="linearGradient3732"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="29.215645"
|
||||
y1="1021.9559"
|
||||
x2="31.852083"
|
||||
y2="1021.9559" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.84375"
|
||||
inkscape:cx="6.0725518"
|
||||
inkscape:cy="32"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g3717"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1028"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<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 />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-988.36218)">
|
||||
<g
|
||||
id="g3717"
|
||||
transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,729.31175,279.31708)">
|
||||
<path
|
||||
transform="matrix(1.7216859,0,0,1.7216859,-37.751505,955.72849)"
|
||||
d="m 49.338646,35.505978 a 13.450199,13.450199 0 1 1 -26.900398,0 13.450199,13.450199 0 1 1 26.900398,0 z"
|
||||
sodipodi:ry="13.450199"
|
||||
sodipodi:rx="13.450199"
|
||||
sodipodi:cy="35.505978"
|
||||
sodipodi:cx="35.888447"
|
||||
id="path2816"
|
||||
style="fill:#222326;fill-opacity:0;stroke:#222326;stroke-width:1.90745997;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
transform="matrix(-0.08671958,-1.1164509,1.1164509,-0.08671958,2.9138372,1039.7631)"
|
||||
d="m 18.613546,52.207172 a 2.5498009,12.302789 0 1 1 -5.099601,0 2.5498009,12.302789 0 1 1 5.099601,0 z"
|
||||
sodipodi:ry="12.302789"
|
||||
sodipodi:rx="2.5498009"
|
||||
sodipodi:cy="52.207172"
|
||||
sodipodi:cx="16.063745"
|
||||
id="path2826"
|
||||
style="fill:#222326;fill-opacity:1;stroke:#222326;stroke-width:0.30000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<circle cx="10.5" cy="10.5" r="6.5"/>
|
||||
<path d="M15.5 15.5 21 21"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 237 B |
|
|
@ -1,280 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 12.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
|
||||
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="133.078"
|
||||
id="Layer_1"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="icon_settings.svg"
|
||||
sodipodi:version="0.32"
|
||||
space="preserve"
|
||||
style="overflow:visible;enable-background:new 0 0 132.882 133.078;"
|
||||
version="1.1"
|
||||
viewBox="0 0 132.882 133.078"
|
||||
width="132.882">
|
||||
<metadata
|
||||
id="metadata3">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:title>Ruota dentata grigia</dc:title>
|
||||
<dc:description />
|
||||
<dc:subject>
|
||||
<rdf:Bag>
|
||||
<rdf:li>unsorted</rdf:li>
|
||||
</rdf:Bag>
|
||||
</dc:subject>
|
||||
<dc:publisher>
|
||||
<cc:Agent
|
||||
rdf:about="http://www.openclipart.org/">
|
||||
<dc:title>Open Clip Art Library</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:publisher>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Architetto Francesco Rollandin</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:rights>
|
||||
<cc:Agent>
|
||||
<dc:title>Architetto Francesco Rollandin</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:rights>
|
||||
<dc:date />
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<cc:license
|
||||
rdf:resource="http://web.resource.org/cc/PublicDomain" />
|
||||
<dc:language>en</dc:language>
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://web.resource.org/cc/PublicDomain">
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Distribution" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs88" />
|
||||
<sodipodi:namedview
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
id="base"
|
||||
inkscape:current-layer="Layer_1"
|
||||
inkscape:cx="11.842486"
|
||||
inkscape:cy="69.252383"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-height="928"
|
||||
inkscape:window-width="1411"
|
||||
inkscape:window-x="191"
|
||||
inkscape:window-y="47"
|
||||
inkscape:zoom="5.4103608"
|
||||
pagecolor="#ffffff"
|
||||
showgrid="false"
|
||||
inkscape:window-maximized="0" />
|
||||
<g
|
||||
id="g3"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1">
|
||||
<radialGradient
|
||||
cx="66.5674"
|
||||
cy="66.3169"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="XMLID_5_"
|
||||
r="65.835">
|
||||
<stop
|
||||
id="stop6"
|
||||
offset="0"
|
||||
style="stop-color:#F8F8F8" />
|
||||
<stop
|
||||
id="stop8"
|
||||
offset="1"
|
||||
style="stop-color:#7F7F7F" />
|
||||
</radialGradient>
|
||||
<path
|
||||
d="M125.144,56.349c-3.771,0-7.545,0.045-11.314,0.186c-0.897-4.456-2.482-8.765-4.657-12.756 c-1.116-2.051-3.152-3.094-1.176-4.893c1.351-1.228,2.674-2.482,3.984-3.751c2.54-2.458,7.481-6.071,5.054-10.111 c-2.409-4.008-9.553-12.402-14.613-8.778c-3.259,2.332-6.025,5.805-8.753,8.728c-1.839,1.972-10.072-3.345-13.153-4.284 c-2.29-0.697-4.424-0.006-4.282-2.731c0.099-1.899,0.151-3.802,0.183-5.704c0.046-2.924,0.872-7.681-1.602-9.949 c-2.693-2.47-13.091-2.182-16.192-0.591c-2.902,1.487-2.505,5.529-2.49,8.222c0.011,2.005,0.038,4.011,0.09,6.017 c0.076,2.895,1.006,3.128-2.148,3.853c-4.414,1.016-8.685,2.631-12.661,4.795c-2.706,1.474-2.19,0.776-4.07-1.242 c-1.784-1.917-3.619-3.792-5.471-5.644c-5.942-5.942-11.491,1.433-15.473,6.153c-2.454,2.908-1.425,5.693,1.093,8.212 c1.554,1.552,3.121,3.095,4.703,4.618c3.003,2.895,2.475,2.563,0.439,6.089c-2.106,3.649-3.704,7.589-4.729,11.678 c-0.889,3.547-6.993,1.883-10.459,1.883c-8.083,0-6.575,7.183-6.646,13.097c-0.099,8.381,6.687,7.291,13.357,7.167 c3.019-0.057,3.419-1.006,4.392,2.141c0.679,2.203,1.527,4.354,2.533,6.43c0.999,2.063,2.151,4.05,3.442,5.944 c1.956,2.872-0.17,3.17-2.443,5.329c-2.402,2.283-7.031,5.432-7.215,9.075c-0.154,3.043,3.263,5.365,5.149,7.252 s4.212,5.316,7.26,5.158c3.995-0.206,7.724-5.77,10.257-8.424c1.112-1.164,2.211-2.339,3.291-3.532 c2.416,1.359,4.945,2.514,7.554,3.451c2.667,0.961,5.417,1.691,8.207,2.191c-0.196,2.286-0.295,4.58-0.357,6.873 c-0.093,3.384-1.316,9.583,1.551,12.215c2.403,2.205,7.079,1.192,10.013,1.252c2.549,0.054,6.151,0.456,7.717-2.1 c2.355-3.849,0.94-10.923,0.786-15.24c-0.107-2.931-1.017-3.003,2.18-3.832c3.045-0.79,6.019-1.861,8.864-3.205 c3.503-1.651,3.52-2.752,6.156,0.172c1.791,1.988,3.646,3.92,5.522,5.826c2.889,2.937,6.048,6.091,9.923,2.818 c2.688-2.271,7.617-6.12,8.636-9.61c1.223-4.195-4.952-8.343-7.479-10.767c-2.237-2.148-4.737-2.782-2.863-5.64 c1.603-2.441,2.973-5.036,4.082-7.737c0.839-2.045,1.528-4.15,2.061-6.296c2.411,0.156,4.826,0.234,7.239,0.275 c3.483,0.061,9.652,1.05,10.868-3.456C133.132,67.049,133.389,56.349,125.144,56.349 M65.631,84.78 c-10.628,0-20.194-8.436-20.194-19.325c0-10.889,9.565-19.324,20.194-19.324c10.627,0,20.195,8.435,20.195,19.324 C85.826,76.344,76.259,84.78,65.631,84.78"
|
||||
id="path10"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<linearGradient
|
||||
gradientTransform="matrix(776.0099 550.007 550.007 -776.0099 -66856.1797 490158.2813)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="XMLID_6_"
|
||||
x1="-241.1641"
|
||||
x2="-239.5807"
|
||||
y1="461.063"
|
||||
y2="461.063">
|
||||
<stop
|
||||
id="stop13"
|
||||
offset="0"
|
||||
style="stop-color:#FFFFFF" />
|
||||
<stop
|
||||
id="stop15"
|
||||
offset="1"
|
||||
style="stop-color:#000000" />
|
||||
</linearGradient>
|
||||
<path
|
||||
d="M66.287,1.853c2.222-0.034,4.739-0.403,6.857,0.365c3.572,1.299,2.531,7.112,2.485,9.961 c-0.025,1.531-1.121,6.786-0.321,8.029c0.813,1.265,9.244,2.709,11.056,3.537c6.891,3.14,5.463,4.316,10.604-1.013 c2.665-2.76,6.867-9.078,11.128-5.777c2.658,2.06,9.874,8.281,8.585,11.593c-1.303,3.346-5.354,6.176-7.92,8.567 c-2.921,2.722-3.367,1.872-1.364,5.159c2.313,3.799,4.064,7.936,5.156,12.25c0.605,2.394-0.082,2.838,2.033,2.802 c4.069-0.069,10.315-1.296,14.178,0.4c3.522,1.548,2.268,9.16,2.229,12.543c-0.096,8.456-12.104,5.645-17.898,5.283 c0.156,0.011-6.795,14.843-7.944,16.447c-0.547,0.763,7.359,7.556,8.381,8.538c4.944,4.761,2.824,7.329-1.513,11.69 c-6.039,6.069-7.887,5.521-13.935-0.731c-2.149-2.219-4.261-4.48-6.246-6.85c-0.521-0.625-6.012,2.776-6.994,3.185 c-1.476,0.614-8.901,1.845-9.535,2.872c-1.004,1.622,0.309,8.013,0.33,9.982c0.096,8.526-0.896,10.481-9.352,10.481 c-2.232,0-4.709,0.411-6.843-0.365c-4-1.453-2.523-9.013-2.438-12.174c0.04-1.498,1.174-6.406,0.431-7.654 c-0.568-0.956-8.392-2.117-9.829-2.669c-0.787-0.303-6.762-3.507-7.049-3.207c-1.525,1.591-3.051,3.181-4.578,4.771 c-1.979,2.064-5.734,7.388-8.932,7.289c-2.806-0.048-9.959-7.553-11.098-10.111c-2.792-6.279,10.07-9.389,10.988-13.959 c0.043-0.212-9.882-17.351-8.595-17.368c-3.593,0.05-7.317,0.41-10.899,0.153c-6.971,0-5.875-6.05-5.83-11.202 c-0.16-7.395,3.619-7.569,9.824-7.444c2.137,0.043,4.276,0.086,6.414,0.128c0.444,0.01,2.333-7.586,2.722-8.551 c1.339-3.326,3.101-6.425,5.146-9.363c0.438-0.629-1.932-2.346-2.398-2.799c-3.363-3.273-10.421-7.872-5.851-12.794 c2.096-2.259,6.541-7.985,9.6-7.985c3.747,0,8.376,6.755,10.672,9.161c3.036,3.181,6.353-1.095,10.14-2.528 c3.945-1.491,9.292-0.362,9.213-4.943c-0.058-3.255-0.396-6.637-0.172-9.884C56.925,1.449,61.375,1.775,66.287,1.853 M69.694,0.223 c-3.688,0-9.813-1.099-12.571,1.586c-3.116,3.085-1.696,10.736-1.63,14.678c0.059,3.6-3.022,2.813-6.17,3.854 c-1.466,0.484-9.462,4.621-10.028,4.025c-2.892-3.043-6.707-8.735-10.962-9.909c-4.166-1.15-7.581,3.806-10.172,6.478 c-5.742,5.518-4.111,8.898,0.979,13.844c1.579,1.533,3.153,3.07,4.737,4.598c-2.533,3.705-4.533,7.768-5.897,12.042 c-1.361,4.257-0.689,4.336-4.944,4.254c-2.461-0.048-5.048-0.305-7.504,0.003c-6.472,0.811-5.456,7.242-5.495,12.174 c-0.062,8.137,3.169,9.687,10.582,9.567c2.239-0.035,4.479-0.076,6.717-0.105c1.116,4.185,2.831,8.202,5.067,11.91 c1.376,2.284,3.278,2.844,1.032,4.902c-1.601,1.465-3.171,2.964-4.72,4.482c-2.292,2.248-5.735,5.252-4.299,8.88 c1.176,2.967,7.935,9.732,10.902,10.908c4.637,1.839,8.851-4.352,11.594-7.205c1.362-1.417,2.717-2.845,4.093-4.25 c3.94,2.146,8.163,3.761,12.527,4.799c3.048,0.725,2.151,0.836,2.018,3.6c-0.091,1.868-0.145,3.736-0.175,5.606 c-0.057,3.465-0.923,9.161,2.917,11.094c3.094,1.558,9.554,0.977,13.091,0.706c8.238-0.634,5.907-11.882,5.715-17.565 c-0.093-2.766-0.968-2.98,2.009-3.78c2.121-0.57,4.206-1.277,6.235-2.116c2.025-0.838,3.997-1.808,5.898-2.898 c1.049,1.227,2.131,2.424,3.23,3.604c4.327,4.647,9.567,12.294,15.874,6.219c2.729-2.633,8.092-6.614,8.172-10.478 c0-4.122-5.587-7.971-8.271-10.553c-2.079-1.999-3.72-2.262-2.068-4.844c2.22-3.474,3.976-7.236,5.207-11.169 c1.902-6.08,17.526,3.361,19.05-6.681c0.542-3.585,1.057-12.592-1.447-15.135c-2.997-3.071-10.253-1.718-14.098-1.652 c-3.809,0.065-3-2.746-4.229-6.091c-1.123-3.054-5.727-8.679-3.43-10.785c6.34-5.817,12.979-10.456,5.196-17.885 c-2.6-2.681-6.001-7.617-10.181-6.482c-3.963,1.077-7.582,6.327-10.301,9.135c-2.466,2.545-4.07,0.031-7.078-1.328 c-2.639-1.192-9.949-2.184-9.821-4.885C77.38,10.375,79.38,0.223,69.694,0.223"
|
||||
id="path17"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<linearGradient
|
||||
gradientTransform="matrix(0 -214.9991 -214.9991 0 102181.7813 -51529.3086)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="XMLID_7_"
|
||||
x1="-240.6104"
|
||||
x2="-239.069"
|
||||
y1="474.9624"
|
||||
y2="474.9624">
|
||||
<stop
|
||||
id="stop20"
|
||||
offset="0"
|
||||
style="stop-color:#FFFFFF" />
|
||||
<stop
|
||||
id="stop22"
|
||||
offset="1"
|
||||
style="stop-color:#000000" />
|
||||
</linearGradient>
|
||||
<path
|
||||
d="M44.65,65.457c0,26.066,41.962,26.066,41.962,0S44.65,39.39,44.65,65.457 M46.234,65.457 c0-24.025,38.794-24.025,38.794,0S46.234,89.482,46.234,65.457"
|
||||
id="path24"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<radialGradient
|
||||
cx="65.6309"
|
||||
cy="65.4565"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="XMLID_8_"
|
||||
r="34.9484">
|
||||
<stop
|
||||
id="stop27"
|
||||
offset="0"
|
||||
style="stop-color:#F3F3F3" />
|
||||
<stop
|
||||
id="stop29"
|
||||
offset="0.4367"
|
||||
style="stop-color:#F1F1F1" />
|
||||
<stop
|
||||
id="stop31"
|
||||
offset="0.594"
|
||||
style="stop-color:#EAEAEA" />
|
||||
<stop
|
||||
id="stop33"
|
||||
offset="0.7061"
|
||||
style="stop-color:#DEDEDE" />
|
||||
<stop
|
||||
id="stop35"
|
||||
offset="0.7968"
|
||||
style="stop-color:#CDCDCD" />
|
||||
<stop
|
||||
id="stop37"
|
||||
offset="0.8745"
|
||||
style="stop-color:#B7B7B7" />
|
||||
<stop
|
||||
id="stop39"
|
||||
offset="0.9419"
|
||||
style="stop-color:#9D9D9D" />
|
||||
<stop
|
||||
id="stop41"
|
||||
offset="1"
|
||||
style="stop-color:#7F7F7F" />
|
||||
</radialGradient>
|
||||
<path
|
||||
d="M65.631,31.895c-18.581,0-36.284,14.164-36.284,33.56c0,19.402,17.697,33.563,36.284,33.563 c18.586,0,36.283-14.16,36.283-33.563C101.914,46.058,84.212,31.895,65.631,31.895 M65.631,93.859 c-15.729,0-30.71-11.983-30.71-28.404c0-16.42,14.981-28.401,30.71-28.401c15.729,0,30.711,11.979,30.711,28.401 C96.343,81.877,81.362,93.859,65.631,93.859"
|
||||
id="path43"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M24.022,47.759c1.389-2.133,2.794-4.254,4.284-6.319C26.071,40.979,24.669,46.14,24.022,47.759 M107.988,19.272c-1.503-5.967-10.331,4.207-11.839,5.825c-0.454,0.487-3.053,4-3.867,3.761c-4.902-3.622-10.62-6.063-16.557-7.381 c-1.076,3.631,8.287,4.644,11.055,6.028c2.139,1.068,4.24,4.338,6.308,2.435c3.427-3.154,6.553-6.757,10.268-9.576 c0.894-0.678,5.101-1.062,4.814,0.303C108.109,20.202,108.049,19.738,107.988,19.272 M40.692,28.996 c3.305-2.111,6.968-3.595,10.795-4.437c2.593-0.569,6.13,0.171,5.04-3.526C53.526,21.596,39.653,24.832,40.692,28.996"
|
||||
id="path45"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M73.152,3.636c0,2.344-14.251,2.344-14.251,0S73.152,1.292,73.152,3.636"
|
||||
id="path47"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M66.03,128.431c-0.671,0-7.125-0.13-7.125,1.282c0,1.931,14.251,1.933,14.251,0 C73.155,128.301,66.701,128.431,66.03,128.431"
|
||||
id="path49"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M11.008,72.88c-0.671,0-7.125-0.131-7.125,1.282c0,1.916,14.251,1.913,14.251,0 C18.134,72.75,11.679,72.88,11.008,72.88"
|
||||
id="path51"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M121.58,72.88c-0.671,0-7.125-0.13-7.125,1.282c0,1.914,14.251,1.914,14.251,0 C128.706,72.75,122.252,72.88,121.58,72.88"
|
||||
id="path53"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M17.557,106.256c-1.294,0,2.25,4.292,2.338,4.391c1.444,1.629,4.758,5.852,7.256,5.852 c0.034,0.022-1.976-3.976-2.431-4.485C23.285,110.405,20.025,106.251,17.557,106.256"
|
||||
id="path55"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M94.355,104.674c-0.578,0,7.519,12.467,9.826,10.159C105.671,113.348,96.25,104.674,94.355,104.674"
|
||||
id="path57"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M26.671,16.666c1.05,1.051-9.306,11.41-10.357,10.358C15.267,25.972,25.62,15.62,26.671,16.666"
|
||||
id="path59"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M115.199,27.97c-1.964,0-11.219,9.358-10.206,10.408C106.838,40.223,115.24,27.97,115.199,27.97"
|
||||
id="path61"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M115.726,106.081c-1.962,0-11.194,9.419-10.205,10.408 C107.472,118.347,115.713,106.081,115.726,106.081"
|
||||
id="path63"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M37.346,106.081c-1.842,0-4.608,3.414-5.731,4.537c-0.465,0.462-4.612,5.885-4.463,5.881 C29.433,118.323,37.092,106.081,37.346,106.081"
|
||||
id="path65"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M27.347,115.672c-0.07,0.271-0.138,0.545-0.207,0.816C27.825,117.173,26.743,114.15,27.347,115.672"
|
||||
id="path67"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M17.435,58.462c0,1.339-12.324-0.53-12.924,1.248c-0.368,1.084-0.489,11.103-1.228,11.024 c-1.711-0.183-0.224-10.043-0.08-11.327C3.558,56.244,17.435,57.476,17.435,58.462"
|
||||
id="path69"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M23.478,100.129c-0.358,0.358-4.58,4.749-5.319,4.013c-0.977-0.977,8.35-10.312,9.332-9.33 C28.226,95.548,23.835,99.773,23.478,100.129"
|
||||
id="path71"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M128.573,58.66c0,1.19-14.846,1.19-14.846,0S128.573,57.47,128.573,58.66"
|
||||
id="path73"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M101.119,74.258c-7.886,24.178-41.95,33.291-60.554,15.481c0,3.725,7.864,8.189,10.455,9.559 c9.041,4.776,19.717,4.771,29.24,1.414C92.282,96.476,99.202,86.506,101.119,74.258 M101.58,72.276 c-0.306,0.617-0.461,1.277-0.461,1.982C100.85,75.084,101.843,72.276,101.58,72.276"
|
||||
id="path75"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M90.129,90.213c-8.308,6.802-19.974,9.833-30.567,8.335C70.359,100.232,81.753,97.307,90.129,90.213 "
|
||||
id="path77"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M35.812,60.705c0-9.224,8.177-18.148,16.011-21.707c8.522-3.872,17.985-3.937,26.437,0.105 c1.084,0.518,13.452,7.704,11.891,9.714c0.415-0.534-7.813-6.607-8.427-6.956c-7.797-4.435-17.463-4.583-25.884-1.935 C48.108,42.359,35.812,51.58,35.812,60.705"
|
||||
id="path79"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M29.221,60.477c0-11.246,10.8-22.154,20.227-26.36c10.268-4.583,21.688-4.81,31.842,0.146 c3.762,1.836,7.336,4.222,10.343,7.144c0.161,0.158,3.231,3.874,2.678,3.895c-0.649,0.027-2.156-2.297-2.538-2.712 c-2.223-2.406-4.743-4.534-7.549-6.232c-9.406-5.692-21.297-5.859-31.503-2.277c-8.237,2.891-15.042,8.673-19.335,16.251 C31.957,52.851,29.221,57.912,29.221,60.477"
|
||||
id="path81"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M96.321,66.114c0.076-0.002-1.774,6.544-1.93,6.928c-2.031,5.045-5.354,9.536-9.722,12.801 c-14.182,10.598-33.677,7.999-44.948-5.131c15.231,22.079,55.698,13.75,56.604-14.6"
|
||||
id="path83"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
<path
|
||||
d="M87.782,85.129c-0.864,0.83-1.773,1.606-2.729,2.329C86.015,86.743,86.926,85.967,87.782,85.129 M39.057,80.084c-0.394,0,5.06,5.707,5.491,6.023C43.611,85.29,40.002,80.084,39.057,80.084"
|
||||
id="path85"
|
||||
style="fill:#007aff;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.38a2 2 0 0 0-.73-2.73l-.15-.09a2 2 0 0 1-1-1.74v-.51a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/>
|
||||
<circle cx="12" cy="12" r="3"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 779 B |
|
|
@ -1,25 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
|
||||
<svg height="800"
|
||||
width="800"
|
||||
version="1.1"
|
||||
id="_x32_"
|
||||
viewBox="0 0 512 512"
|
||||
xml:space="preserve"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs id="defs1"/>
|
||||
<style type="text/css"
|
||||
id="style1">
|
||||
.st0{fill:#64C0FF;stroke:black;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1}
|
||||
</style>
|
||||
<g id="g1"
|
||||
transform="matrix(0.87097097,0,0,1.0008579,38.609049,-0.21963163)"
|
||||
style="stroke-width:3.42738;stroke-dasharray:none">
|
||||
<path class="st0"
|
||||
d="M 512,255.995 277.045,65.394 v 103.574 c -17.255,0 -36.408,0 -57.542,0 -208.59,0 -249.35,153.44 -201.394,266.128 9.586,-103.098 142.053,-100.701 237.358,-100.701 7.247,0 14.446,0 21.578,0 v 112.211 z"
|
||||
id="path1"
|
||||
style="stroke-width:20;stroke:#000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"/>
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<circle cx="6" cy="12" r="2.5"/>
|
||||
<circle cx="18" cy="6" r="2.5"/>
|
||||
<circle cx="18" cy="18" r="2.5"/>
|
||||
<path d="M8.2 10.8l7.6-3.6"/>
|
||||
<path d="M8.2 13.2l7.6 3.6"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 334 B |
|
|
@ -1 +1,7 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M278.6 438.6L182.6 534.6C170.1 547.1 149.8 547.1 137.3 534.6L41.3 438.6C28.8 426.1 28.8 405.8 41.3 393.3C53.8 380.8 74.1 380.8 86.6 393.3L128 434.7L128 128C128 110.3 142.3 96 160 96C177.7 96 192 110.3 192 128L192 434.7L233.4 393.3C245.9 380.8 266.2 380.8 278.7 393.3C291.2 405.8 291.2 426.1 278.7 438.6zM352 544C334.3 544 320 529.7 320 512C320 494.3 334.3 480 352 480L384 480C401.7 480 416 494.3 416 512C416 529.7 401.7 544 384 544L352 544zM352 416C334.3 416 320 401.7 320 384C320 366.3 334.3 352 352 352L448 352C465.7 352 480 366.3 480 384C480 401.7 465.7 416 448 416L352 416zM352 288C334.3 288 320 273.7 320 256C320 238.3 334.3 224 352 224L512 224C529.7 224 544 238.3 544 256C544 273.7 529.7 288 512 288L352 288zM352 160C334.3 160 320 145.7 320 128C320 110.3 334.3 96 352 96L576 96C593.7 96 608 110.3 608 128C608 145.7 593.7 160 576 160L352 160z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M4 6h10"/>
|
||||
<path d="M4 12h7"/>
|
||||
<path d="M4 18h4"/>
|
||||
<path d="M18 8v10"/>
|
||||
<path d="M15 15l3 3 3-3"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 282 B |
|
|
@ -1,106 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="500"
|
||||
height="500"
|
||||
id="svg2825"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="icon_spectator.svg">
|
||||
<defs
|
||||
id="defs2827">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective2833" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3170"
|
||||
id="linearGradient3176"
|
||||
x1="348.1423"
|
||||
y1="241.25623"
|
||||
x2="362.82382"
|
||||
y2="226.27509"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3170">
|
||||
<stop
|
||||
style="stop-color: rgb(255, 255, 255); stop-opacity: 1;"
|
||||
offset="0"
|
||||
id="stop3172" />
|
||||
<stop
|
||||
style="stop-color: rgb(255, 255, 255); stop-opacity: 0;"
|
||||
offset="1"
|
||||
id="stop3174" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.7"
|
||||
inkscape:cx="161.90734"
|
||||
inkscape:cy="313.43022"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="784"
|
||||
inkscape:window-height="1162"
|
||||
inkscape:window-x="2720"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata2830">
|
||||
<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 />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-552.36218)">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:10;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path3609"
|
||||
sodipodi:cx="382.85715"
|
||||
sodipodi:cy="549.50507"
|
||||
sodipodi:rx="71.428574"
|
||||
sodipodi:ry="71.428574"
|
||||
d="m 454.28572,549.50507 a 71.428574,71.428574 0 1 1 -142.85715,0 71.428574,71.428574 0 1 1 142.85715,0 z"
|
||||
transform="matrix(1.278781,0,0,1.278781,-239.59045,89.665546)" />
|
||||
<g
|
||||
transform="matrix(4.0314732,0,0,4.0314732,-693.67321,-408.8113)"
|
||||
id="g3178">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="csssc"
|
||||
id="path3159"
|
||||
d="m 234.78774,331.58001 c -31.87684,0.0325 -57.71719,-31.08607 -58.23077,-32.66642 -1.24408,-3.82817 25.38817,-32.75179 57.265,-32.78433 31.87683,-0.0325 58.68772,30.04142 58.23076,32.66642 -0.17904,1.02851 -24.29715,32.20961 -55.54932,32.76812"
|
||||
style="fill:none;stroke:#000000;stroke-width:6.60500002;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z"/>
|
||||
<circle cx="12" cy="12" r="3"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 261 B |
|
|
@ -1,12 +1,6 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" fill="#000000" version="1.1" id="Capa_1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="800px" height="800px" viewBox="0 0 71.753 71.753"
|
||||
xml:space="preserve">
|
||||
<g>
|
||||
<path d="M39.798,20.736H28.172v20.738L11.625,41.47V20.736H0L19.899,0.839L39.798,20.736z M51.855,70.914l19.897-19.896H60.129
|
||||
V30.282l-16.547-0.004v20.74H31.957L51.855,70.914z"/>
|
||||
</g>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M4 8h13"/>
|
||||
<path d="M14 5l3 3-3 3"/>
|
||||
<path d="M20 16H7"/>
|
||||
<path d="M10 13l-3 3 3 3"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 648 B After Width: | Height: | Size: 269 B |