Compare commits
279 Commits
Author | SHA1 | Date | |
---|---|---|---|
3ab5a28edf | |||
345487e3fc | |||
3511a5c094 | |||
f0d9faa705 | |||
f85f7dcf8f | |||
d4dd950d16 | |||
523abd3639 | |||
b160702ccb | |||
80ee4dd2d4 | |||
7f23720f1b | |||
011d9d9993 | |||
f538a2c7c8 | |||
86da4c1e02 | |||
36f029f5be | |||
c1c1fcf494 | |||
d727cbf79d | |||
d242ca3749 | |||
b6e8b01023 | |||
f58740ad7f | |||
97561641dd | |||
3bd62a0231 | |||
7ecbb0290d | |||
7b2f12e364 | |||
90a06daa4f | |||
045e702227 | |||
22e9a5e990 | |||
50311abc2e | |||
84bf23d740 | |||
750830247a | |||
5669d1f258 | |||
b7a1067528 | |||
95a21ab2f2 | |||
9392744593 | |||
74e69302d4 | |||
757729d145 | |||
730a422532 | |||
d48215273f | |||
bade01ca68 | |||
2658214018 | |||
ec03ced668 | |||
f8a3df77bd | |||
e453cb4211 | |||
0b91130e75 | |||
51ecce67e9 | |||
57e1717521 | |||
5c1d6ced8f | |||
786756a3dc | |||
05353aca85 | |||
81c2abd931 | |||
2095aa5a52 | |||
ecce11a009 | |||
ba3b4b5c3a | |||
bb81287173 | |||
e89f324c6a | |||
7dbe38e80c | |||
4d2a21cf0f
|
|||
42dd2c57a4
|
|||
7f7a7c2dd7 | |||
1a900cda46 | |||
10231ee0aa
|
|||
9b5446c7be | |||
3390d27ba9 | |||
7367add2a6 | |||
108aae831c
|
|||
246fb81eb2 | |||
12ae9ae8ce | |||
c2059a392b | |||
ef9e236b2b
|
|||
c4f1e269c8 | |||
fcd366af2a | |||
7f1ce148bf
|
|||
a52770e1c0 | |||
f6a25a7dd4 | |||
4a25c635ee | |||
a29c443a48 | |||
6f27a0e849 | |||
4f20378555 | |||
072e087487 | |||
547ed4c728
|
|||
bbca7bcbab | |||
0b70d8689d | |||
4a448189c6 | |||
58343b1dd9 | |||
8b1d9cd9b6 | |||
c38c185efe | |||
b5f4773923 | |||
5ff8b083d4 | |||
2635aabed7 | |||
f335a7e5d2 | |||
ba20357cda | |||
641f80db99 | |||
9bb70d2e6b | |||
631b2d2e14 | |||
f7a55480fb | |||
0a5286832d | |||
e0c11ad21c | |||
ef3986de9d | |||
bbe9531d05 | |||
0e7da2af19 | |||
03649e16f7 | |||
9e0b8843d3 | |||
39e7f02309 | |||
ad19e1de9c | |||
4bd402c1c7 | |||
d14f33d442 | |||
4d6a57689a | |||
c438cac4e8
|
|||
ca9e725d0a | |||
aba833d617 | |||
b5cc57267e | |||
718b915991
|
|||
2d36716977
|
|||
6d7bacd22a
|
|||
a3f33c2ea0
|
|||
d66ee4ab60 | |||
abd2fa0ff0 | |||
9af610ef9e | |||
75a37bd07f | |||
6cbbfe1cde
|
|||
a3e87e1d47 | |||
8b30b59ab4 | |||
3b74b60401 | |||
6f3ffca705 | |||
c6bf2dcf3e
|
|||
9b8d855641 | |||
68928f71eb | |||
1c8fcd812c | |||
7c1a693dec | |||
fa8e48aa43 | |||
396a220960 | |||
7b24cd39b6 | |||
185af90a16 | |||
b2f6e52ae8 | |||
fa835f8b35 | |||
a86c4b6517 | |||
ba1817deb7 | |||
e8db5ce8af | |||
0a2cc8aa81 | |||
d2d73c63c4 | |||
72fe29ef70 | |||
d687b114c9 | |||
4cec0a0c94 | |||
48a328b022 | |||
01245acdb2 | |||
58206b76f2 | |||
5eea29d0ce | |||
3810c7e28e | |||
ce619b6e6a | |||
7587dcb2a6 | |||
e05326e07a | |||
b2cfa819ae | |||
c0edc33898 | |||
7ceaa9822c | |||
b3004d9008 | |||
06e7dbf3f4 | |||
fc338ea696 | |||
6b760d27d0 | |||
3d90fcc7e5 | |||
df57b8c4e6 | |||
1d764d03f7 | |||
e78fb0d387 | |||
70c7b614c1 | |||
cd4ce7b55e | |||
f2a7710aed | |||
5eaceb9a8e | |||
f9d8426174
|
|||
6ee7c34951 | |||
cb498b015e | |||
bfb5c88e79
|
|||
d318a6abb0 | |||
238fe7a365 | |||
c32a64e05c | |||
b179d0e09e | |||
b16f4869d6 | |||
a846da33ad | |||
6c044312c2 | |||
8a498988e7 | |||
0d781d327b | |||
8173006301 | |||
ed0430bc3a | |||
137a553ace | |||
cebf65a89b | |||
f34576d18a | |||
ffe674124e
|
|||
57f497df54
|
|||
ab8cabf8e0
|
|||
c01b285fe4
|
|||
45a5a5d2ca | |||
79537bf1b3 | |||
967882b0b7 | |||
ec9ee8fbc3
|
|||
44f7b7edd8 | |||
9d48a93a76
|
|||
b295c24a18
|
|||
a80a1aa9ac
|
|||
e4654a71eb
|
|||
c1a4eec75e | |||
f5775be4be
|
|||
48ca20b104 | |||
77de2ba46f | |||
b7916aa0f1 | |||
95845ea5e1 | |||
656eeaaab5 | |||
269e9323df | |||
7ba8db2287 | |||
8bfa10b6e4
|
|||
b9797310ab | |||
686e9b7bcf | |||
c7e207b934 | |||
40d85c7120 | |||
ea5a202af4
|
|||
e151d96dd9
|
|||
afa81ce50a
|
|||
0fbc894173 | |||
e6f5b7456e | |||
42a301e763 | |||
13210d90bc | |||
6c297d4f77 | |||
669311205f | |||
0f4a35d003 | |||
8aacb15e21 | |||
c62de5d29f | |||
fce88ba49a | |||
25d0374939 | |||
4dfed7d77d | |||
073e904954 | |||
9c0f39f19d | |||
e5b494ecb8 | |||
ca24eb6ba5 | |||
b88beee846 | |||
33dc6b1211 | |||
313696132a | |||
480e7d5978 | |||
945744e5e9 | |||
fb8c62fc9c | |||
c8bd1533d8 | |||
ba59882e94 | |||
07a4a3009d | |||
8591a1afc1 | |||
0be5f75da0 | |||
82a251ba35 | |||
1dbbabd570 | |||
ac8b551d4a | |||
e1e18378ed | |||
35ec0bf432 | |||
40e005c517 | |||
504d54e7b2 | |||
97640d4f70 | |||
a4298c0992 | |||
4ea12e8831 | |||
23d72ffc43 | |||
46d646bd5b | |||
e5879a60f5 | |||
bbb7ff3a43 | |||
396adfb3a8 | |||
629db03c02 | |||
52b7c1af6a | |||
296a5b6404 | |||
ee70136f42 | |||
2c0c7fdf7e | |||
994efbb991 | |||
ea81e5fa0e | |||
d1f9813c3b | |||
95ae693dd0 | |||
96f98f4908 | |||
8df2ebed45 | |||
99c6845c98 | |||
62713d50d3 | |||
14aaaefd69 | |||
84b507b2ae | |||
4582bbfc64 | |||
f59c3ba228 | |||
8e903c59f6 | |||
ff5b3ee504 | |||
74c61e2e84 | |||
e43acf1bdc | |||
0e2fba583f | |||
da1407eb48 | |||
002aec543f |
1
.allowed_signers
Normal file
@ -0,0 +1 @@
|
||||
jonah@privacyguides.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJUp+Gi8ZpTDDbZC+GY+3QnFfxkI9rAu07bceyoHDp9O
|
32
.github/dependabot.yml
vendored
@ -1,27 +1,29 @@
|
||||
version: 2
|
||||
|
||||
registries:
|
||||
|
||||
fortawesome:
|
||||
type: npm-registry
|
||||
url: https://npm.fontawesome.com/
|
||||
token: ${{ secrets.FONTAWESOME_NPM_AUTH_TOKEN }}
|
||||
|
||||
updates:
|
||||
|
||||
# Maintain dependencies for GitHub Actions
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
assignees:
|
||||
- "jonaharagon"
|
||||
reviewers:
|
||||
- "jonaharagon"
|
||||
labels:
|
||||
- "fix:github_actions"
|
||||
|
||||
- package-ecosystem: "bundler" # See documentation for possible values
|
||||
directory: "/" # Location of package manifests
|
||||
schedule:
|
||||
interval: "daily"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
# Maintain dependencies for pipenv
|
||||
- package-ecosystem: "pip"
|
||||
directory: "/"
|
||||
registries:
|
||||
- fortawesome
|
||||
ignore:
|
||||
- dependency-name: "mkdocs-material"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
assignees:
|
||||
- "jonaharagon"
|
||||
reviewers:
|
||||
- "jonaharagon"
|
||||
labels:
|
||||
- "fix:python"
|
||||
|
4
.github/workflows/crowdin.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: Crowdin Upload
|
||||
name: 💬 Crowdin Upload
|
||||
|
||||
on:
|
||||
push:
|
||||
@ -14,7 +14,7 @@ jobs:
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: crowdin action
|
||||
uses: crowdin/github-action@1.4.8
|
||||
uses: crowdin/github-action@1.4.9
|
||||
with:
|
||||
upload_sources: true
|
||||
upload_sources_args: '--auto-update --delete-obsolete'
|
||||
|
32
.github/workflows/deploy.yml
vendored
@ -1,5 +1,7 @@
|
||||
name: Deploy Website
|
||||
name: 📦 Deploy Website
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
@ -14,37 +16,35 @@ jobs:
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
ref: ${{github.event.pull_request.head.ref}}
|
||||
repository: ${{github.event.pull_request.head.repo.full_name}}
|
||||
ssh-key: ${{ secrets.ACTIONS_SSH_KEY }}
|
||||
submodules: 'true'
|
||||
|
||||
- name: Set up Python runtime
|
||||
uses: actions/setup-python@v3
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
python-version: '3.7'
|
||||
|
||||
- name: Cache files
|
||||
uses: actions/cache@v3.0.2
|
||||
uses: actions/cache@v3.0.4
|
||||
with:
|
||||
key: ${{ github.ref }}
|
||||
path: .cache
|
||||
|
||||
- name: Install Python dependencies
|
||||
run: |
|
||||
pip install 'mkdocs>=1.3.0'
|
||||
pip install mkdocs-static-i18n
|
||||
|
||||
- name: Install mkdocs-material Insiders build
|
||||
if: github.event.repository.fork == false
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
run: |
|
||||
git clone --depth 1 https://${GH_TOKEN}@github.com/squidfunk/mkdocs-material-insiders.git
|
||||
pip install -e mkdocs-material-insiders
|
||||
pip install pipenv
|
||||
pipenv install
|
||||
|
||||
- name: Build website
|
||||
run: |
|
||||
mkdocs build
|
||||
pipenv run mkdocs build
|
||||
mv .well-known site/
|
||||
tar cvf site.tar site
|
||||
mkdocs --version
|
||||
pipenv run mkdocs --version
|
||||
|
||||
- name: Package website
|
||||
uses: actions/upload-artifact@v3
|
||||
|
31
.github/workflows/mirror.yml
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
name: 🪞 Push to Mirrors
|
||||
|
||||
on: [ push, delete, create ]
|
||||
|
||||
# Ensures that only one mirror task will run at a time.
|
||||
concurrency:
|
||||
group: git-mirror
|
||||
|
||||
jobs:
|
||||
git-mirror:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Mirror to GitLab
|
||||
uses: wearerequired/git-mirror-action@v1
|
||||
env:
|
||||
SSH_PRIVATE_KEY: ${{ secrets.ACTIONS_SSH_KEY }}
|
||||
with:
|
||||
source-repo: "git@github.com:privacyguides/privacyguides.org.git"
|
||||
destination-repo: "git@gitlab.com:privacyguides/privacyguides.org.git"
|
||||
|
||||
- name: Cleanup
|
||||
run: |
|
||||
sudo rm -rf privacyguides.org.git
|
||||
|
||||
- name: Mirror to Codeberg
|
||||
uses: wearerequired/git-mirror-action@v1
|
||||
env:
|
||||
SSH_PRIVATE_KEY: ${{ secrets.ACTIONS_SSH_KEY }}
|
||||
with:
|
||||
source-repo: "git@github.com:privacyguides/privacyguides.org.git"
|
||||
destination-repo: "git@codeberg.org:privacyguides/privacyguides.org.git"
|
44
.github/workflows/preview.yml
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
name: 🔂 Surge PR Preview
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, synchronize, reopened]
|
||||
|
||||
# Ensures that only one mirror task will run at a time.
|
||||
concurrency:
|
||||
group: surge-sh
|
||||
|
||||
jobs:
|
||||
preview:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
contents: write
|
||||
environment: preview
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
ref: ${{github.event.pull_request.head.ref}}
|
||||
repository: ${{github.event.pull_request.head.repo.full_name}}
|
||||
ssh-key: ${{ secrets.ACTIONS_SSH_KEY }}
|
||||
submodules: 'true'
|
||||
|
||||
- name: Set up Python runtime
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.7'
|
||||
|
||||
- name: Deploy to surge.sh
|
||||
uses: afc163/surge-preview@v1
|
||||
with:
|
||||
surge_token: ${{ secrets.SURGE_TOKEN }}
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
dist: site
|
||||
failOnError: 'true'
|
||||
build: |
|
||||
pip install pipenv
|
||||
pipenv install
|
||||
pipenv run mkdocs build
|
6
.gitmodules
vendored
@ -1,3 +1,9 @@
|
||||
[submodule "mkdocs-material-insiders"]
|
||||
path = mkdocs-material
|
||||
url = git@github.com:privacyguides/mkdocs-material-insiders.git
|
||||
[submodule "docs/assets/brand"]
|
||||
path = docs/assets/brand
|
||||
url = https://github.com/privacyguides/brand.git
|
||||
[submodule "docs/blog"]
|
||||
path = docs/blog
|
||||
url = https://github.com/privacyguides/blog.git
|
||||
|
@ -1,5 +1,7 @@
|
||||
default: true
|
||||
line-length: false
|
||||
ul-indent:
|
||||
indent: 4
|
||||
no-inline-html: false
|
||||
code-block-style: false
|
||||
no-hard-tabs:
|
||||
|
BIN
.well-known/openpgpkey/hu/dnrefmbtd6i58w8xfy4imj94cmbw3u3h
Executable file → Normal file
6
Pipfile
@ -7,9 +7,13 @@ name = "pypi"
|
||||
mkdocs = "*"
|
||||
mkdocs-material = {path = "./mkdocs-material"}
|
||||
mkdocs-static-i18n = "*"
|
||||
mkdocs-git-revision-date-localized-plugin = "*"
|
||||
typing-extensions = "*"
|
||||
mkdocs-minify-plugin = "*"
|
||||
mkdocs-rss-plugin = "*"
|
||||
|
||||
[dev-packages]
|
||||
scour = "*"
|
||||
|
||||
[requires]
|
||||
python_version = "3.8"
|
||||
python_version = "3.7"
|
||||
|
371
Pipfile.lock
generated
@ -1,11 +1,11 @@
|
||||
{
|
||||
"_meta": {
|
||||
"hash": {
|
||||
"sha256": "57e0161a7d6dbb050b1a0ab71eaaf145b951010f8a3054dfab1c5f24d4a293cf"
|
||||
"sha256": "ce0d93277762e5052d095796291285ed1ff44183570f08ebfa71b76619eee48e"
|
||||
},
|
||||
"pipfile-spec": 6,
|
||||
"requires": {
|
||||
"python_version": "3.8"
|
||||
"python_version": "3.7"
|
||||
},
|
||||
"sources": [
|
||||
{
|
||||
@ -16,6 +16,14 @@
|
||||
]
|
||||
},
|
||||
"default": {
|
||||
"babel": {
|
||||
"hashes": [
|
||||
"sha256:3f349e85ad3154559ac4930c3918247d319f21910d5ce4b25d439ed8693b98d2",
|
||||
"sha256:98aeaca086133efb3e1e2aad0396987490c8425929ddbcfe0550184fdc54cd13"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==2.10.1"
|
||||
},
|
||||
"cairocffi": {
|
||||
"hashes": [
|
||||
"sha256:108a3a7cb09e203bdd8501d9baad91d786d204561bd71e9364e8b34897c47b91"
|
||||
@ -33,10 +41,11 @@
|
||||
},
|
||||
"certifi": {
|
||||
"hashes": [
|
||||
"sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872",
|
||||
"sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"
|
||||
"sha256:9c5705e395cd70084351dd8ad5c41e65655e08ce46f2ec9cf6c2c08390f71eb7",
|
||||
"sha256:f1d53542ee8cbedbe2118b5686372fb33c297fcd6379b050cca0ef13a597382a"
|
||||
],
|
||||
"version": "==2021.10.8"
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==2022.5.18.1"
|
||||
},
|
||||
"cffi": {
|
||||
"hashes": [
|
||||
@ -98,24 +107,30 @@
|
||||
"sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597",
|
||||
"sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"
|
||||
],
|
||||
"markers": "python_version >= '3'",
|
||||
"markers": "python_version >= '3.0'",
|
||||
"version": "==2.0.12"
|
||||
},
|
||||
"click": {
|
||||
"hashes": [
|
||||
"sha256:24e1a4a9ec5bf6299411369b208c1df2188d9eb8d916302fe6bf03faed227f1e",
|
||||
"sha256:479707fe14d9ec9a0757618b7a100a0ae4c4e236fac5b7f80ca68028141a1a72"
|
||||
"sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e",
|
||||
"sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==8.1.2"
|
||||
"version": "==8.1.3"
|
||||
},
|
||||
"csscompressor": {
|
||||
"hashes": [
|
||||
"sha256:afa22badbcf3120a4f392e4d22f9fff485c044a1feda4a950ecc5eba9dd31a05"
|
||||
],
|
||||
"version": "==0.9.5"
|
||||
},
|
||||
"cssselect2": {
|
||||
"hashes": [
|
||||
"sha256:8d4690bce5f25013262997e64cef3e7bade877d3ef126f9cc624e5b1f294d934",
|
||||
"sha256:d98a7bbdd8ebc46093279195d669a3359bd5a23f90c19e82c19d9eeef333e617"
|
||||
"sha256:3a83b2a68370c69c9cd3fcb88bbfaebe9d22edeef2c22d1ff3e1ed9c7fa45ed8",
|
||||
"sha256:5b5d6dea81a5eb0c9ca39f116c8578dd413778060c94c1f51196371618909325"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==0.5.0"
|
||||
"version": "==0.6.0"
|
||||
},
|
||||
"defusedxml": {
|
||||
"hashes": [
|
||||
@ -127,26 +142,48 @@
|
||||
},
|
||||
"ghp-import": {
|
||||
"hashes": [
|
||||
"sha256:5f8962b30b20652cdffa9c5a9812f7de6bcb56ec475acac579807719bf242c46",
|
||||
"sha256:947b3771f11be850c852c64b561c600fdddf794bab363060854c1ee7ad05e071"
|
||||
"sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619",
|
||||
"sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"
|
||||
],
|
||||
"version": "==2.0.2"
|
||||
"version": "==2.1.0"
|
||||
},
|
||||
"gitdb": {
|
||||
"hashes": [
|
||||
"sha256:8033ad4e853066ba6ca92050b9df2f89301b8fc8bf7e9324d412a63f8bf1a8fd",
|
||||
"sha256:bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==4.0.9"
|
||||
},
|
||||
"gitpython": {
|
||||
"hashes": [
|
||||
"sha256:1c885ce809e8ba2d88a29befeb385fcea06338d3640712b59ca623c220bb5704",
|
||||
"sha256:5b68b000463593e05ff2b261acff0ff0972df8ab1b70d3cdbd41b546c8b8fc3d"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==3.1.27"
|
||||
},
|
||||
"htmlmin": {
|
||||
"hashes": [
|
||||
"sha256:50c1ef4630374a5d723900096a961cff426dff46b48f34d194a81bbe14eca178"
|
||||
],
|
||||
"version": "==0.1.12"
|
||||
},
|
||||
"idna": {
|
||||
"hashes": [
|
||||
"sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff",
|
||||
"sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"
|
||||
],
|
||||
"markers": "python_version >= '3'",
|
||||
"markers": "python_version >= '3.0'",
|
||||
"version": "==3.3"
|
||||
},
|
||||
"importlib-metadata": {
|
||||
"hashes": [
|
||||
"sha256:1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6",
|
||||
"sha256:ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539"
|
||||
"sha256:5d26852efe48c0a32b0509ffbc583fda1a2266545a78d104a6f4aff3db17d700",
|
||||
"sha256:c58c8eb8a762858f49e18436ff552e83914778e50e9d2f1660535ffb364552ec"
|
||||
],
|
||||
"markers": "python_version < '3.10'",
|
||||
"version": "==4.11.3"
|
||||
"version": "==4.11.4"
|
||||
},
|
||||
"jinja2": {
|
||||
"hashes": [
|
||||
@ -156,6 +193,12 @@
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==3.0.3"
|
||||
},
|
||||
"jsmin": {
|
||||
"hashes": [
|
||||
"sha256:c0959a121ef94542e807a674142606f7e90214a2b3d1eb17300244bbb5cc2bfc"
|
||||
],
|
||||
"version": "==3.0.1"
|
||||
},
|
||||
"lxml": {
|
||||
"hashes": [
|
||||
"sha256:078306d19a33920004addeb5f4630781aaeabb6a8d01398045fcde085091a169",
|
||||
@ -225,11 +268,11 @@
|
||||
},
|
||||
"markdown": {
|
||||
"hashes": [
|
||||
"sha256:76df8ae32294ec39dcf89340382882dfa12975f87f45c3ed1ecdb1e8cefc7006",
|
||||
"sha256:9923332318f843411e9932237530df53162e29dc7a4e2b91e35764583c46c9a3"
|
||||
"sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874",
|
||||
"sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==3.3.6"
|
||||
"version": "==3.3.7"
|
||||
},
|
||||
"markupsafe": {
|
||||
"hashes": [
|
||||
@ -293,9 +336,17 @@
|
||||
"index": "pypi",
|
||||
"version": "==1.3.0"
|
||||
},
|
||||
"mkdocs-git-revision-date-localized-plugin": {
|
||||
"hashes": [
|
||||
"sha256:f3e020b445e7b4fb4e58ccd46b07adecbca0f85ac1659e1a63e38b8779c81ba7",
|
||||
"sha256:ffcf206b5108d9f729af6cd42377d2e0e25c080817fdad0119549ac924b526f3"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==1.0.1"
|
||||
},
|
||||
"mkdocs-material": {
|
||||
"path": "./mkdocs-material",
|
||||
"version": "==8.2.8+insiders.4.12.0"
|
||||
"version": "==8.2.15+insiders.4.15.1"
|
||||
},
|
||||
"mkdocs-material-extensions": {
|
||||
"hashes": [
|
||||
@ -305,12 +356,28 @@
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==1.0.3"
|
||||
},
|
||||
"mkdocs-static-i18n": {
|
||||
"mkdocs-minify-plugin": {
|
||||
"hashes": [
|
||||
"sha256:0d97df64b5be7b34dc112d4ccfba28352b9fccd1b7a3babf229f30d25f6ebb36"
|
||||
"sha256:32d9e8fbd89327a0f4f648f517297aad344c1bad64cfde110d059bd2f2780a6d",
|
||||
"sha256:487c31ae6b8b3230f56910ce6bcf5c7e6ad9a8c4f51c720a4b989f30c2b0233f"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==0.44"
|
||||
"version": "==0.5.0"
|
||||
},
|
||||
"mkdocs-rss-plugin": {
|
||||
"hashes": [
|
||||
"sha256:50671e2030188da4bc01ff421d979903a01cd87b02e2ec5f430fd05d5ed55825",
|
||||
"sha256:536efc35c2f62ea1eac4bae23532e07f0a19b9044291a12960f47be7d3aaf99e"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==1.1.0"
|
||||
},
|
||||
"mkdocs-static-i18n": {
|
||||
"hashes": [
|
||||
"sha256:5d69b4eb284931bd048a36f923367f2a7bd0dc7b0438008dce8ca1a8feee99e2"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==0.45"
|
||||
},
|
||||
"packaging": {
|
||||
"hashes": [
|
||||
@ -322,47 +389,47 @@
|
||||
},
|
||||
"pillow": {
|
||||
"hashes": [
|
||||
"sha256:01ce45deec9df310cbbee11104bae1a2a43308dd9c317f99235b6d3080ddd66e",
|
||||
"sha256:0c51cb9edac8a5abd069fd0758ac0a8bfe52c261ee0e330f363548aca6893595",
|
||||
"sha256:17869489de2fce6c36690a0c721bd3db176194af5f39249c1ac56d0bb0fcc512",
|
||||
"sha256:21dee8466b42912335151d24c1665fcf44dc2ee47e021d233a40c3ca5adae59c",
|
||||
"sha256:25023a6209a4d7c42154073144608c9a71d3512b648a2f5d4465182cb93d3477",
|
||||
"sha256:255c9d69754a4c90b0ee484967fc8818c7ff8311c6dddcc43a4340e10cd1636a",
|
||||
"sha256:35be4a9f65441d9982240e6966c1eaa1c654c4e5e931eaf580130409e31804d4",
|
||||
"sha256:3f42364485bfdab19c1373b5cd62f7c5ab7cc052e19644862ec8f15bb8af289e",
|
||||
"sha256:3fddcdb619ba04491e8f771636583a7cc5a5051cd193ff1aa1ee8616d2a692c5",
|
||||
"sha256:463acf531f5d0925ca55904fa668bb3461c3ef6bc779e1d6d8a488092bdee378",
|
||||
"sha256:4fe29a070de394e449fd88ebe1624d1e2d7ddeed4c12e0b31624561b58948d9a",
|
||||
"sha256:55dd1cf09a1fd7c7b78425967aacae9b0d70125f7d3ab973fadc7b5abc3de652",
|
||||
"sha256:5a3ecc026ea0e14d0ad7cd990ea7f48bfcb3eb4271034657dc9d06933c6629a7",
|
||||
"sha256:5cfca31ab4c13552a0f354c87fbd7f162a4fafd25e6b521bba93a57fe6a3700a",
|
||||
"sha256:66822d01e82506a19407d1afc104c3fcea3b81d5eb11485e593ad6b8492f995a",
|
||||
"sha256:69e5ddc609230d4408277af135c5b5c8fe7a54b2bdb8ad7c5100b86b3aab04c6",
|
||||
"sha256:6b6d4050b208c8ff886fd3db6690bf04f9a48749d78b41b7a5bf24c236ab0165",
|
||||
"sha256:7a053bd4d65a3294b153bdd7724dce864a1d548416a5ef61f6d03bf149205160",
|
||||
"sha256:82283af99c1c3a5ba1da44c67296d5aad19f11c535b551a5ae55328a317ce331",
|
||||
"sha256:8782189c796eff29dbb37dd87afa4ad4d40fc90b2742704f94812851b725964b",
|
||||
"sha256:8d79c6f468215d1a8415aa53d9868a6b40c4682165b8cb62a221b1baa47db458",
|
||||
"sha256:97bda660702a856c2c9e12ec26fc6d187631ddfd896ff685814ab21ef0597033",
|
||||
"sha256:a325ac71914c5c043fa50441b36606e64a10cd262de12f7a179620f579752ff8",
|
||||
"sha256:a336a4f74baf67e26f3acc4d61c913e378e931817cd1e2ef4dfb79d3e051b481",
|
||||
"sha256:a598d8830f6ef5501002ae85c7dbfcd9c27cc4efc02a1989369303ba85573e58",
|
||||
"sha256:a5eaf3b42df2bcda61c53a742ee2c6e63f777d0e085bbc6b2ab7ed57deb13db7",
|
||||
"sha256:aea7ce61328e15943d7b9eaca87e81f7c62ff90f669116f857262e9da4057ba3",
|
||||
"sha256:af79d3fde1fc2e33561166d62e3b63f0cc3e47b5a3a2e5fea40d4917754734ea",
|
||||
"sha256:c24f718f9dd73bb2b31a6201e6db5ea4a61fdd1d1c200f43ee585fc6dcd21b34",
|
||||
"sha256:c5b0ff59785d93b3437c3703e3c64c178aabada51dea2a7f2c5eccf1bcf565a3",
|
||||
"sha256:c7110ec1701b0bf8df569a7592a196c9d07c764a0a74f65471ea56816f10e2c8",
|
||||
"sha256:c870193cce4b76713a2b29be5d8327c8ccbe0d4a49bc22968aa1e680930f5581",
|
||||
"sha256:c9efef876c21788366ea1f50ecb39d5d6f65febe25ad1d4c0b8dff98843ac244",
|
||||
"sha256:de344bcf6e2463bb25179d74d6e7989e375f906bcec8cb86edb8b12acbc7dfef",
|
||||
"sha256:eb1b89b11256b5b6cad5e7593f9061ac4624f7651f7a8eb4dfa37caa1dfaa4d0",
|
||||
"sha256:ed742214068efa95e9844c2d9129e209ed63f61baa4d54dbf4cf8b5e2d30ccf2",
|
||||
"sha256:f401ed2bbb155e1ade150ccc63db1a4f6c1909d3d378f7d1235a44e90d75fb97",
|
||||
"sha256:fb89397013cf302f282f0fc998bb7abf11d49dcff72c8ecb320f76ea6e2c5717"
|
||||
"sha256:088df396b047477dd1bbc7de6e22f58400dae2f21310d9e2ec2933b2ef7dfa4f",
|
||||
"sha256:09e67ef6e430f90caa093528bd758b0616f8165e57ed8d8ce014ae32df6a831d",
|
||||
"sha256:0b4d5ad2cd3a1f0d1df882d926b37dbb2ab6c823ae21d041b46910c8f8cd844b",
|
||||
"sha256:0b525a356680022b0af53385944026d3486fc8c013638cf9900eb87c866afb4c",
|
||||
"sha256:1d4331aeb12f6b3791911a6da82de72257a99ad99726ed6b63f481c0184b6fb9",
|
||||
"sha256:20d514c989fa28e73a5adbddd7a171afa5824710d0ab06d4e1234195d2a2e546",
|
||||
"sha256:2b291cab8a888658d72b575a03e340509b6b050b62db1f5539dd5cd18fd50578",
|
||||
"sha256:3f6c1716c473ebd1649663bf3b42702d0d53e27af8b64642be0dd3598c761fb1",
|
||||
"sha256:42dfefbef90eb67c10c45a73a9bc1599d4dac920f7dfcbf4ec6b80cb620757fe",
|
||||
"sha256:488f3383cf5159907d48d32957ac6f9ea85ccdcc296c14eca1a4e396ecc32098",
|
||||
"sha256:4d45dbe4b21a9679c3e8b3f7f4f42a45a7d3ddff8a4a16109dff0e1da30a35b2",
|
||||
"sha256:53c27bd452e0f1bc4bfed07ceb235663a1df7c74df08e37fd6b03eb89454946a",
|
||||
"sha256:55e74faf8359ddda43fee01bffbc5bd99d96ea508d8a08c527099e84eb708f45",
|
||||
"sha256:59789a7d06c742e9d13b883d5e3569188c16acb02eeed2510fd3bfdbc1bd1530",
|
||||
"sha256:5b650dbbc0969a4e226d98a0b440c2f07a850896aed9266b6fedc0f7e7834108",
|
||||
"sha256:66daa16952d5bf0c9d5389c5e9df562922a59bd16d77e2a276e575d32e38afd1",
|
||||
"sha256:6e760cf01259a1c0a50f3c845f9cad1af30577fd8b670339b1659c6d0e7a41dd",
|
||||
"sha256:7502539939b53d7565f3d11d87c78e7ec900d3c72945d4ee0e2f250d598309a0",
|
||||
"sha256:769a7f131a2f43752455cc72f9f7a093c3ff3856bf976c5fb53a59d0ccc704f6",
|
||||
"sha256:7c150dbbb4a94ea4825d1e5f2c5501af7141ea95825fadd7829f9b11c97aaf6c",
|
||||
"sha256:8844217cdf66eabe39567118f229e275f0727e9195635a15e0e4b9227458daaf",
|
||||
"sha256:8a66fe50386162df2da701b3722781cbe90ce043e7d53c1fd6bd801bca6b48d4",
|
||||
"sha256:9370d6744d379f2de5d7fa95cdbd3a4d92f0b0ef29609b4b1687f16bc197063d",
|
||||
"sha256:937a54e5694684f74dcbf6e24cc453bfc5b33940216ddd8f4cd8f0f79167f765",
|
||||
"sha256:9c857532c719fb30fafabd2371ce9b7031812ff3889d75273827633bca0c4602",
|
||||
"sha256:a4165205a13b16a29e1ac57efeee6be2dfd5b5408122d59ef2145bc3239fa340",
|
||||
"sha256:b3fe2ff1e1715d4475d7e2c3e8dabd7c025f4410f79513b4ff2de3d51ce0fa9c",
|
||||
"sha256:b6617221ff08fbd3b7a811950b5c3f9367f6e941b86259843eab77c8e3d2b56b",
|
||||
"sha256:b761727ed7d593e49671d1827044b942dd2f4caae6e51bab144d4accf8244a84",
|
||||
"sha256:baf3be0b9446a4083cc0c5bb9f9c964034be5374b5bc09757be89f5d2fa247b8",
|
||||
"sha256:c17770a62a71718a74b7548098a74cd6880be16bcfff5f937f900ead90ca8e92",
|
||||
"sha256:c67db410508b9de9c4694c57ed754b65a460e4812126e87f5052ecf23a011a54",
|
||||
"sha256:d78ca526a559fb84faaaf84da2dd4addef5edb109db8b81677c0bb1aad342601",
|
||||
"sha256:e9ed59d1b6ee837f4515b9584f3d26cf0388b742a11ecdae0d9237a94505d03a",
|
||||
"sha256:f054b020c4d7e9786ae0404278ea318768eb123403b18453e28e47cdb7a0a4bf",
|
||||
"sha256:f372d0f08eff1475ef426344efe42493f71f377ec52237bf153c5713de987251",
|
||||
"sha256:f3f6a6034140e9e17e9abc175fc7a266a6e63652028e157750bd98e804a8ed9a",
|
||||
"sha256:ffde4c6fabb52891d81606411cbfaf77756e3b561b566efd270b3ed3791fde4e"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==9.1.0"
|
||||
"version": "==9.1.1"
|
||||
},
|
||||
"pycparser": {
|
||||
"hashes": [
|
||||
@ -373,27 +440,27 @@
|
||||
},
|
||||
"pygments": {
|
||||
"hashes": [
|
||||
"sha256:44238f1b60a76d78fc8ca0528ee429702aae011c265fe6a8dd8b63049ae41c65",
|
||||
"sha256:4e426f72023d88d03b2fa258de560726ce890ff3b630f88c21cbb8b2503b8c6a"
|
||||
"sha256:5eb116118f9612ff1ee89ac96437bb6b49e8f04d8a13b514ba26f620208e26eb",
|
||||
"sha256:dc9c10fb40944260f6ed4c688ece0cd2048414940f1cea51b8b226318411c519"
|
||||
],
|
||||
"markers": "python_version >= '3.5'",
|
||||
"version": "==2.11.2"
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==2.12.0"
|
||||
},
|
||||
"pymdown-extensions": {
|
||||
"hashes": [
|
||||
"sha256:a80553b243d3ed2d6c27723bcd64ca9887e560e6f4808baa96f36e93061eaf90",
|
||||
"sha256:b37461a181c1c8103cfe1660081726a0361a8294cbfda88e5b02cefe976f0546"
|
||||
"sha256:1baa22a60550f731630474cad28feb0405c8101f1a7ddc3ec0ed86ee510bcc43",
|
||||
"sha256:5b7432456bf555ce2b0ab3c2439401084cda8110f24f6b3ecef952b8313dfa1b"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==9.3"
|
||||
"version": "==9.4"
|
||||
},
|
||||
"pyparsing": {
|
||||
"hashes": [
|
||||
"sha256:7bf433498c016c4314268d95df76c81b842a4cb2b276fa3312cfb1e1d85f6954",
|
||||
"sha256:ef7b523f6356f763771559412c0d7134753f037822dad1b16945b7b846f7ad06"
|
||||
"sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb",
|
||||
"sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"
|
||||
],
|
||||
"markers": "python_full_version >= '3.6.8'",
|
||||
"version": "==3.0.8"
|
||||
"version": "==3.0.9"
|
||||
},
|
||||
"python-dateutil": {
|
||||
"hashes": [
|
||||
@ -403,6 +470,13 @@
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||
"version": "==2.8.2"
|
||||
},
|
||||
"pytz": {
|
||||
"hashes": [
|
||||
"sha256:1e760e2fe6a8163bc0b3d9a19c4f84342afa0a2affebfaa84b01b978a02ecaa7",
|
||||
"sha256:e68985985296d9a66a881eb3193b0906246245294a881e7c8afe623866ac6a5c"
|
||||
],
|
||||
"version": "==2022.1"
|
||||
},
|
||||
"pyyaml": {
|
||||
"hashes": [
|
||||
"sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293",
|
||||
@ -450,6 +524,86 @@
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==0.1"
|
||||
},
|
||||
"regex": {
|
||||
"hashes": [
|
||||
"sha256:02543d6d5c32d361b7cc468079ba4cddaaf4a6544f655901ba1ff9d8e3f18755",
|
||||
"sha256:036d1c1fbe69eba3ee253c107e71749cdbb4776db93d674bc0d5e28f30300734",
|
||||
"sha256:071bcb625e890f28b7c4573124a6512ea65107152b1d3ca101ce33a52dad4593",
|
||||
"sha256:0f8da3145f4b72f7ce6181c804eaa44cdcea313c8998cdade3d9e20a8717a9cb",
|
||||
"sha256:0fb6cb16518ac7eff29d1e0b0cce90275dfae0f17154165491058c31d58bdd1d",
|
||||
"sha256:0fd464e547dbabf4652ca5fe9d88d75ec30182981e737c07b3410235a44b9939",
|
||||
"sha256:12af15b6edb00e425f713160cfd361126e624ec0de86e74f7cad4b97b7f169b3",
|
||||
"sha256:165cc75cfa5aa0f12adb2ac6286330e7229a06dc0e6c004ec35da682b5b89579",
|
||||
"sha256:1a07e8366115069f26822c47732122ab61598830a69f5629a37ea8881487c107",
|
||||
"sha256:1c2de7f32fa87d04d40f54bce3843af430697aba51c3a114aa62837a0772f219",
|
||||
"sha256:253f858a0255cd91a0424a4b15c2eedb12f20274f85731b0d861c8137e843065",
|
||||
"sha256:275afc7352982ee947fc88f67a034b52c78395977b5fc7c9be15f7dc95b76f06",
|
||||
"sha256:2bde99f2cdfd6db1ec7e02d68cadd384ffe7413831373ea7cc68c5415a0cb577",
|
||||
"sha256:3241db067a7f69da57fba8bca543ac8a7ca415d91e77315690202749b9fdaba1",
|
||||
"sha256:37903d5ca11fa47577e8952d2e2c6de28553b11c70defee827afb941ab2c6729",
|
||||
"sha256:3dfbadb7b74d95f72f9f9dbf9778f7de92722ab520a109ceaf7927461fa85b10",
|
||||
"sha256:3e35c50b27f36176c792738cb9b858523053bc495044d2c2b44db24376b266f1",
|
||||
"sha256:3e9e983fc8e0d4d5ded7caa5aed39ca2cf6026d7e39801ef6f0af0b1b6cd9276",
|
||||
"sha256:3f6bd8178cce5bb56336722d5569d19c50bba5915a69a2050c497fb921e7cb0f",
|
||||
"sha256:43ee0df35925ae4b0cc6ee3f60b73369e559dd2ac40945044da9394dd9d3a51d",
|
||||
"sha256:45b761406777a681db0c24686178532134c937d24448d9e085279b69e9eb7da4",
|
||||
"sha256:46cbc5b23f85e94161b093dba1b49035697cf44c7db3c930adabfc0e6d861b95",
|
||||
"sha256:4f2e2cef324ca9355049ee1e712f68e2e92716eba24275e6767b9bfa15f1f478",
|
||||
"sha256:50b77622016f03989cd06ecf6b602c7a6b4ed2e3ce04133876b041d109c934ee",
|
||||
"sha256:582ea06079a03750b5f71e20a87cd99e646d796638b5894ff85987ebf5e04924",
|
||||
"sha256:58521abdab76583bd41ef47e5e2ddd93b32501aee4ee8cee71dee10a45ba46b1",
|
||||
"sha256:5b9c7b6895a01204296e9523b3e12b43e013835a9de035a783907c2c1bc447f0",
|
||||
"sha256:6165e737acb3bea3271372e8aa5ebe7226c8a8e8da1b94af2d6547c5a09d689d",
|
||||
"sha256:66fb765b2173d90389384708e3e1d3e4be1148bd8d4d50476b1469da5a2f0229",
|
||||
"sha256:68aed3fb0c61296bd6d234f558f78c51671f79ccb069cbcd428c2eea6fee7a5b",
|
||||
"sha256:6a0ef57cccd8089b4249eebad95065390e56c04d4a92c51316eab4131bca96a9",
|
||||
"sha256:709396c0c95b95045fac89b94f997410ff39b81a09863fe21002f390d48cc7d3",
|
||||
"sha256:73ed1b06abadbf6b61f6033a07c06f36ec0ddca117e41ef2ac37056705e46458",
|
||||
"sha256:7a608022f4593fc67518c6c599ae5abdb03bb8acd75993c82cd7a4c8100eff81",
|
||||
"sha256:7c4d9770e579eb11b582b2e2fd19fa204a15cb1589ae73cd4dcbb63b64f3e828",
|
||||
"sha256:7dbc96419ef0fb6ac56626014e6d3a345aeb8b17a3df8830235a88626ffc8d84",
|
||||
"sha256:7f271d0831d8ebc56e17b37f9fa1824b0379221d1238ae77c18a6e8c47f1fdce",
|
||||
"sha256:82b7fc67e49fdce671bdbec1127189fc979badf062ce6e79dc95ef5e07a8bf92",
|
||||
"sha256:85b7ee4d0c7a46296d884f6b489af8b960c4291d76aea4b22fd4fbe05e6ec08e",
|
||||
"sha256:8b747cef8e5dcdaf394192d43a0c02f5825aeb0ecd3d43e63ae500332ab830b0",
|
||||
"sha256:8bf867ba71856414a482e4b683500f946c300c4896e472e51d3db8dfa8dc8f32",
|
||||
"sha256:8e0da7ef160d4f3eb3d4d3e39a02c3c42f7dbcfce62c81f784cc99fc7059765f",
|
||||
"sha256:8e7d33f93cdd01868327d834d0f5bb029241cd293b47d51b96814dec27fc9b4b",
|
||||
"sha256:92183e9180c392371079262879c6532ccf55f808e6900df5d9f03c9ca8807255",
|
||||
"sha256:92ad03f928675ca05b79d3b1d3dfc149e2226d57ed9d57808f82105d511d0212",
|
||||
"sha256:97af238389cb029d63d5f2d931a7e8f5954ad96e812de5faaed373b68e74df86",
|
||||
"sha256:9913bcf730eb6e9b441fb176832eea9acbebab6035542c7c89d90c803f5cd3be",
|
||||
"sha256:9dae5affbb66178dad6c6fd5b02221ca9917e016c75ee3945e9a9563eb1fbb6f",
|
||||
"sha256:a850f5f369f1e3b6239da7fb43d1d029c1e178263df671819889c47caf7e4ff3",
|
||||
"sha256:aa6daa189db9104787ff1fd7a7623ce017077aa59eaac609d0d25ba95ed251a0",
|
||||
"sha256:aabc28f7599f781ddaeac168d0b566d0db82182cc3dcf62129f0a4fc2927b811",
|
||||
"sha256:af1e687ffab18a75409e5e5d6215b6ccd41a5a1a0ea6ce9665e01253f737a0d3",
|
||||
"sha256:b1d53835922cd0f9b74b2742453a444865a70abae38d12eb41c59271da66f38d",
|
||||
"sha256:b2df3ede85d778c949d9bd2a50237072cee3df0a423c91f5514f78f8035bde87",
|
||||
"sha256:b415b82e5be7389ec5ee7ee35431e4a549ea327caacf73b697c6b3538cb5c87f",
|
||||
"sha256:b7ba3c304a4a5d8112dbd30df8b3e4ef59b4b07807957d3c410d9713abaee9a8",
|
||||
"sha256:bcc6f7a3a95119c3568c572ca167ada75f8319890706283b9ba59b3489c9bcb3",
|
||||
"sha256:be392d9cd5309509175a9d7660dc17bf57084501108dbff0c5a8bfc3646048c3",
|
||||
"sha256:bea61de0c688198e3d9479344228c7accaa22a78b58ec408e41750ebafee6c08",
|
||||
"sha256:bedb3d01ad35ea1745bdb1d57f3ee0f996f988c98f5bbae9d068c3bb3065d210",
|
||||
"sha256:c36906a7855ec33a9083608e6cd595e4729dab18aeb9aad0dd0b039240266239",
|
||||
"sha256:c4fdf837666f7793a5c3cfa2f2f39f03eb6c7e92e831bc64486c2f547580c2b3",
|
||||
"sha256:cfad3a770839aa456ff9a9aa0e253d98b628d005a3ccb37da1ff9be7c84fee16",
|
||||
"sha256:d128e278e5e554c5c022c7bed410ca851e00bacebbb4460de546a73bc53f8de4",
|
||||
"sha256:dffd9114ade73137ab2b79a8faf864683dbd2dbbb6b23a305fbbd4cbaeeb2187",
|
||||
"sha256:e2acf5c66fbb62b5fe4c40978ddebafa50818f00bf79d60569d9762f6356336e",
|
||||
"sha256:e65580ae3137bce712f505ec7c2d700aef0014a3878c4767b74aff5895fc454f",
|
||||
"sha256:e944268445b5694f5d41292c9228f0ca46d5a32a67f195d5f8547c1f1d91f4bc",
|
||||
"sha256:ed26c3d2d62c6588e0dad175b8d8cc0942a638f32d07b80f92043e5d73b7db67",
|
||||
"sha256:ed625205f5f26984382b68e4cbcbc08e6603c9e84c14b38457170b0cc71c823b",
|
||||
"sha256:f2a5d9f612091812dee18375a45d046526452142e7b78c4e21ab192db15453d5",
|
||||
"sha256:f86aef546add4ff1202e1f31e9bb54f9268f17d996b2428877283146bf9bc013",
|
||||
"sha256:f89d26e50a4c7453cb8c415acd09e72fbade2610606a9c500a1e48c43210a42d",
|
||||
"sha256:fb7107faf0168de087f62a2f2ed00f9e9da12e0b801582b516ddac236b871cda"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==2022.4.24"
|
||||
},
|
||||
"requests": {
|
||||
"hashes": [
|
||||
"sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61",
|
||||
@ -466,6 +620,14 @@
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||
"version": "==1.16.0"
|
||||
},
|
||||
"smmap": {
|
||||
"hashes": [
|
||||
"sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94",
|
||||
"sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==5.0.0"
|
||||
},
|
||||
"tinycss2": {
|
||||
"hashes": [
|
||||
"sha256:b2e44dd8883c360c35dd0d1b5aad0b610e5156c2cb3b33434634e539ead9d8bf",
|
||||
@ -474,6 +636,14 @@
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==1.1.1"
|
||||
},
|
||||
"typing-extensions": {
|
||||
"hashes": [
|
||||
"sha256:6657594ee297170d19f67d55c05852a874e7eb634f4f753dbd667855e07c1708",
|
||||
"sha256:f1c24655a0da0d1b67f07e17a5e6b2a105894e6824b92096378bb3668ef02376"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==4.2.0"
|
||||
},
|
||||
"urllib3": {
|
||||
"hashes": [
|
||||
"sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14",
|
||||
@ -484,33 +654,34 @@
|
||||
},
|
||||
"watchdog": {
|
||||
"hashes": [
|
||||
"sha256:03b43d583df0f18782a0431b6e9e9965c5b3f7cf8ec36a00b930def67942c385",
|
||||
"sha256:0908bb50f6f7de54d5d31ec3da1654cb7287c6b87bce371954561e6de379d690",
|
||||
"sha256:0b4a1fe6201c6e5a1926f5767b8664b45f0fcb429b62564a41f490ff1ce1dc7a",
|
||||
"sha256:177bae28ca723bc00846466016d34f8c1d6a621383b6caca86745918d55c7383",
|
||||
"sha256:19b36d436578eb437e029c6b838e732ed08054956366f6dd11875434a62d2b99",
|
||||
"sha256:1d1cf7dfd747dec519486a98ef16097e6c480934ef115b16f18adb341df747a4",
|
||||
"sha256:1e877c70245424b06c41ac258023ea4bd0c8e4ff15d7c1368f17cd0ae6e351dd",
|
||||
"sha256:340b875aecf4b0e6672076a6f05cfce6686935559bb6d34cebedee04126a9566",
|
||||
"sha256:351e09b6d9374d5bcb947e6ac47a608ec25b9d70583e9db00b2fcdb97b00b572",
|
||||
"sha256:3fd47815353be9c44eebc94cc28fe26b2b0c5bd889dafc4a5a7cbdf924143480",
|
||||
"sha256:49639865e3db4be032a96695c98ac09eed39bbb43fe876bb217da8f8101689a6",
|
||||
"sha256:4d0e98ac2e8dd803a56f4e10438b33a2d40390a72750cff4939b4b274e7906fa",
|
||||
"sha256:6e6ae29b72977f2e1ee3d0b760d7ee47896cb53e831cbeede3e64485e5633cc8",
|
||||
"sha256:7f14ce6adea2af1bba495acdde0e510aecaeb13b33f7bd2f6324e551b26688ca",
|
||||
"sha256:81982c7884aac75017a6ecc72f1a4fedbae04181a8665a34afce9539fc1b3fab",
|
||||
"sha256:81a5861d0158a7e55fe149335fb2bbfa6f48cbcbd149b52dbe2cd9a544034bbd",
|
||||
"sha256:ae934e34c11aa8296c18f70bf66ed60e9870fcdb4cc19129a04ca83ab23e7055",
|
||||
"sha256:b26e13e8008dcaea6a909e91d39b629a39635d1a8a7239dd35327c74f4388601",
|
||||
"sha256:b3750ee5399e6e9c69eae8b125092b871ee9e2fcbd657a92747aea28f9056a5c",
|
||||
"sha256:b61acffaf5cd5d664af555c0850f9747cc5f2baf71e54bbac164c58398d6ca7b",
|
||||
"sha256:b9777664848160449e5b4260e0b7bc1ae0f6f4992a8b285db4ec1ef119ffa0e2",
|
||||
"sha256:bdcbf75580bf4b960fb659bbccd00123d83119619195f42d721e002c1621602f",
|
||||
"sha256:d802d65262a560278cf1a65ef7cae4e2bc7ecfe19e5451349e4c67e23c9dc420",
|
||||
"sha256:ed6d9aad09a2a948572224663ab00f8975fae242aa540509737bb4507133fa2d"
|
||||
"sha256:036ed15f7cd656351bf4e17244447be0a09a61aaa92014332d50719fc5973bc0",
|
||||
"sha256:0c520009b8cce79099237d810aaa19bc920941c268578436b62013b2f0102320",
|
||||
"sha256:0fb60c7d31474b21acba54079ce9ff0136411183e9a591369417cddb1d7d00d7",
|
||||
"sha256:156ec3a94695ea68cfb83454b98754af6e276031ba1ae7ae724dc6bf8973b92a",
|
||||
"sha256:1ae17b6be788fb8e4d8753d8d599de948f0275a232416e16436363c682c6f850",
|
||||
"sha256:1e5d0fdfaa265c29dc12621913a76ae99656cf7587d03950dfeb3595e5a26102",
|
||||
"sha256:24dedcc3ce75e150f2a1d704661f6879764461a481ba15a57dc80543de46021c",
|
||||
"sha256:2962628a8777650703e8f6f2593065884c602df7bae95759b2df267bd89b2ef5",
|
||||
"sha256:47598fe6713fc1fee86b1ca85c9cbe77e9b72d002d6adeab9c3b608f8a5ead10",
|
||||
"sha256:4978db33fc0934c92013ee163a9db158ec216099b69fce5aec790aba704da412",
|
||||
"sha256:5e2e51c53666850c3ecffe9d265fc5d7351db644de17b15e9c685dd3cdcd6f97",
|
||||
"sha256:676263bee67b165f16b05abc52acc7a94feac5b5ab2449b491f1a97638a79277",
|
||||
"sha256:68dbe75e0fa1ba4d73ab3f8e67b21770fbed0651d32ce515cd38919a26873266",
|
||||
"sha256:6d03149126864abd32715d4e9267d2754cede25a69052901399356ad3bc5ecff",
|
||||
"sha256:6ddf67bc9f413791072e3afb466e46cc72c6799ba73dea18439b412e8f2e3257",
|
||||
"sha256:746e4c197ec1083581bb1f64d07d1136accf03437badb5ff8fcb862565c193b2",
|
||||
"sha256:7721ac736170b191c50806f43357407138c6748e4eb3e69b071397f7f7aaeedd",
|
||||
"sha256:88ef3e8640ef0a64b7ad7394b0f23384f58ac19dd759da7eaa9bc04b2898943f",
|
||||
"sha256:aa68d2d9a89d686fae99d28a6edf3b18595e78f5adf4f5c18fbfda549ac0f20c",
|
||||
"sha256:b962de4d7d92ff78fb2dbc6a0cb292a679dea879a0eb5568911484d56545b153",
|
||||
"sha256:ce7376aed3da5fd777483fe5ebc8475a440c6d18f23998024f832134b2938e7b",
|
||||
"sha256:ddde157dc1447d8130cb5b8df102fad845916fe4335e3d3c3f44c16565becbb7",
|
||||
"sha256:efcc8cbc1b43902571b3dce7ef53003f5b97fe4f275fe0489565fc6e2ebe3314",
|
||||
"sha256:f9ee4c6bf3a1b2ed6be90a2d78f3f4bbd8105b6390c04a86eb48ed67bbfa0b0b",
|
||||
"sha256:fed4de6e45a4f16e4046ea00917b4fe1700b97244e5d114f594b4a1b9de6bed8"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==2.1.7"
|
||||
"version": "==2.1.8"
|
||||
},
|
||||
"webencodings": {
|
||||
"hashes": [
|
||||
|
46
README.md
@ -1,10 +1,10 @@
|
||||
<!-- markdownlint-disable MD041 -->
|
||||
<div align="center">
|
||||
<a href="https://privacyguides.org#gh-light-mode-only">
|
||||
<img src="/docs/assets/img/layout/privacy-guides-logo.svg" width="500px" alt="Privacy Guides" />
|
||||
</a>
|
||||
|
||||
<a href="https://privacyguides.org#gh-dark-mode-only">
|
||||
<img src="/docs/assets/img/layout/privacy-guides-logo-dark.svg" width="500px" alt="Privacy Guides" />
|
||||
<a href="https://www.privacyguides.org/">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/privacyguides/brand/main/SVG/Logo/privacy-guides-logo-dark.svg">
|
||||
<img alt="Privacy Guides" width="500px" src="https://raw.githubusercontent.com/privacyguides/brand/main/SVG/Logo/privacy-guides-logo.svg">
|
||||
</picture>
|
||||
</a>
|
||||
|
||||
<p><em>Your central privacy and security resource to protect yourself online.</em></p>
|
||||
@ -16,6 +16,9 @@
|
||||
<p><a href="https://www.reddit.com/r/PrivacyGuides/">
|
||||
<img src="https://img.shields.io/reddit/subreddit-subscribers/PrivacyGuides?label=Subscribe%20to%20r%2FPrivacyGuides&style=social">
|
||||
</a>
|
||||
<a href="https://mastodon.social/@privacyguides">
|
||||
<img src="https://img.shields.io/mastodon/follow/107604420394178246?style=social">
|
||||
</a>
|
||||
<a href="https://twitter.com/privacy_guides">
|
||||
<img src="https://img.shields.io/twitter/follow/privacy_guides?style=social">
|
||||
</a>
|
||||
@ -55,16 +58,37 @@ Our current list of team members can be found [here](https://github.com/orgs/pri
|
||||
- Browse our [open issues](https://github.com/privacyguides/privacyguides.org/issues) to see what needs to be updated
|
||||
- View some contribution tips on our [contributor's wiki](https://github.com/privacyguides/privacyguides.org/wiki)
|
||||
|
||||
## Mirrors
|
||||
|
||||
[](https://github.com/privacyguides/privacyguides.org)
|
||||
[](https://code.privacyguides.dev/privacyguides/privacyguides.org)
|
||||
[](https://gitlab.com/privacyguides/privacyguides.org)
|
||||
[](https://codeberg.org/privacyguides/privacyguides.org)
|
||||
|
||||
## Developing
|
||||
|
||||
1. Clone this repository and submodules: `git clone --recurse-submodules https://github.com/privacyguides/privacyguides.org`
|
||||
This website uses [`mkdocs-material-insiders`](https://squidfunk.github.io/mkdocs-material/insiders/) which offers additional functionality over the open-source `mkdocs-material` project. For obvious reasons we cannot distribute access to the insiders repository. You can install the website locally with the open-source version of `mkdocs-material`:
|
||||
|
||||
1. Clone this repository:
|
||||
- `git clone https://github.com/privacyguides/privacyguides.org.git`
|
||||
- `git submodule init`
|
||||
- `git submodule update docs/assets/brand`
|
||||
2. Install [Python 3.6+](https://www.python.org/downloads/)
|
||||
3. Install [dependencies](/Pipfile): `pip install mkdocs mkdocs-material mkdocs-static-i18n mkdocs-git-revision-date-localized-plugin mkdocs-minify-plugin mkdocs-rss-plugin typing-extensions`
|
||||
4. Serve the site locally: `mkdocs serve`
|
||||
- The site will be available at `http://localhost:8000`
|
||||
- You can build the site locally with `mkdocs build`
|
||||
- Your local version of the site may be missing functionality, which is expected. If you are submitting a PR, please ensure the automatic preview generated for your PR looks correct, as that site will be built with the production insiders build.
|
||||
|
||||
**Team members** should clone the repository with `mkdocs-material-insiders` directly. This method is identical to production:
|
||||
|
||||
1. Clone this repository and submodules: `git clone --recurse-submodules https://github.com/privacyguides/privacyguides.org.git`
|
||||
2. Install [Python 3.6+](https://www.python.org/downloads/)
|
||||
3. Install **pipenv**: `pip install pipenv`
|
||||
4. Start a pipenv shell: `pipenv shell`
|
||||
5. Install dependencies: `pipenv install --dev`
|
||||
6. Serve the site locally: `mkdocs serve --config-file mkdocs.production.yml`
|
||||
4. Install dependencies: `pipenv install --dev`
|
||||
5. Serve the site locally: `pipenv run mkdocs serve`
|
||||
- The site will be available at `http://localhost:8000`
|
||||
- You can build the site locally with `mkdocs build --config-file mkdocs.production.yml`
|
||||
- You can build the site locally with `pipenv run mkdocs build`
|
||||
- This version of the site should be identical to the live, production version
|
||||
|
||||
## Releasing
|
||||
|
@ -2,8 +2,8 @@ project_id_env: CROWDIN_PROJECT_ID
|
||||
api_token_env: CROWDIN_PERSONAL_TOKEN
|
||||
"preserve_hierarchy": true
|
||||
files:
|
||||
- source: "/docs/**/*.en.md"
|
||||
translation: "/docs/**/%file_name%.%locale_with_underscore%.md"
|
||||
- source: "/docs/**/*.en.*"
|
||||
translation: "/docs/**/%file_name%.%locale_with_underscore%.%file_extension%"
|
||||
translation_replace:
|
||||
"en.": ""
|
||||
update_option: update_as_unapproved
|
||||
@ -11,4 +11,8 @@ files:
|
||||
translation: "/theme/overrides/%file_name%.%locale_with_underscore%.html"
|
||||
translation_replace:
|
||||
"en.": ""
|
||||
- source: "/includes/*.en.md"
|
||||
translation: "/includes/%file_name%.%locale_with_underscore%.md"
|
||||
translation_replace:
|
||||
"en.": ""
|
||||
update_option: update_as_unapproved
|
||||
|
@ -1,6 +1,5 @@
|
||||
---
|
||||
title: "About Privacy Guides"
|
||||
icon: pg/privacyguides
|
||||
---
|
||||
|
||||
**Privacy Guides** is a socially motivated website that provides information for protecting your data security and privacy. We are a non-profit collective operated entirely by volunteer team members and contributors.
|
||||
|
45
docs/about/donate.en.md
Normal file
@ -0,0 +1,45 @@
|
||||
---
|
||||
title: Supporting Us
|
||||
---
|
||||
<!-- markdownlint-disable MD036 -->
|
||||
It takes a lot of [people](https://github.com/privacyguides/privacyguides.org/graphs/contributors) and [work](https://github.com/privacyguides/privacyguides.org/pulse/monthly) to keep Privacy Guides up to date and spreading the word about privacy and mass surveillance. If you like what we do, the best way to help out is by getting involved by [editing the site](https://github.com/privacyguides/privacyguides.org) or [contributing translations](https://crowdin.com/project/privacyguides).
|
||||
|
||||
If you want to support us financially, the most convenient method for us is contributing via Open Collective, a website operated by our fiscal host. Open Collective accepts payments via credit/debit card, PayPal, and bank transfers.
|
||||
|
||||
[Donate on OpenCollective.com](https://opencollective.com/privacyguides/donate){ .md-button .md-button--primary }
|
||||
|
||||
Donations made directly to us Open Collective are generally tax-deductible in the US, because our fiscal host (the Open Collective Foundation) is a registered 501(c)3 organization. You will receive a receipt from the Open Collective Foundation after donating. Privacy Guides does not provide financial advice, and you should contact your tax advisor to find out whether this is applicable to you.
|
||||
|
||||
If you already make use of GitHub sponsorships, you can also sponsor our organization there.
|
||||
|
||||
[Sponsor us on GitHub](https://github.com/sponsors/privacyguides){ .md-button }
|
||||
|
||||
## Backers
|
||||
|
||||
A special thanks to all those who support our mission! :heart:
|
||||
|
||||
*Please note: This section loads a widget directly from Open Collective. This section does not reflect donations made outside of Open Collective, and we have no control over the specific donors featured in this section.*
|
||||
|
||||
<script src="https://opencollective.com/privacyguides/banner.js"></script>
|
||||
|
||||
## How We Use Donations
|
||||
|
||||
Privacy Guides is a **non-profit** organization. We use donations for a variety of purposes, including:
|
||||
|
||||
**Domain Registrations**
|
||||
|
||||
: We have a few domain names like `privacyguides.org` which cost us around $10 yearly to maintain their registration.
|
||||
|
||||
**Web Hosting**
|
||||
|
||||
: Traffic to this website uses hundreds of gigabytes of data per month, we use a variety of service providers to keep up with this traffic.
|
||||
|
||||
**Online Services**
|
||||
|
||||
: We host [internet services](https://privacyguides.net) for testing and showcasing different privacy-products we like and [recommend](../tools.md). Some of which are made publicly available for our community's use (SearXNG, Tor, etc.), and some are provided for our team members (email, etc.).
|
||||
|
||||
**Product Purchases**
|
||||
|
||||
: We occasionally purchase products and services for the purposes of testing our [recommended tools](../tools.md).
|
||||
|
||||
We are still working with our fiscal host (the Open Collective Foundation) to receive cryptocurrency donations, at the moment the accounting is unfeasible for many smaller transactions, but this should change in the future. In the meantime, if you wish to make a sizable (> $100) cryptocurrency donation, please reach out to [jonah@privacyguides.org](mailto:jonah@privacyguides.org).
|
@ -1,6 +1,5 @@
|
||||
---
|
||||
title: "Notices and Disclaimers"
|
||||
icon: material/message-alert
|
||||
hide:
|
||||
- toc
|
||||
---
|
||||
@ -21,13 +20,13 @@ Unless otherwise noted, all content on this website is made freely available und
|
||||
|
||||
This does not include third-party code embedded in this repository, or code where a superseding license is otherwise noted. The following are notable examples, but this list may not be all-inclusive:
|
||||
|
||||
* [MathJax](https://github.com/privacyguides/privacyguides.org/blob/main/docs/javascripts/mathjax.js) is licensed under the [Apache License 2.0](https://github.com/privacyguides/privacyguides.org/blob/main/docs/javascripts/LICENSE.mathjax.txt).
|
||||
* [MathJax](https://github.com/privacyguides/privacyguides.org/blob/main/docs/assets/javascripts/mathjax.js) is licensed under the [Apache License 2.0](https://github.com/privacyguides/privacyguides.org/blob/main/docs/assets/javascripts/LICENSE.mathjax.txt).
|
||||
|
||||
Portions of this notice itself were adopted from [opensource.guide](https://github.com/github/opensource.guide/blob/master/notices.md) on GitHub. That resource and this page itself are released under [CC-BY-4.0](https://github.com/github/opensource.guide/blob/master/LICENSE).
|
||||
|
||||
This means that you can use the human-readable content in this repository for your own project, per the terms outlined in the CC0 1.0 Universal text. You **may not** use the Privacy Guides branding in your own project without express approval from this project. Privacy Guides's brand trademarks include the "Privacy Guides" wordmark and shield logo.
|
||||
|
||||
We believe that the logos and other images in `assets` obtained from third-party providers are either in the public domain or **fair use**. In a nutshell, legal [fair use doctrine](https://en.wikipedia.org/wiki/Fair_use) allows the use of copyrighted images in order to identify the subject matter for purposes of public comment. However, these logos and other images may still be subject to trademark laws in one or more jurisdictions. Before using this content, please ensure that it is used to identify the entity or organization that owns the trademark and that you have the right to use it under the laws which apply in the circumstances of your intended use. *When copying content from this website, you are solely responsible for ensuring that you do not infringe someone else's trademark or copyright.*
|
||||
We believe that the logos and other images in `assets` obtained from third-party providers are either in the public domain or **fair use**. In a nutshell, legal [fair use doctrine](https://www.copyright.gov/fair-use/more-info.html) allows the use of copyrighted images in order to identify the subject matter for purposes of public comment. However, these logos and other images may still be subject to trademark laws in one or more jurisdictions. Before using this content, please ensure that it is used to identify the entity or organization that owns the trademark and that you have the right to use it under the laws which apply in the circumstances of your intended use. *When copying content from this website, you are solely responsible for ensuring that you do not infringe someone else's trademark or copyright.*
|
||||
|
||||
When you contribute to this repository you are doing so under the above licenses.
|
||||
|
||||
|
@ -1,42 +1,26 @@
|
||||
---
|
||||
title: "Privacy Policy"
|
||||
icon: material/file-search
|
||||
---
|
||||
|
||||
## Who is Privacy Guides?
|
||||
|
||||
Privacy Guides is a community project operated by a number of active volunteer contributors. The public list of team members [can be found on GitHub](https://github.com/orgs/privacyguides/people).
|
||||
|
||||
## How does Privacy Guides collect data about me?
|
||||
## Data We Collect From Visitors
|
||||
|
||||
We collect data:
|
||||
The privacy of our website visitors is important to us, so we do not track any individual people. As a visitor to our website:
|
||||
|
||||
* When you browse a website, forum, or other Privacy Guides service.
|
||||
* When you create an account on a Privacy Guides service.
|
||||
* When you post, send private messages, or otherwise participate on a Privacy Guides service.
|
||||
- No personal information is collected
|
||||
- No information such as cookies is stored in the browser
|
||||
- No information is shared with, sent to or sold to third-parties
|
||||
- No information is shared with advertising companies
|
||||
- No information is mined and harvested for personal and behavioral trends
|
||||
- No information is monetized
|
||||
|
||||
This data will be collected regardless of browser, device, or app used to access our services. We do not buy or otherwise receive data from data brokers.
|
||||
You can view the data we collect at [stats.privacyguides.net/privacyguides.org](https://stats.privacyguides.net/privacyguides.org).
|
||||
|
||||
## What data do you collect and why?
|
||||
We run a self-hosted installation of [Plausible Analytics](https://plausible.io) to collect some anonymous usage data for statistical purposes. The goal is to track overall trends in our website traffic, it is not to track individual visitors. All the data is in aggregate only. No personal data is collected.
|
||||
|
||||
### We collect data about visits to our websites
|
||||
Data collected includes referral sources, top pages, visit duration, information from the devices (device type, operating system, country and browser) used during the visit and more. You can learn more about how Plausible works and collects information in a privacy-respecting manner [here](https://plausible.io/data-policy).
|
||||
|
||||
When you visit a Privacy Guides website or service, regardless of whether you have an account or not, the website may use cookies, server logs, and other methods to collect the following data:
|
||||
|
||||
* What pages you visit,
|
||||
* Your anonymized IP address: We anonymize the last 3 bytes of your IP, e.g. 192.xxx.xxx.xxx.
|
||||
|
||||
We use this data to:
|
||||
|
||||
* Optimize websites and services, so that they are quick and easy to use,
|
||||
* Diagnose and debug technical errors,
|
||||
* Defend websites and services from abuse and technical attacks.
|
||||
|
||||
This data is processed under our [Legitimate Interest](https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/legitimate-interests/when-can-we-rely-on-legitimate-interests/) to provide our services to you in a an efficient and secure manner and to ensure the legal compliance and proper administration of our business.
|
||||
|
||||
Raw data such as pages visited, anonymized visitor IPs, and visitor actions will be retained for 60 days. In special circumstances—such as extended investigations regarding a technical attack—we may preserve logged data for longer periods for analysis. We store aggregate statistics about use of the websites and services we host indefinitely, but those statistics do not include data identifiable to you personally.
|
||||
|
||||
### We collect account data
|
||||
## Data We Collect From Account Holders
|
||||
|
||||
On some websites and services we provide, many features may require an account. For example, an account may be required to post and reply to topics on a forum platform.
|
||||
|
||||
@ -46,57 +30,30 @@ We use your account data to identify you on the website and to create pages spec
|
||||
|
||||
We use your email to:
|
||||
|
||||
* Notify you about posts and other activity on the websites or services.
|
||||
* Reset your password and help keep your account secure.
|
||||
* Contact you in special circumstances related to your account.
|
||||
* Contact you about legal requests, such as DMCA takedown requests.
|
||||
- Notify you about posts and other activity on the websites or services.
|
||||
- Reset your password and help keep your account secure.
|
||||
- Contact you in special circumstances related to your account.
|
||||
- Contact you about legal requests, such as DMCA takedown requests.
|
||||
|
||||
On some websites and services you may provide additional information for your account, such as a short biography, avatar, your location, or your birthday. We make that information available to everyone who can access the website or service in question. This information is not required to use any of our services and can be erased at any time.
|
||||
|
||||
We will store your account data as long as your account remains open. After closing an account, we may retain some or all of your account data in the form of backups or archives for up to 90 days.
|
||||
|
||||
## Who is my data shared with?
|
||||
## Contacting Us
|
||||
|
||||
When you use services provided by Privacy Guides your data is processed by our web hosting provider, Aragon Ventures LLC, in order to facilitate their hosting obligations. Aragon Ventures LLC may collect and use your data as described in their privacy statement at [https://aragon.ventures/privacy](https://aragon.ventures/privacy/).
|
||||
|
||||
Your account data, posts, and other activities on Privacy Guides services is shared with others as mentioned in the section about account data.
|
||||
|
||||
## Where is my data stored?
|
||||
|
||||
The primary datacenter for Privacy Guides is located in Finland. Some websites, services, or backups may reside in datacenters in multiple jurisdictions, including the United States and the European Union.
|
||||
|
||||
## Is Privacy Guides GDPR compliant?
|
||||
|
||||
We respect privacy rights under [Regulation (EU) 2016/679](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=uriserv:OJ.L_.2016.119.01.0001.01.ENG), the European Union’s General Data Protection Regulation (GDPR). Information that GDPR requires us to give can be found throughout this document.
|
||||
|
||||
## What are my data protection rights?
|
||||
|
||||
We would like to make sure you are fully aware of all of your data protection rights. Every user is entitled to the following:
|
||||
|
||||
* **The right to access** – You have the right to request access to your personal data or copies of your personal data from us. We may charge you a small fee for providing a copy of your data.
|
||||
* **The right to rectification** – You have the right to request that we correct any information you believe is inaccurate or incomplete.
|
||||
* **The right to erasure** – You have the right to request that we erase your personal data, under certain conditions.
|
||||
* **The right to restrict processing** – You have the right to request that we restrict the processing of your personal data, under certain conditions.
|
||||
* **The right to object to processing** – You have the right to object to our processing of your personal data, under certain conditions.
|
||||
* **The right to data portability** – You have the right to request that we transfer the data that we have collected to another organization or directly to you under certain conditions.
|
||||
|
||||
## How can I contact the Privacy Guides team about privacy?
|
||||
|
||||
The Privacy Guides team generally does not have access to personal data outside of limited access granted via some moderation panels. Inquiries regarding your personal information should be sent directly to the data controller for these services, Aragon Ventures LLC:
|
||||
The Privacy Guides team generally does not have access to personal data outside of limited access granted via some moderation panels. Inquiries regarding your personal information should be sent directly to:
|
||||
|
||||
```
|
||||
Jonah Aragon
|
||||
Services Administrator, Aragon Ventures LLC
|
||||
Services Administrator
|
||||
jonah@privacyguides.org
|
||||
```
|
||||
|
||||
For all other inquiries, you can contact any member of our team.
|
||||
|
||||
For complaints under GDPR more generally, European Union users may lodge complaints with their local data protection supervisory authorities.
|
||||
For complaints under GDPR more generally, you may lodge complaints with your local data protection supervisory authorities.
|
||||
|
||||
## How can I find out about changes to this document?
|
||||
|
||||
This version of our privacy statement took effect April 4th, 2022.
|
||||
## About This Policy
|
||||
|
||||
We will post any new versions of this statement [here](privacy-policy.en.md). We may change how we announce changes in future versions of this document. In the meantime we may update our contact information at any time without announcing a change. Please refer to the [Privacy Policy](privacy-policy.en.md) for the latest contact information at any time.
|
||||
|
||||
|
38
docs/advanced/erasing-data.md
Normal file
@ -0,0 +1,38 @@
|
||||
---
|
||||
title: "Secure Data Erasure"
|
||||
icon: 'material/harddisk-remove'
|
||||
---
|
||||
**Erasing data** from your computer may seem like a simple task, but if you want to make sure the data is truly unrecoverable, there are some things you should consider.
|
||||
|
||||
!!! tip
|
||||
You should use [full disk encryption](../encryption.md#os-full-disk-encryption) on your storage devices. If your device is stolen or needs to be returned under warranty your privacy may be at risk.
|
||||
|
||||
To erase a storage device **thoroughly**, you should securely erase the whole device and not individual files.
|
||||
|
||||
## Erasing Your Entire Drive
|
||||
|
||||
When you delete a file, the operating system marks the space where the deleted file was as "empty." That "empty" space can be fairly easily undeleted, yielding the original file.
|
||||
|
||||
### Magnetic storage
|
||||
|
||||
If the disk is a magnetic storage device, such as a spinning hard disk, we suggest using [`nwipe`](https://en.wikipedia.org/wiki/Nwipe). `nwipe` can be installed in most Linux distributions. If you wish to use a complete boot environment on a system, consider using [ShredOS Disk Eraser](https://github.com/PartialVolume/shredos.x86_64). ShredOS boots straight into `nwipe` and allows you to erase available disks. To install it to a flash USB stick see the [installation methods](https://github.com/PartialVolume/shredos.x86_64/blob/master/README.md#obtaining-and-writing-shredos-to-a-usb-flash-drive-the-easy-way-).
|
||||
|
||||
Once you have your boot media, enter your system's UEFI settings and boot from the USB stick. Commonly used keys to access UEFI are ++f2++, ++f12++, or ++del++. Follow the on-screen prompts to wipe your data.
|
||||
|
||||

|
||||
|
||||
### Flash Storage
|
||||
|
||||
For [flash memory](https://en.wikipedia.org/wiki/Flash_memory) (SSD, NVMe, etc) devices we suggest the ATA Secure Erase command. Methods such as `nwipe` should not be used on flash storage devices as it may damage their performance. The "Secure Erase" feature is often accessible through the UEFI setup menu.
|
||||
|
||||
It is also possible to complete a Secure Erase using the [`hdparm`](https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase) command, or [Microsoft Secure Group Commands](https://docs.microsoft.com/en-us/windows-hardware/drivers/storage/security-group-commands).
|
||||
|
||||
Physical destruction may be necessary to securely erase devices such as memory cards, USB sticks and unusable hard disks.
|
||||
|
||||
## Erasing Specific Files
|
||||
|
||||
Securely shredding **individual files** is difficult if not impossible. Copies can exist in a variety of ways such as through manual, or automatic backups, [wear leveling](https://en.wikipedia.org/wiki/Wear_leveling) (on modern [flash storage](https://en.wikipedia.org/wiki/Solid-state_drive)), caching and filesystem [journaling](https://en.wikipedia.org/wiki/Journaling_file_system).
|
||||
|
||||
Wear leveled devices do not guarantee a fixed relationship between [logical blocks addressed](https://en.wikipedia.org/wiki/Logical_block_addressing) through the interface. This means that the physical locations in which the data is stored may be different to where it is actually located, so shredding may not provide adequate security.
|
||||
|
||||
--8<-- "includes/abbreviations.en.md"
|
@ -3,16 +3,15 @@ title: "Integrating Metadata Removal"
|
||||
icon: 'material/data-matrix-remove'
|
||||
---
|
||||
|
||||
When sharing files, it's important to remove associated metadata. Image files commonly include [EXIF](https://en.wikipedia.org/wiki/Exif) data, and sometimes photos even include GPS coordinates within its metadata.
|
||||
When sharing files, it's important to remove associated metadata. Image files commonly include [Exif](https://en.wikipedia.org/wiki/Exif) data, and sometimes photos even include GPS coordinates within its metadata.
|
||||
|
||||
While there are plenty of metadata removal tools, they typically aren't convenient to use. The guides featured here aim to detail how to integrate metadata removal tools in a simple fashion by utilizing easy-to-access system features.
|
||||
|
||||
!!! tip "Related"
|
||||
For a list of the metadata removal tools that we recommend, visit our [metadata removal tools](../metadata-removal-tools.md) page.
|
||||
- [Recommended metadata removal tools :hero-arrow-circle-right-fill:](../metadata-removal-tools.md)
|
||||
|
||||
## macOS
|
||||
|
||||
This guide uses the [Shortcuts](https://support.apple.com/guide/shortcuts-mac/intro-to-shortcuts-apdf22b0444c/mac) app to add an ExifTool script to the *Quick Actions* context menu within Finder. Shortcuts is developed by Apple and bundled in with macOS by default.
|
||||
This guide uses the [Shortcuts](https://support.apple.com/guide/shortcuts-mac/intro-to-shortcuts-apdf22b0444c/mac) app to add an [ExifTool](../metadata-removal-tools.md#exiftool) script to the *Quick Actions* context menu within Finder. Shortcuts is developed by Apple and bundled in with macOS by default.
|
||||
|
||||
Shortcuts is quite intuitive to work with, so if you don't like the behavior demoed here then experiment with your own solution. For example, you could set the shortcut to take a clipboard input instead. The sky's the limit.
|
||||
|
||||
@ -26,7 +25,7 @@ Shortcuts is quite intuitive to work with, so if you don't like the behavior dem
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
```
|
||||
|
||||
2. [ExifTool](../metadata-removal-tools.md#exiftool): a tool for viewing and manipulating image, audio, video, and PDF metadata.
|
||||
2. ExifTool is a tool for viewing and manipulating image, audio, video, and PDF metadata.
|
||||
|
||||
```bash
|
||||
brew install exiftool
|
||||
@ -41,14 +40,14 @@ Shortcuts is quite intuitive to work with, so if you don't like the behavior dem
|
||||
|
||||
2. In the shortcut's options, check **Use as Quick Action** and **Finder**
|
||||
|
||||
3. Setup the retrieval options:
|
||||
3. Set up the retrieval options:
|
||||
|
||||
- Receive **Images, Media, and PDFs** input from **Quick Actions**
|
||||
- If there is no input select **Continue**
|
||||
|
||||
4. Add the **Run Shell Script** action to the shortcut. You may need to enable **Allow Running Scripts** in Shortcut.app's settings
|
||||
|
||||
5. Setup the shell script action:
|
||||
5. Set up the shell script action:
|
||||
- Select **zsh** from the shell list
|
||||
- Set the input to **Shortcut Input**
|
||||
- Select **as arguments** for the pass input
|
||||
@ -66,7 +65,7 @@ Shortcuts is quite intuitive to work with, so if you don't like the behavior dem
|
||||

|
||||
|
||||
!!! tip "Worth Mentioning"
|
||||
The open source [ImageOptim](https://imageoptim.com/mac) app integrates into Finder's *Services* context menu by default. While it is primarily an image optimization app, it also removes metadata.
|
||||
The open-source [ImageOptim](https://imageoptim.com/mac) app integrates into Finder's *Services* context menu by default. While it is primarily an image optimization app, it also removes metadata.
|
||||
|
||||
### Enabling & using the Shortcut
|
||||
|
||||
@ -121,13 +120,13 @@ The lack of *good* metadata removal apps on the App Store is what makes this sol
|
||||
|
||||
## Windows
|
||||
|
||||
Windows allows users to place files in a **SendTo** folder which then appear in the *Send to* context menu. This guide will show you how to add an ExifTool batch script to this menu.
|
||||
Windows allows you to place files in a **SendTo** folder which then appear in the *Send to* context menu. This guide will show you how to add an [ExifTool](../metadata-removal-tools.md#exiftool) batch script to this menu.
|
||||
|
||||

|
||||
|
||||
### Prerequisites
|
||||
|
||||
1. [ExifTool](../metadata-removal-tools.md#exiftool): a tool for viewing and manipulating image, audio, video, and PDF metadata. We suggest you read the [Installation instructions](https://exiftool.org/install.html#Windows) on the official website.
|
||||
1. ExifTool is a tool for viewing and manipulating image, audio, video, and PDF metadata. We suggest you read the [Installation instructions](https://exiftool.org/install.html#Windows) on the official website.
|
||||
|
||||
!!! note
|
||||
You can check if ExifTool is present in your [PATH](https://www.computerhope.com/issues/ch000549.htm) by running `exiftool -ver` in Command Prompt. You should see a version number.
|
||||
@ -160,4 +159,6 @@ Windows allows users to place files in a **SendTo** folder which then appear in
|
||||
|
||||
### Using the shortcut
|
||||
|
||||
1. Right click a supported file and choose **ExifTool.bat** within the *Send to* context menu
|
||||
1. Right click a supported file and choose **ExifTool.bat** within the *Send to* context menu.
|
||||
|
||||
--8<-- "includes/abbreviations.en.md"
|
@ -2,12 +2,20 @@
|
||||
title: "Android"
|
||||
icon: 'fontawesome/brands/android'
|
||||
---
|
||||
Android is a secure operating system that has strong [app sandboxing](https://source.android.com/security/app-sandbox), [Verified Boot](https://source.android.com/security/verifiedboot), and a robust [permission](https://developer.android.com/guide/topics/permissions/overview) control system.
|
||||
|
||||
The main privacy concern with most Android devices is that they usually include [Google Play Services](https://developers.google.com/android/guides/overview). This component is proprietary, [closed source](https://en.wikipedia.org/wiki/Proprietary_software), has a privileged role on your phone, and may collect private user information. It is neither a part of the [Android Open Source Project](https://source.android.com/) (AOSP) nor is it included with the below derivatives.
|
||||
These are the Android operating systems, devices, and apps we recommend to maximize your mobile device's security and privacy. We also have additional Android-related information:
|
||||
|
||||
- [General Android Overview and Recommendations :hero-arrow-circle-right-fill:](android/overview.md)
|
||||
- [GrapheneOS vs CalyxOS Comparison :hero-arrow-circle-right-fill:](android/grapheneos-vs-calyxos.md)
|
||||
|
||||
## AOSP Derivatives
|
||||
|
||||
We recommend installing one of these custom Android operating systems on your device, listed in order of preference, depending on your device's compatibility with these operating systems.
|
||||
|
||||
!!! note
|
||||
|
||||
End-of-life devices (such as GrapheneOS or CalyxOS's "extended support" devices) do not have full security patches (firmware updates) due to the OEM discontinuing support. These devices cannot be considered completely secure regardless of installed software.
|
||||
|
||||
### GrapheneOS
|
||||
|
||||
!!! recommendation
|
||||
@ -17,37 +25,17 @@ The main privacy concern with most Android devices is that they usually include
|
||||
|
||||
**GrapheneOS** is the best choice when it comes to privacy and security.
|
||||
|
||||
GrapheneOS provides additional [security hardening](https://en.wikipedia.org/wiki/Hardening_(computing)) and privacy improvements. It has a [hardened memory allocator](https://github.com/GrapheneOS/hardened_malloc), network and sensor permissions, and various other [security features](https://grapheneos.org/features). GrapheneOS also comes with full firmware updates and signed builds, so [verified boot](https://source.android.com/security/verifiedboot) is fully supported.
|
||||
GrapheneOS provides additional [security hardening](https://en.wikipedia.org/wiki/Hardening_(computing)) and privacy improvements. It has a [hardened memory allocator](https://github.com/GrapheneOS/hardened_malloc), network and sensor permissions, and various other [security features](https://grapheneos.org/features). GrapheneOS also comes with full firmware updates and signed builds, so verified boot is fully supported.
|
||||
|
||||
[Visit grapheneos.org](https://grapheneos.org/){ .md-button .md-button--primary } [Privacy Policy](https://grapheneos.org/faq#privacy-policy){ .md-button }
|
||||
[:octicons-home-16: Homepage](https://grapheneos.org/){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://grapheneos.org/faq#privacy-policy){ .card-link title="Privacy Policy" }
|
||||
[:octicons-info-16:](https://grapheneos.org/faq){ .card-link title=Documentation}
|
||||
[:octicons-code-16:](https://grapheneos.org/source){ .card-link title="Source Code" }
|
||||
[:octicons-heart-16:](https://grapheneos.org/donate){ .card-link title=Contribute }
|
||||
|
||||
Notably, GrapheneOS supports [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play). Google Play Services can be run fully sandboxed like a regular user app and contained in a work profile or user [profile](#android-security-privacy) of your choice. This means that you can run apps dependant on Play Services, such as those that require push notifications using Google's [Firebase Cloud Messaging](https://firebase.google.com/docs/cloud-messaging/) service. GrapheneOS allows you to take advantage of most [Google Play Services](https://en.wikipedia.org/wiki/Google_Play_Services) whilst having full user control over their permissions and access.
|
||||
GrapheneOS supports [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play), which runs [Google Play Services](https://en.wikipedia.org/wiki/Google_Play_Services) fully sandboxed like any other regular app. This means you can take advantage of most Google Play Services, such as [push notifications](https://firebase.google.com/docs/cloud-messaging/), while giving you full control over their permissions and access, and while containing them to a specific work profile or user [profile](android/overview.md#user-profiles) of your choice.
|
||||
|
||||
Currently, only [Pixel phones](https://grapheneos.org/faq#device-support) meet its hardware security requirement and are supported.
|
||||
|
||||
!!! attention
|
||||
|
||||
GrapheneOS's "extended support" devices do not have full security patches (firmware updates) due to the original equipment manufacturer (OEM) discontinuing support. These devices cannot be considered completely secure.
|
||||
|
||||
### CalyxOS
|
||||
|
||||
!!! recommendation
|
||||
|
||||
{ align=right }
|
||||
|
||||
**CalyxOS** is a decent alternative to GrapheneOS.
|
||||
|
||||
It has some privacy features on top of AOSP, including [Datura firewall](https://calyxos.org/docs/tech/datura-details), [Signal](https://signal.org) integration in the dialer app, and a built in panic button. CalyxOS also comes with firmware updates and signed builds, so [verified boot](https://source.android.com/security/verifiedboot) is fully supported.
|
||||
|
||||
[Visit calyxos.org](https://calyxos.org/){ .md-button .md-button--primary } [Privacy Policy](https://calyxinstitute.org/legal/privacy-policy){ .md-button }
|
||||
|
||||
To accomodate users who need Google Play Services, CalyxOS optionally includes [MicroG](https://microg.org/). With MicroG, CalyxOS also bundles in the [Mozilla](https://location.services.mozilla.com/) and [DejaVu](https://github.com/n76/DejaVu) location services.
|
||||
|
||||
Currently, CalyxOS only supports [Pixel phones](https://calyxos.org/docs/guide/device-support/).
|
||||
|
||||
!!! attention
|
||||
|
||||
CalyxOS's "extended support" does not have full security patches due to the original equipment manufacturer (OEM) discontinuing support; therefore, they cannot be considered completely secure.
|
||||
Google Pixel phones are the only devices that currently meet GrapheneOS's [hardware security requirements](https://grapheneos.org/faq#device-support).
|
||||
|
||||
### DivestOS
|
||||
|
||||
@ -55,58 +43,114 @@ Currently, CalyxOS only supports [Pixel phones](https://calyxos.org/docs/guide/d
|
||||
|
||||
{ align=right }
|
||||
|
||||
**DivestOS** is a [soft-fork](https://en.wikipedia.org/wiki/Fork_(software_development)#Forking_of_free_and_open-source_software) of [LineageOS](https://lineageos.org/).
|
||||
**DivestOS** is a soft-fork of [LineageOS](https://lineageos.org/).
|
||||
DivestOS inherits many [supported devices](https://divestos.org/index.php?page=devices&base=LineageOS) from LineageOS. It has signed builds, making it possible to have [verified boot](https://source.android.com/security/verifiedboot) on some non-Pixel devices.
|
||||
|
||||
[Visit divestos.org](https://divestos.org){ .md-button .md-button--primary } [Privacy Policy](https://divestos.org/index.php?page=privacy_policy){ .md-button }
|
||||
[:octicons-home-16: Homepage](https://divestos.org){ .md-button .md-button--primary }
|
||||
[:pg-tor:](http://divestoseb5nncsydt7zzf5hrfg44md4bxqjs5ifcv4t7gt7u6ohjyyd.onion){ .card-link title=Onion }
|
||||
[:octicons-eye-16:](https://divestos.org/index.php?page=privacy_policy){ .card-link title="Privacy Policy" }
|
||||
[:octicons-info-16:](https://divestos.org/index.php?page=faq){ .card-link title=Documentation}
|
||||
[:octicons-code-16:](https://github.com/divested-mobile){ .card-link title="Source Code" }
|
||||
[:octicons-heart-16:](https://divested.dev/index.php?page=donate){ .card-link title=Contribute }
|
||||
|
||||
DivestOS has automated kernel vulnerability ([CVE](https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures)) [patching](https://gitlab.com/divested-mobile/cve_checker), fewer proprietary blobs, a custom [hosts](https://divested.dev/index.php?page=dnsbl) file, and [F-Droid](https://www.f-droid.org) as the app store. It includes [UnifiedNlp](https://github.com/microg/UnifiedNlp) for network location. Its hardened WebView, [Mulch](https://gitlab.com/divested-mobile/mulch), enables [CFI](https://en.wikipedia.org/wiki/Control-flow_integrity) for all architectures and includes [network state partitioning](https://developer.mozilla.org/en-US/docs/Web/Privacy/State_Partitioning).
|
||||
DivestOS has automated kernel vulnerability ([CVE](https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures)) [patching](https://gitlab.com/divested-mobile/cve_checker), fewer proprietary blobs, a custom [hosts](https://divested.dev/index.php?page=dnsbl) file, and [F-Droid](https://www.f-droid.org) as the app store. Its hardened WebView, [Mulch](https://gitlab.com/divested-mobile/mulch), enables [CFI](https://en.wikipedia.org/wiki/Control-flow_integrity) for all architectures and [network state partitioning](https://developer.mozilla.org/en-US/docs/Web/Privacy/State_Partitioning), and receives out-of-band updates.
|
||||
|
||||
DivestOS also includes kernel patches from GrapheneOS and enables all available kernel security features via [defconfig hardening](https://github.com/Divested-Mobile/DivestOS-Build/blob/master/Scripts/Common/Functions.sh#L758). All kernels newer than version 3.4 include full page [sanitization](https://lwn.net/Articles/334747/) and all ~22 Clang-compiled kernels have [`-ftrivial-auto-var-init=zero`](https://reviews.llvm.org/D54604?id=174471) enabled.
|
||||
|
||||
DivestOS 16.0, 17.1, and 18.1 implements GrapheneOS's [`INTERNET`](https://developer.android.com/training/basics/network-ops/connecting) permission toggle, [hardened memory allocator](https://github.com/GrapheneOS/hardened_malloc), [exec-spawning](#additional-hardening), [JNI](https://en.wikipedia.org/wiki/Java_Native_Interface) [constification](https://en.wikipedia.org/wiki/Const_(computer_programming)), and partial [bionic](https://en.wikipedia.org/wiki/Bionic_(software)) hardening patchsets. 17.1 and 18.1 feature GrapheneOS's per-network full [MAC randomization](https://en.wikipedia.org/wiki/MAC_address#Randomization) option, and [`ptrace_scope`](https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html) control, and automatic reboot/Wi-Fi/Bluetooth [timeout options](https://grapheneos.org/features). All branches additionally have various miscellaneous patches courtesy of GrapheneOS.
|
||||
DivestOS implements some system hardening patches originally developed for GrapheneOS. DivestOS 16.0 and higher implements GrapheneOS's [`INTERNET`](https://developer.android.com/training/basics/network-ops/connecting) and SENSORS permission toggle, [hardened memory allocator](https://github.com/GrapheneOS/hardened_malloc), [exec-spawning](android/grapheneos-vs-calyxos.md#additional-hardening), [JNI](https://en.wikipedia.org/wiki/Java_Native_Interface) [constification](https://en.wikipedia.org/wiki/Const_(computer_programming)), and partial [bionic](https://en.wikipedia.org/wiki/Bionic_(software)) hardening patchsets. 17.1 and higher features GrapheneOS's per-network full [MAC randomization](https://en.wikipedia.org/wiki/MAC_address#Randomization) option, [`ptrace_scope`](https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html) control, and automatic reboot/Wi-Fi/Bluetooth [timeout options](https://grapheneos.org/features).
|
||||
|
||||
!!! attention
|
||||
!!! warning
|
||||
|
||||
DivestOS firmware update [status](https://gitlab.com/divested-mobile/firmware-empty/-/blob/master/STATUS) varies across the devices it supports. For Pixel phones, we still recommend using GrapheneOS or CalyxOS. For other supported devices, DivestOS is a good alternative.
|
||||
DivestOS firmware update [status](https://gitlab.com/divested-mobile/firmware-empty/-/blob/master/STATUS) and quality control varies across the devices it supports. We still recommend GrapheneOS depending on your device's compatibility. For other devices, DivestOS is a good alternative.
|
||||
|
||||
Not all of the supported devices have [verified boot](https://source.android.com/security/verifiedboot), and some perform it better than others.
|
||||
Not all of the supported devices have verified boot, and some perform it better than others.
|
||||
|
||||
## Android security and privacy features
|
||||
### CalyxOS
|
||||
|
||||
### User Profiles
|
||||
!!! recommendation
|
||||
|
||||
Multiple user profiles (Settings → System → Multiple users) are the simplest way to isolate in Android. With user profiles you can limit a user from making calls, SMS or installing apps on the device. Each profile is encrypted using its own encryption key and cannot access the data of any other profiles. Even the device owner cannot view the data of other profiles without knowing their password. Multiple user profiles is a more secure method of isolation.
|
||||
{ align=right }
|
||||
|
||||
### Work Profile
|
||||
**CalyxOS** is a system with some privacy features on top of AOSP, including [Datura](https://calyxos.org/docs/tech/datura-details) firewall, [Signal](https://signal.org) integration in the dialer app, and a built in panic button. CalyxOS also comes with firmware updates and signed builds, so verified boot is fully supported.
|
||||
|
||||
[Work Profiles](https://support.google.com/work/android/answer/6191949) are another way to isolate individual apps and may be more convenient than separate user profiles.
|
||||
We only recommend CalyxOS as a harm reduction measure for the OnePlus 8T, OnePlus 9, and especially the Fairphone 4 if you need microG.
|
||||
|
||||
A **device controller** such as [Shelter](#recommended-apps) is required, unless you're using CalyxOS which includes one.
|
||||
[:octicons-home-16: Homepage](https://calyxos.org/){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://calyxinstitute.org/legal/privacy-policy){ .card-link title="Privacy Policy" }
|
||||
[:octicons-info-16:](https://calyxos.org/docs/){ .card-link title=Documentation}
|
||||
[:octicons-code-16:](https://github.com/CalyxOS){ .card-link title="Source Code" }
|
||||
[:octicons-heart-16:](https://members.calyxinstitute.org/donate){ .card-link title=Contribute }
|
||||
|
||||
The work profile is dependent on a device controller to function. Features such as *File Shuttle* and *contact search blocking* or any kind of isolation features must be implemented by the controller. The user must also fully trust the device controller app, as it has full access to the data inside of the work profile.
|
||||
CalyxOS optionally includes [microG](https://microg.org/), a partially open-source reimplementation of Play Services which provides broader app compatibility. It also bundles in alternate location services: [Mozilla](https://location.services.mozilla.com/) and [DejaVu](https://github.com/n76/DejaVu).
|
||||
|
||||
This method is generally less secure than a secondary user profile; however, it does allow you the convenience of running apps in both the work and personal profiles simultaneously.
|
||||
CalyxOS [supports](https://calyxos.org/docs/guide/device-support/) Google Pixel phones, the OnePlus 8T/9/9 Pro and the Fairphone 4.
|
||||
|
||||
### Verified Boot
|
||||
## Android Devices
|
||||
|
||||
[Verified Boot](https://source.android.com/security/verifiedboot) is an important part of the Android security model. It provides protection against [evil maid](https://en.wikipedia.org/wiki/Evil_maid_attack) attacks, malware persistence, and ensures security updates cannot be downgraded with [rollback protection](https://source.android.com/security/verifiedboot/verified-boot#rollback-protection).
|
||||
When purchasing a device, we recommend getting one as new as possible. The software and firmware of mobile devices are only supported for a limited time, so buying new extends that lifespan as much as possible.
|
||||
|
||||
Android 10 and above has moved away from full-disk encryption (FDE) to more flexible [file-based encryption](https://source.android.com/security/encryption/file-based).
|
||||
Avoid buying phones from mobile network operators. These often have a **locked bootloader** and do not support [OEM unlocking](https://source.android.com/devices/bootloader/locking_unlocking). These phone variants will prevent you from installing any kind of alternative Android distribution.
|
||||
|
||||
Each user's data is encrypted using their own unique encryption key, and the operating system files are left unencrypted. Verified Boot ensures the integrity of the operating system files preventing an adversary with physical access from tampering or installing malware on the device. In the unlikely case that malware is able to exploit other parts of the system and gain higher privileged access, Verified Boot will prevent and revert changes to the system partition upon reboot of the device.
|
||||
Be very **careful** about buying second hand phones from online marketplaces. Always check the reputation of the seller. If the device is stolen, there's a possibility of [IMEI blacklisting](https://www.gsma.com/security/resources/imei-blacklisting/). There is also a risk involved with you being associated with the activity of the previous owner.
|
||||
|
||||
Unfortunately, original equipment manufacturers (OEMs) are only obliged to support Verified Boot on their stock Android distribution. Only a few OEMs such as Google support custom Android Verified Boot (AVB) key enrollment on their devices. Some AOSP derivatives such as LineageOS or /e/ OS do not support Verified Boot even on hardware with Verified Boot support for third party operating systems. We recommend that you check for support **before** purchasing a new device. AOSP derivatives which do not support Verified Boot are **not** recommended.
|
||||
A few more tips regarding Android devices and operating system compatibility:
|
||||
|
||||
### VPN Killswitch
|
||||
- Do not buy devices that have reached or are near their end-of-life, additional firmware updates must be provided by the manufacturer.
|
||||
- Do not buy preloaded LineageOS or /e/ OS phones or any Android phones without proper [Verified Boot](https://source.android.com/security/verifiedboot) support and firmware updates. These devices also have no way for you to check whether they've been tampered with.
|
||||
- In short, if a device or Android distribution is not listed here, there is probably a good reason, so check our [discussions](https://github.com/privacyguides/privacyguides.org/discussions) page.
|
||||
|
||||
Android 7 and above supports a VPN killswitch and it is available without the need to install third party apps. This feature can prevent leaks if the VPN is disconnected. It can be found in ⚙️ Settings → Network & internet → VPN → ⚙️ → Block connections without VPN.
|
||||
### Google Pixel
|
||||
|
||||
### Global Toggles
|
||||
Google Pixel phones are the **only** devices we recommend for purchase. Pixel phones have stronger hardware security than any other Android devices currently on the market, due to proper AVB support for third-party operating systems and Google's custom [Titan](https://security.googleblog.com/2021/10/pixel-6-setting-new-standard-for-mobile.html) security chips acting as the Secure Element.
|
||||
|
||||
Modern Android devices have global toggles for disabling [Bluetooth](https://en.wikipedia.org/wiki/Bluetooth) and location services. Android 12 introduced toggles for the camera and microphone. When not in use, we recommend disabling these features. Apps cannot use disabled features (even if granted individual permission) until re-enabled.
|
||||
!!! recommendation
|
||||
|
||||
## Recommended Apps
|
||||
{ align=right }
|
||||
|
||||
**Google Pixel** devices are known to have good security and properly support [Verified Boot](https://source.android.com/security/verifiedboot), even when installing custom operating systems.
|
||||
|
||||
Beginning with the **Pixel 6** and **6 Pro**, Pixel devices receive a minimum of 5 years of guaranteed security updates, ensuring a much longer lifespan compared to the 2-4 years competing OEMs typically offer.
|
||||
|
||||
[:material-shopping: Store](https://store.google.com/category/phones){ .md-button .md-button--primary }
|
||||
|
||||
Secure Elements like the Titan M2 are more limited than the processor's Trusted Execution Environment used by most other phones as they are only used for secrets storage, hardware attestation, and rate limiting, not for running "trusted" programs. Phones without a Secure Element have to use the TEE for *all* of those functions, resulting in a larger attack surface.
|
||||
|
||||
Google Pixel phones use a TEE OS called Trusty which is [open-source](https://source.android.com/security/trusty#whyTrusty), unlike many other phones.
|
||||
|
||||
The installation of GrapheneOS on a Pixel phone is easy with their [web installer](https://grapheneos.org/install/web). If you don't feel comfortable doing it yourself and are willing to spend a bit of extra money, check out the [NitroPhone](https://shop.nitrokey.com/shop) as they come preloaded with GrapheneOS from the reputable [Nitrokey](https://www.nitrokey.com/about) company.
|
||||
|
||||
A few more tips for purchasing a Google Pixel:
|
||||
|
||||
- If you're after a bargain on a Pixel device, we suggest buying an "**a**" model, just after the next flagship is released. Discounts are usually available because Google will be trying to clear their stock.
|
||||
- Consider price beating options and specials offered at brick and mortar stores.
|
||||
- Look at online community bargain sites in your country. These can alert you to good sales.
|
||||
- Google provides a list showing the [support cycle](https://support.google.com/nexus/answer/4457705) for each one of their devices. The price per day for a device can be calculated as: $\text{Cost} \over \text {EOL Date }-\text{ Current Date}$, meaning that the longer use of the device the lower cost per day.
|
||||
|
||||
### Other Devices
|
||||
|
||||
The following OEMs are only mentioned as they have phones compatible with the operating systems recommended by us. If you are purchasing a new device, we only recommend purchasing a Google Pixel.
|
||||
|
||||
#### OnePlus
|
||||
|
||||
If you are unable to obtain a Google Pixel, recent OnePlus devices are the next best option if you want to run a custom OS without privileged Play Services. OnePlus 8 and later devices will receive 4 years of security updates from their initial launch date. CalyxOS has [experimental support](https://calyxos.org/news/2022/04/01/fairphone4-oneplus8t-oneplus9-test-builds/) for the **OnePlus 8T** and **9**.
|
||||
|
||||
DivestOS has support for most OnePlus devices up to the **OnePlus 9 Pro**, with varying levels of support.
|
||||
|
||||
#### Fairphone
|
||||
|
||||
!!! danger
|
||||
|
||||
The Fairphone 3 and 4 are not secure by default, as the [stock bootloader trusts the public AVB signing key](https://forum.fairphone.com/t/bootloader-avb-keys-used-in-roms-for-fairphone-3-4/83448/11). This breaks verified boot on a stock Fairphone device, as the system will boot alternative Android operating systems such (such as /e/) [without any warning](https://source.android.com/security/verifiedboot/boot-flow#locked-devices-with-custom-root-of-trust) about custom operating system usage.
|
||||
|
||||
This problem is somewhat mitigated when you install a custom operating system such as CalyxOS or DivestOS and trust the developer's signing keys rather than the stock system keys, however a vulnerability in CalyxOS or DivestOS's recovery environments could still potentially allow an attacker to bypass AVB.
|
||||
|
||||
**To reiterate, you must install a custom operating system with custom boot keys to use Fairphone devices in a secure manner.**
|
||||
|
||||
CalyxOS has [experimental support](https://calyxos.org/news/2022/04/01/fairphone4-oneplus8t-oneplus9-test-builds/) for the **Fairphone 4**. DivestOS has builds available for the **Fairphone 3**.
|
||||
|
||||
Fairphone markets their devices as receiving 6 years of support. However, the SoC (Qualcomm Snapdragon 750G on the Fairphone 4) has a considerably shorter EOL date. This means that firmware security updates from Qualcomm for the Fairphone 4 will end in September 2023, regardless of whether Fairphone continues to release software security updates.
|
||||
|
||||
## General Apps
|
||||
|
||||
### Orbot
|
||||
|
||||
@ -116,19 +160,22 @@ Modern Android devices have global toggles for disabling [Bluetooth](https://en.
|
||||
|
||||
**Orbot** is a free proxy app that routes your connections through the Tor Network.
|
||||
|
||||
[Visit orbot.app](https://orbot.app/){ .md-button .md-button--primary }
|
||||
[:octicons-home-16: Homepage](https://orbot.app/){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://orbot.app/privacy-policy){ .card-link title="Privacy Policy" }
|
||||
[:octicons-info-16:](https://orbot.app/faqs){ .card-link title=Documentation}
|
||||
[:octicons-code-16:](https://github.com/guardianproject/orbot){ .card-link title="Source Code" }
|
||||
[:octicons-heart-16:](https://orbot.app/donate){ .card-link title=Contribute }
|
||||
|
||||
**Downloads**
|
||||
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=org.torproject.android)
|
||||
- [:pg-f-droid: F-Droid](https://guardianproject.info/fdroid)
|
||||
- [:fontawesome-brands-github: GitHub](https://github.com/guardianproject/orbot)
|
||||
- [:fontawesome-brands-gitlab: GitLab](https://gitlab.com/guardianproject/orbot)
|
||||
??? downloads
|
||||
|
||||
Orbot can proxy individual apps if they support SOCKS or HTTP proxying. It can also proxy all your network connections using [VpnService](https://developer.android.com/reference/android/net/VpnService) and can be used with the VPN killswitch (⚙️ Settings → Network & internet → VPN → ⚙️ → Block connections without VPN).
|
||||
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=org.torproject.android)
|
||||
- [:pg-f-droid: F-Droid](https://guardianproject.info/fdroid)
|
||||
|
||||
For resistance against traffic analysis attacks, consider enabling *Isolate Destination Address* ( ⁝ →Settings → Connectivity). This will use a completely different Tor Circuit (different middle relay and exit nodes) for every domain you connect to.
|
||||
Orbot can proxy individual apps if they support SOCKS or HTTP proxying. It can also proxy all your network connections using [VpnService](https://developer.android.com/reference/android/net/VpnService) and can be used with the VPN killswitch in :gear: **Settings** → **Network & internet** → **VPN** → :gear: → **Block connections without VPN**.
|
||||
|
||||
!!! attention
|
||||
For resistance against traffic analysis attacks, consider enabling *Isolate Destination Address* in :material-menu: → **Settings** → **Connectivity**. This will use a completely different Tor Circuit (different middle relay and exit nodes) for every domain you connect to.
|
||||
|
||||
!!! tip
|
||||
|
||||
Orbot is often outdated on the Guardian Project's [F-Droid repository](https://guardianproject.info/fdroid) and [Google Play](https://play.google.com/store/apps/details?id=org.torproject.android) so consider downloading directly from the [GitHub repository](https://github.com/guardianproject/orbot) instead.
|
||||
|
||||
@ -144,17 +191,18 @@ For resistance against traffic analysis attacks, consider enabling *Isolate Dest
|
||||
|
||||
Shelter supports blocking contact search cross profiles and sharing files across profiles via the default file manager ([DocumentsUI](https://source.android.com/devices/architecture/modular-system/documentsui)).
|
||||
|
||||
[Visit gitea.angry.im](https://gitea.angry.im/PeterCxy/Shelter){ .md-button .md-button--primary }
|
||||
[:octicons-repo-16: Repository](https://gitea.angry.im/PeterCxy/Shelter#shelter){ .md-button .md-button--primary }
|
||||
[:octicons-code-16:](https://gitea.angry.im/PeterCxy/Shelter){ .card-link title="Source Code" }
|
||||
[:octicons-heart-16:](https://www.patreon.com/PeterCxy){ .card-link title=Contribute }
|
||||
|
||||
**Downloads:**
|
||||
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=net.typeblog.shelter)
|
||||
- [:pg-f-droid: F-Droid](https://f-droid.org/en/packages/net.typeblog.shelter)
|
||||
- [:fontawesome-brands-github: GitHub](https://github.com/PeterCxy/Shelter)
|
||||
- [:fontawesome-brands-git-alt: Source](https://gitea.angry.im/PeterCxy/Shelter)
|
||||
??? downloads
|
||||
|
||||
!!! attention
|
||||
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=net.typeblog.shelter)
|
||||
- [:pg-f-droid: F-Droid](https://f-droid.org/en/packages/net.typeblog.shelter)
|
||||
|
||||
As CalyxOS includes a device controller, we recommend using their built in work profile instead.
|
||||
!!! warning
|
||||
|
||||
As CalyxOS includes a device controller, we recommend using their built-in work profile instead.
|
||||
|
||||
Shelter is recommended over [Insular](https://secure-system.gitlab.io/Insular/) and [Island](https://github.com/oasisfeng/island) as it supports [contact search blocking](https://secure-system.gitlab.io/Insular/faq.html).
|
||||
|
||||
@ -167,13 +215,18 @@ For resistance against traffic analysis attacks, consider enabling *Isolate Dest
|
||||
{ align=right }
|
||||
{ align=right }
|
||||
|
||||
**Auditor** is an app which leverages hardware security features to provide device integrity monitoring for [supported devices](https://attestation.app/about#device-support). Currently it works with GrapheneOS and the device's stock operating system.
|
||||
**Auditor** is an app which leverages hardware security features to provide device integrity monitoring for [supported devices](https://attestation.app/about#device-support). Currently, it only works with GrapheneOS and the device's stock operating system.
|
||||
|
||||
[Visit attestation.app](https://attestation.app){ .md-button .md-button--primary }
|
||||
[:octicons-home-16: Homepage](https://attestation.app){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://attestation.app/privacy-policy){ .card-link title="Privacy Policy" }
|
||||
[:octicons-info-16:](https://attestation.app/about){ .card-link title=Documentation}
|
||||
[:octicons-code-16:](https://attestation.app/source){ .card-link title="Source Code" }
|
||||
[:octicons-heart-16:](https://attestation.app/donate){ .card-link title=Contribute }
|
||||
|
||||
**Downloads:**
|
||||
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=app.attestation.auditor)
|
||||
- [:fontawesome-brands-github: GitHub](https://github.com/GrapheneOS/Auditor)
|
||||
??? downloads
|
||||
|
||||
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=app.attestation.auditor)
|
||||
- [:fontawesome-brands-github: GitHub](https://github.com/GrapheneOS/Auditor/releases)
|
||||
|
||||
Auditor performs attestation and intrusion detection by:
|
||||
|
||||
@ -181,11 +234,11 @@ Auditor performs attestation and intrusion detection by:
|
||||
- The *auditor* can either be another instance of the Auditor app or the [Remote Attestation Service](https://attestation.app).
|
||||
- The *auditor* records the current state and configuration of the *auditee*.
|
||||
- Should tampering with the operating system of the *auditee* after the pairing is complete, the auditor will be aware of the change in the device state and configurations.
|
||||
- The user will be alerted to the change.
|
||||
- You will be alerted to the change.
|
||||
|
||||
No personally identifiable information is submitted to the attestation service. We recommend that you sign up with an anonymous account and enable remote attestation for continuous monitoring.
|
||||
|
||||
If your [threat model](threat-modeling.md) requires privacy you could consider using Orbot or a VPN to hide your IP address from the attestation service.
|
||||
If your [threat model](basics/threat-modeling.md) requires privacy, you could consider using Orbot or a VPN to hide your IP address from the attestation service.
|
||||
To make sure that your hardware and operating system is genuine, [perform local attestation](https://grapheneos.org/install/web#verifying-installation) immediately after the device has been installed and prior to any internet connection.
|
||||
|
||||
### Secure Camera
|
||||
@ -195,13 +248,17 @@ To make sure that your hardware and operating system is genuine, [perform local
|
||||
{ align=right }
|
||||
{ align=right }
|
||||
|
||||
**Secure Camera** is an camera app focused on privacy and security which can capture images, videos, and QR codes. CameraX vendor extensions (Portrait, HDR, Night Sight, Face Retouch, and Auto) are also supported on available devices.
|
||||
**Secure Camera** is a camera app focused on privacy and security which can capture images, videos and QR codes. CameraX vendor extensions (Portrait, HDR, Night Sight, Face Retouch, and Auto) are also supported on available devices.
|
||||
|
||||
[Visit github.com](https://github.com/GrapheneOS/Camera){ .md-button .md-button--primary }
|
||||
[:octicons-repo-16: Repository](https://github.com/GrapheneOS/Camera){ .md-button .md-button--primary }
|
||||
[:octicons-info-16:](https://grapheneos.org/usage#camera){ .card-link title=Documentation}
|
||||
[:octicons-code-16:](https://github.com/GrapheneOS/Camera){ .card-link title="Source Code" }
|
||||
[:octicons-heart-16:](https://grapheneos.org/donate){ .card-link title=Contribute }
|
||||
|
||||
**Downloads:**
|
||||
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=app.grapheneos.camera.play)
|
||||
- [:fontawesome-brands-github: GitHub](https://github.com/GrapheneOS/Camera/releases)
|
||||
??? downloads
|
||||
|
||||
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=app.grapheneos.camera.play)
|
||||
- [:fontawesome-brands-github: GitHub](https://github.com/GrapheneOS/Camera/releases)
|
||||
|
||||
Main privacy features include:
|
||||
|
||||
@ -226,11 +283,14 @@ Main privacy features include:
|
||||
|
||||
[Content-Security-Policy](https://en.wikipedia.org/wiki/Content_Security_Policy) is used to enforce that the JavaScript and styling properties within the WebView are entirely static content.
|
||||
|
||||
[Visit github.com](https://github.com/GrapheneOS/PdfViewer){ .md-button .md-button--primary }
|
||||
[:octicons-repo-16: Repository](https://github.com/GrapheneOS/PdfViewer){ .md-button .md-button--primary }
|
||||
[:octicons-code-16:](https://github.com/GrapheneOS/PdfViewer){ .card-link title="Source Code" }
|
||||
[:octicons-heart-16:](https://grapheneos.org/donate){ .card-link title=Contribute }
|
||||
|
||||
**Downloads:**
|
||||
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=app.grapheneos.pdfviewer.play)
|
||||
- [:fontawesome-brands-github: GitHub](https://github.com/GrapheneOS/PdfViewer/releases)
|
||||
??? downloads
|
||||
|
||||
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=app.grapheneos.pdfviewer.play)
|
||||
- [:fontawesome-brands-github: GitHub](https://github.com/GrapheneOS/PdfViewer/releases)
|
||||
|
||||
### PrivacyBlur
|
||||
|
||||
@ -240,119 +300,33 @@ Main privacy features include:
|
||||
|
||||
**PrivacyBlur** is a free app which can blur sensitive portions of pictures before sharing them online.
|
||||
|
||||
[Visit privacyblur.app](https://privacyblur.app/){ .md-button .md-button--primary }
|
||||
[:octicons-home-16: Homepage](https://privacyblur.app/){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://privacyblur.app/privacy.html){ .card-link title="Privacy Policy" }
|
||||
[:octicons-info-16:](https://github.com/MATHEMA-GmbH/privacyblur#readme){ .card-link title=Documentation}
|
||||
[:octicons-code-16:](https://github.com/MATHEMA-GmbH/privacyblur){ .card-link title="Source Code" }
|
||||
|
||||
**Downloads:**
|
||||
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=de.mathema.privacyblur)
|
||||
- [:pg-f-droid: F-Droid](https://f-droid.org/en/packages/de.mathema.privacyblur/)
|
||||
- [:fontawesome-brands-github: GitHub](https://github.com/MATHEMA-GmbH/privacyblur)
|
||||
??? downloads
|
||||
|
||||
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=de.mathema.privacyblur)
|
||||
- [:pg-f-droid: F-Droid](https://f-droid.org/en/packages/de.mathema.privacyblur/)
|
||||
|
||||
!!! warning
|
||||
|
||||
You should **never** use blur to redact [text in images](https://bishopfox.com/blog/unredacter-tool-never-pixelation). If you want to redact text in an image, draw a box over the text. For this we suggest [Pocket Paint](https://github.com/Catrobat/Paintroid) or [Imagepipe](https://codeberg.org/Starfish/Imagepipe).
|
||||
|
||||
## General Recommendations
|
||||
## Obtaining Applications
|
||||
|
||||
### Avoid Root
|
||||
|
||||
[Rooting](https://en.wikipedia.org/wiki/Rooting_(Android)) Android phones can decrease security significantly as it weakens the complete [Android security model](https://en.wikipedia.org/wiki/Android_(operating_system)#Security_and_privacy). This can decrease privacy should there be an exploit that is assisted by the decreased security. Common rooting methods involve directly tampering with the boot partition, making it impossible to perform successful [Verified Boot](https://source.android.com/security/verifiedboot). Apps that require root will also modify the system partition meaning that Verified Boot would have to remain disabled. Having root exposed directly in the user interface also increases the [attack surface](https://en.wikipedia.org/wiki/Attack_surface) of your device and may assist in [privilege escalation](https://en.wikipedia.org/wiki/Privilege_escalation) vulnerabilities and [SELinux](https://en.wikipedia.org/wiki/Security-Enhanced_Linux) policy bypasses.
|
||||
|
||||
Adblockers (AdAway) which modify the [hosts file](https://en.wikipedia.org/wiki/Hosts_(file)) and firewalls (AFWall+) which require root access persistently are dangerous and should not be used. They are also not the correct way to solve their intended purposes. For Adblocking we suggest encrypted [DNS](dns.md) or [VPN](vpn.md) server blocking solutions instead. RethinkDNS, TrackerControl and AdAway in non-root mode will take up the VPN slot (by using a local loopback VPN) preventing you from using privacy enhancing services such as Orbot or a real VPN server.
|
||||
|
||||
AFWall+ works based on the [packet filtering](https://en.wikipedia.org/wiki/Firewall_(computing)#Packet_filter) approach and may be bypassable in some situations.
|
||||
|
||||
We do not believe that the security sacrifices made by rooting a phone are worth the questionable privacy benefits of those apps.
|
||||
|
||||
### Firmware Updates
|
||||
|
||||
Firmware updates are critical for maintaining security and without them your device cannot be secure. Original equipment manufacturers (OEMs)—in other words, phone manufacturers—have support agreements with their partners to provide the closed source components for a limited support period. These are detailed in the monthly [Android Security Bulletins](https://source.android.com/security/bulletin).
|
||||
|
||||
As the components of the phone such as the processor and radio technologies rely on closed source components, the updates must be provided by the respective manufacturers. Therefore it is important that you purchase a device within an active support cycle. [Qualcomm](https://www.qualcomm.com/news/releases/2020/12/16/qualcomm-and-google-announce-collaboration-extend-android-os-support-and) and [Samsung](https://news.samsung.com/us/samsung-galaxy-security-extending-updates-knox/) support their devices for 4 years while cheaper products often have shorter support. With the introduction of the [Pixel 6](https://support.google.com/pixelphone/answer/4457705), Google now makes their own system on chip (SoC) and they will provide 5 years of support.
|
||||
|
||||
Devices that have reached their end-of-life (EoL) and are no longer supported by the SoC manufacturer, cannot receive firmware updates from OEM vendors or after market Android distributors. This means that security issues with those devices will remain unfixed.
|
||||
|
||||
### Android Versions
|
||||
|
||||
It's important to not use an [end-of-life](https://endoflife.date/android) version of Android. Newer versions of Android not only receive security updates for the operating system but also important privacy enhancing updates too. For example, [prior to Android 10](https://developer.android.com/about/versions/10/privacy/changes), any user apps with the [`READ_PHONE_STATE`](https://developer.android.com/reference/android/Manifest.permission#READ_PHONE_STATE) permission could access sensitive and unique serial numbers of your phone such as [IMEI](https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity), [MEID](https://en.wikipedia.org/wiki/Mobile_equipment_identifier), your SIM card's [IMSI](https://en.wikipedia.org/wiki/International_mobile_subscriber_identity), whereas now they must be system apps to do so. System apps are only provided by the OEM or Android distribution.
|
||||
|
||||
### Android Permissions
|
||||
|
||||
[Permissions on Android](https://developer.android.com/guide/topics/permissions/overview) grant users control over what apps are allowed to access. Google regularly makes [improvements](https://developer.android.com/about/versions/11/privacy/permissions) on the permission system in each successive version. All user installed apps are strictly [sandboxed](https://source.android.com/security/app-sandbox), therefore there is no need to install any antivirus apps. The savings you make from not purchasing or subscribing to security apps is better spent on paying for a supported device in the future.
|
||||
|
||||
Should you want to run an app that you're unsure about, consider using a user or work [profile](android/#android-security-privacy).
|
||||
|
||||
### Advanced Protection Program
|
||||
|
||||
If you have a Google account we suggest enrolling in the [Advanced Protection Program](https://landing.google.com/advancedprotection/). It is available at no cost to anyone with two or more hardware security keys with [U2F](https://en.wikipedia.org/wiki/Universal_2nd_Factor) support.
|
||||
|
||||
The Advanced Protection Program provides enhanced threat monitoring and enables:
|
||||
|
||||
- Stricter two factor authentication; e.g. that [U2F](https://en.wikipedia.org/wiki/Universal_2nd_Factor) or [FIDO2](https://en.wikipedia.org/wiki/WebAuthn) **must** be used and disallows the use of [SMS OTPs](https://en.wikipedia.org/wiki/One-time_password#SMS), [TOTP](https://en.wikipedia.org/wiki/Time-based_one-time_password), and [OAuth](https://en.wikipedia.org/wiki/OAuth)
|
||||
- Only Google and verified third party apps can access account data
|
||||
- Scanning of incoming emails on Gmail accounts for [phishing](https://en.wikipedia.org/wiki/Phishing#Email_phishing) attempts
|
||||
- Stricter [safe browser scanning](https://www.google.com/chrome/privacy/whitepaper.html#malware) with Google Chrome
|
||||
- Stricter recovery process for accounts with lost credentials
|
||||
|
||||
For users that are using the privileged Google Play Services (common on stock operating systems), the Advanced Protection Program also comes with [additional benefits](https://support.google.com/accounts/answer/9764949?hl=en) such as:
|
||||
|
||||
- Not allowing app installation outside of the Google Play Store, the OS vendor's app store, or via [`adb`](https://en.wikipedia.org/wiki/Android_Debug_Bridge)
|
||||
- Mandatory automatic device scanning with [Play Protect](https://support.google.com/googleplay/answer/2812853?hl=en#zippy=%2Chow-malware-protection-works%2Chow-privacy-alerts-work)
|
||||
- Warning the user about unverified applications
|
||||
|
||||
### SafetyNet and Play Integrity API
|
||||
|
||||
[SafetyNet](https://developer.android.com/training/safetynet/attestation) and the [Play Integrity APIs](https://developer.android.com/google/play/integrity) are generally used for [banking apps](https://grapheneos.org/usage#banking-apps). Many banking apps will work fine in GrapheneOS with sandboxed Play services, however some non-financal apps have their own crude anti-tampering mechanisms which might fail. GrapheneOS passes the `basicIntegrity` check, but not the certification check `ctsProfileMatch`. Devices with Android 8 or later have hardware attestation support which cannot be bypassed without leaked keys or serious vulnerabilities.
|
||||
|
||||
As for Google Wallet, we don't recommend this due to their [privacy policy](https://payments.google.com/payments/apis-secure/get_legal_document?ldo=0&ldt=privacynotice&ldl=en), which states you must opt-out if you don't want your credit rating and personal information shared with affiliate marketing services.
|
||||
|
||||
### Advertising ID
|
||||
|
||||
All devices with Google Play Services installed automatically generate an [advertising ID](https://support.google.com/googleplay/android-developer/answer/6048248?hl=en) used for targeted advertising. Disable this feature to limit the data collected about you.
|
||||
|
||||
On Android distributions with [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play), go to ⚙️ Settings → Apps → Sandboxed Google Play → Google Settings → Ads and select **Delete advertising ID**.
|
||||
|
||||
On Android distributions with privileged Google Play Services (such as stock OSes), the setting may be in one of several locations. Check
|
||||
|
||||
- ⚙️ Settings → Google → Ads
|
||||
- ⚙️ Settings → Privacy → Ads
|
||||
|
||||
Depending on your system, you will either be given the option to delete your advertising ID or to "Opt out of interest-based ads". You should delete the advertising ID if you are given the option to, and if you are not, we recommend that you opt out of interested-based ads and then reset your advertising ID.
|
||||
|
||||
### Android Device Shopping
|
||||
|
||||
Google Pixels are known to have good security and properly support [Verified Boot](https://source.android.com/security/verifiedboot). Some other phones such as the Fairphone and OnePlus devices also support custom Android Verified Boot (AVB) key enrollment. However, there have been issues with their older models. In the past they were using [test keys](https://social.coop/@dazinism/105346943304083054) or not doing proper verification, making Verified Boot on those devices useless.
|
||||
|
||||
Avoid buying phones from mobile network operators. These often have a **locked bootloader** and do not support [OEM unlocking](https://source.android.com/devices/bootloader/locking_unlocking). These phone variants will prevent you from installing any kind of alternative Android distribution. Phones that cannot be unlocked will often have an [IMEI](https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity) starting with "35", that includes phones from purchased from Verizon, Telus, Rogers, EE, etc.
|
||||
|
||||
Be very **careful** about buying second hand phones from online marketplaces. Always check the reputation of the seller. If the device is stolen there's a possibility of [IMEI blacklisting](https://www.gsma.com/security/resources/imei-blacklisting/). There is also a risk involved with you being associated with the activity of the previous owner.
|
||||
|
||||
We have these general tips:
|
||||
|
||||
- If you're after a bargain on a Pixel device, we suggest buying an "**a**" model, just after the next flagship is released. Discounts are usually available because Google will be trying to clear their stock.
|
||||
- Consider price beating options and specials offered at [brick and mortar](https://en.wikipedia.org/wiki/Brick_and_mortar) stores.
|
||||
- Look at online community bargain sites in your country. These can alert you to good sales.
|
||||
- Google provides a list showing the [support cycle](https://support.google.com/nexus/answer/4457705) for each one of their devices. The price per day for a device can be calculated as: $\text{Cost} \over \text {EoL Date }-\text{ Current Date}$, meaning that the longer use of the device the lower cost per day.
|
||||
- Do not buy devices that have reached or are near their end-of-life, additional firmware updates must be provided by the manufacturer.
|
||||
- Do not buy preloaded LineageOS or /e/ OS phones or any Android phones without proper [Verified Boot](https://source.android.com/security/verifiedboot) support and firmware updates. These devices also have no way for you to check whether they've been tampered with.
|
||||
- In short, if a device or Android distribution is not listed here, there is probably a good reason, so check our [discussions](https://github.com/privacyguides/privacyguides.org/discussions) page.
|
||||
|
||||
The installation of GrapheneOS on a Pixel phone is easy with their [web installer](https://grapheneos.org/install/web). If you don't feel comfortable doing it yourself and are willing to spend a bit of extra money, check out the [NitroPhone](https://shop.nitrokey.com/shop) as they come preloaded with GrapheneOS from the reputable [Nitrokey](https://www.nitrokey.com/about) company. The GrapheneOS project is not currently affiliated with any vendor and cannot ensure the quality or security of their products.
|
||||
|
||||
A [CalyxOS membership](https://calyxinstitute.org/membership/calyxos) also entitles you to a device preloaded with CalyxOS.
|
||||
|
||||
## Where to get your applications
|
||||
|
||||
### GrapheneOS's App Store
|
||||
### GrapheneOS App Store
|
||||
|
||||
GrapheneOS's app store is available on [GitHub](https://github.com/GrapheneOS/Apps/releases). It supports Android 12 and above and is capable of updating itself. The app store has standalone applications built by the GrapheneOS project such as the [Auditor](https://attestation.app/), [Camera](https://github.com/GrapheneOS/Camera), and [PDF Viewer](https://github.com/GrapheneOS/PdfViewer). If you are looking for these applications, we highly recommend that you get them from GrapheneOS's app store instead of the Play Store, as the apps on their store are signed by the GrapheneOS's project own signature that Google does not have access to.
|
||||
|
||||
### Aurora Store
|
||||
|
||||
The Google Play Store requires a Google account to login which is not great for privacy. The [Aurora Store](https://auroraoss.com/download/AuroraStore/) (a Google Play Store proxy) does not, and works most of the time.
|
||||
The Google Play Store requires a Google account to login which is not great for privacy. The [Aurora Store](https://auroraoss.com/download/AuroraStore/) (a Google Play Store proxy) does not and works most of the time.
|
||||
|
||||
### F-Droid
|
||||
|
||||
F-Droid is often recommended as an alternative to Google Play, particularly in the privacy community. The option to add third party repositories and not be confined to Google's [walled garden](https://en.wikipedia.org/wiki/Closed_platform) has led to its popularity. F-Droid additionally has [reproducible builds](https://f-droid.org/en/docs/Reproducible_Builds/) for some applications, and is dedicated to free and open source software. However, there are problems with the official F-Droid client, their quality control, and how they build, sign and deliver packages, outlined in this [post](https://wonderfall.dev/fdroid-issues/).
|
||||
F-Droid is often recommended as an alternative to Google Play, particularly in the privacy community. The option to add third-party repositories and not be confined to Google's walled garden has led to its popularity. F-Droid additionally has [reproducible builds](https://f-droid.org/en/docs/Reproducible_Builds/) for some applications and is dedicated to free and open-source software. However, there are problems with the official F-Droid client, their quality control, and how they build, sign and deliver packages, outlined in this [post](https://wonderfall.dev/fdroid-issues/).
|
||||
|
||||
Sometimes the official F-Droid repository may fall behind on updates. F-Droid maintainers reuse package IDs while signing apps with their own keys, which is not ideal as it does give the F-Droid team ultimate trust. The Google Play version of some apps may contain unwanted telemetry or lack features that are available in the F-Droid version.
|
||||
|
||||
@ -362,59 +336,70 @@ We have these general tips:
|
||||
- Check if an app is available on the [IzzyOnDroid](https://apt.izzysoft.de/fdroid/) repository. The IzzyOnDroid repository pulls builds directly from GitHub and is the next best thing to the developers' own repositories. We recommend that you download the GitHub builds and install them manually first, then use IzzyOnDroid for any subsequent updates. This will ensure that the signature of the applications you get from IzzyOnDroid matches that of the developer and the packages have not been tampered with.
|
||||
- Check if there are any differences between the F-Droid version and the Google Play Store version. Some applications like [IVPN](https://www.ivpn.net/) do not include certain features (eg [AntiTracker](https://www.ivpn.net/knowledgebase/general/antitracker-faq/)) in their Google Play Store build out of fear of censorship by Google.
|
||||
|
||||
Evaluate whether the additional features in the F-Droid build are worth the slower updates. Also think about whether faster updates from the Google Play Store are worth the potential privacy issues in your [threat model](threat-modeling.md).
|
||||
Evaluate whether the additional features in the F-Droid build are worth the slower updates. Also think about whether faster updates from the Google Play Store are worth the potential privacy issues in your [threat model](basics/threat-modeling.md).
|
||||
|
||||
#### Droid-ify
|
||||
#### Neo Store
|
||||
|
||||
<small><i>Neo Store is a recent rebrand of Droid-ify.</i></small>
|
||||
|
||||
The official F-Droid client targets a [low API level](https://wonderfall.dev/fdroid-issues/#3-low-target-api-level-sdk-for-client--apps) and does not utilize the [seamless updates](https://www.androidcentral.com/google-will-finally-bring-seamless-app-updates-alternative-app-stores-android-12) feature introduced in Android 12. Targeting lower API levels means that the F-Droid client cannot take advantage of the new improvements in the application sandboxes that comes with higher API levels. For automatic updates to work, the F-Droid client requires that the [Privileged Extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged/) be included in the operating system, granting it more privileges than what a normal app would have, which is not great for security.
|
||||
|
||||
To mitigate these problems, we recommend [Droid-ify](https://github.com/Iamlooker/Droid-ify) as it supports seamless updates on Android 12 and above without needing any special privileges and targets a higher API level.
|
||||
To mitigate these problems, we recommend [Neo Store](https://github.com/NeoApplications/Neo-Store) as it supports seamless updates on Android 12 and above without needing any special privileges and targets a higher API level.
|
||||
|
||||
!!! recommendation
|
||||
|
||||
{ align=right }
|
||||
{ align=right }
|
||||
|
||||
**Droid-ify** is a modern F-Droid client made with MaterialUI, forked from [Foxy Droid](https://github.com/kitsunyan/foxy-droid).
|
||||
**Neo Store** is a modern F-Droid client made with MaterialUI, forked from [Foxy Droid](https://github.com/kitsunyan/foxy-droid).
|
||||
|
||||
Unlike the official F-Droid client, Droid-ify supports seamless updates on Android 12 and above without the need for a privileged extension. If your Android distribution is on Android 12 or above and does not include the [F-Droid privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged/), it is highly recommended that you use Droid-ify instead of the official client.
|
||||
Unlike the official F-Droid client, Neo Store supports seamless updates on Android 12 and above without the need for a privileged extension. If your Android distribution is on Android 12 or above and does not include the [F-Droid privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged/), it is highly recommended that you use Neo Store instead of the official client.
|
||||
|
||||
**Downloads:**
|
||||
- [:fontawesome-brands-android: APK Download](https://android.izzysoft.de/repo/apk/com.looker.droidify)
|
||||
- [:fontawesome-brands-github: GitHub](https://github.com/Iamlooker/Droid-ify)
|
||||
[:octicons-repo-16: Repository](https://github.com/NeoApplications/Neo-Store){ .md-button .md-button--primary }
|
||||
[:octicons-code-16:](https://github.com/NeoApplications/Neo-Store){ .card-link title="Source Code" }
|
||||
|
||||
## Security comparison of GrapheneOS and CalyxOS
|
||||
??? downloads
|
||||
|
||||
### Profiles
|
||||
- [:fontawesome-brands-android: IzzyOnDroid (APK)](https://android.izzysoft.de/repo/apk/com.looker.droidify)
|
||||
- [:fontawesome-brands-github: GitHub](https://github.com/NeoApplications/Neo-Store/releases)
|
||||
|
||||
CalyxOS includes a device controller app so there is no need to install a third party app like [Shelter](#recommended-apps). GrapheneOS plans to introduce nested profile support with better isolation in the future.
|
||||
### Manually with RSS Notifications
|
||||
|
||||
GrapheneOS extends the [user profile](#android-security-privacy) feature allowing a user to press an "End Session" button. This button clears the encryption key from memory. There are plans to add a [cross profile notifications system](https://github.com/GrapheneOS/os-issue-tracker/issues/88) in the future.
|
||||
If an app is released on a platform like GitHub, you may be able to add an RSS feed to your [news aggregator](/news-aggregators) that will help you be aware of new releases. Using [Secure Camera](#secure-camera) as an example, you would navigate to its [releases page](https://github.com/GrapheneOS/Camera/releases) on GitHub and append `.atom` to the URL:
|
||||
|
||||
### Sandboxed Google Play vs Privileged MicroG
|
||||
`https://github.com/GrapheneOS/Camera/releases.atom`
|
||||
|
||||
When Google Play services are used on GrapheneOS, they run as a user app and are contained within a user or work profile.
|
||||

|
||||

|
||||
|
||||
Sandboxed Google Play is confined using the highly restrictive, default [`untrusted_app`](https://source.android.com/security/selinux/concepts) domain provided by [SELinux](https://en.wikipedia.org/wiki/Security-Enhanced_Linux). Permissions for apps to use Google Play Services can be revoked at any time by the user.
|
||||
#### Verifying APK Fingerprints
|
||||
|
||||
MicroG is a reimplementation of Google Play Services. This means it needs to be updated every time Android has a major version update (or the Android API changes). It also needs to run in the highly privileged [`system_app`](https://source.android.com/security/selinux/concepts) SELinux domain like normal Google Play Services and requires access to [signature spoofing](https://madaidans-insecurities.github.io/android.html#microg-signature-spoofing) so this is less secure than the Sandboxed Google Play approach. We do not believe MicroG provides any privacy advantages over Sandboxed Google Play except for the option to *shift trust* of the location backend from Google to another provider such as Mozilla or DejaVu.
|
||||
If you download APK files to install manually, you can verify their signature with the [`apksigner`](https://developer.android.com/studio/command-line/apksigner) tool, which is a part of Android [build-tools](https://developer.android.com/studio/releases/build-tools).
|
||||
|
||||
From a usability point of view, Sandboxed Google Play also works well with far more applications than MicroG, thanks to its support for services like [Google Play Games](https://play.google.com/googleplaygames) and [In-app Billing API](https://android-doc.github.io/google/play/billing/api.html).
|
||||
1. Install [Java JDK](https://www.oracle.com/java/technologies/downloads/).
|
||||
|
||||
### Privileged App Extensions
|
||||
2. Download the [Android Studio command line tools](https://developer.android.com/studio#command-tools).
|
||||
|
||||
Android 12 comes with special support for seamless app updates with [third party app stores](https://android-developers.googleblog.com/2020/09/listening-to-developer-feedback-to.html). The popular Free and Open Source Software (FOSS) repository [F-Droid](https://f-droid.org) doesn't implement this feature and requires a [privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged) to be included with the Android distribution in order to have unattended app installation.
|
||||
3. Extract the downloaded archive:
|
||||
|
||||
GrapheneOS doesn't compromise on security; therefore, they do not include the F-Droid extension. Users have to confirm all updates manually if they want to use F-Droid. Alternatively, they can use the Droid-ify client which does support seamless app updates in Android 12. GrapheneOS officially recommends [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play) instead. Many FOSS Android apps are also in Google Play but sometimes they are not (like [NewPipe](video-streaming.md)).
|
||||
```bash
|
||||
unzip commandlinetools-*.zip
|
||||
cd cmdline-tools
|
||||
./bin/sdkmanager --sdk_root=./ "build-tools;29.0.3"
|
||||
```
|
||||
|
||||
CalyxOS includes the [privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged), which may lower device security. Seamless app updates should be possible with [Aurora Store](https://auroraoss.com) in Android 12.
|
||||
4. Run the signature verification command:
|
||||
|
||||
### Additional hardening
|
||||
```bash
|
||||
./build-tools/29.0.3/apksigner verify --print-certs ../Camera-37.apk
|
||||
```
|
||||
|
||||
GrapheneOS improves upon [AOSP](https://source.android.com/) security with:
|
||||
5. The resulting hashes can then be compared with another source. Some developers such as Signal [show the fingerprints](https://signal.org/android/apk/) on their website.
|
||||
|
||||
- **Hardened WebView:** Vanadium WebView requires [64-bit](https://en.wikipedia.org/wiki/64-bit_computing) processes on the [WebView](https://developer.android.com/reference/android/webkit/WebView) process and disables legacy [32-bit](https://en.wikipedia.org/wiki/32-bit_computing) processes. It uses hardened compiler options such as [`-fwrapv`](https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html) and [`-fstack-protector-strong`](https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gcc/Optimize-Options.html), which can help protect against [stack buffer overflows](https://en.wikipedia.org/wiki/Stack_buffer_overflow). [API](https://en.wikipedia.org/wiki/API)s such as the [battery status API](https://chromestatus.com/feature/4537134732017664) are disabled for privacy reasons. All system apps on GrapheneOS use the Vanadium WebView which means user installed apps that use WebView will also benefit from Vanadium's hardening. The [Vanadium patch set](https://github.com/GrapheneOS/Vanadium/tree/12/patches) is a lot more comprehensive than CalyxOS's [Chromium patch set](https://gitlab.com/CalyxOS/chromium-patches) which is derived from it.
|
||||
- **Hardened Kernel:** GrapheneOS kernel includes some hardening from the [linux-hardened](https://github.com/GrapheneOS/linux-hardened) project and the [Kernel Self Protection Project (KSPP)](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project). CalyxOS uses the [same kernel](https://calyxos.org/docs/development/build/kernel/) as regular Android with some minor modifications.
|
||||
- **Hardened Memory Allocator:** GrapheneOS uses the [hardened malloc](https://github.com/GrapheneOS/hardened_malloc) subproject as its memory allocator. This focuses on hardening against [memory heap corruption](https://en.wikipedia.org/wiki/Memory_corruption). CalyxOS uses the default AOSP [Scudo Malloc](https://source.android.com/devices/tech/debug/scudo), which is generally [less effective](https://twitter.com/danielmicay/status/1033671709197398016). Hardened Malloc has uncovered vulnerabilities in AOSP which have been [fixed](https://github.com/GrapheneOS/platform_system_core/commit/be11b59725aa6118b0e1f0712572e835c3d50746) by GrapheneOS such as [CVE-2021-0703](https://nvd.nist.gov/vuln/detail/CVE-2021-0703).
|
||||
- **Secure Exec Spawning:** GrapheneOS [spawns](https://en.wikipedia.org/wiki/Spawn_(computing)) fresh processes as opposed to using the [Zygote model](https://ayusch.com/android-internals-the-android-os-boot-process) used by AOSP and CalyxOS. The Zygote model weakens [Address Space Layout Randomization](https://en.wikipedia.org/wiki/Address_space_layout_randomization) (ASLR) and is considered [less secure](https://wenke.gtisc.gatech.edu/papers/morula.pdf). Creating [fresh processes](https://grapheneos.org/usage#exec-spawning) is safer but will have some performance penalty when launching a new application. These penalties are not really noticeable unless you have an [old device](https://support.google.com/nexus/answer/4457705) with slow storage such as the Pixel 3a/3a XL as it has [eMMC](https://en.wikipedia.org/wiki/MultiMediaCard#eMMC).
|
||||
```bash
|
||||
Signer #1 certificate DN: CN=GrapheneOS
|
||||
Signer #1 certificate SHA-256 digest: 6436b155b917c2f9a9ed1d15c4993a5968ffabc94947c13f2aeee14b7b27ed59
|
||||
Signer #1 certificate SHA-1 digest: 23e108677a2e1b1d6e6b056f3bb951df7ad5570c
|
||||
Signer #1 certificate MD5 digest: dbbcd0cac71bd6fa2102a0297c6e0dd3
|
||||
```
|
||||
|
||||
**Please note that these are just a few examples and are not an extensive list of GrapheneOS's hardening**. For a more complete list, please read GrapheneOS' [official documentation](https://grapheneos.org/features).
|
||||
--8<-- "includes/abbreviations.en.md"
|
||||
|
54
docs/android/grapheneos-vs-calyxos.en.md
Normal file
@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "GrapheneOS vs CalyxOS"
|
||||
icon: 'material/cellphone-cog'
|
||||
---
|
||||
## Profiles
|
||||
|
||||
CalyxOS includes a device controller app so there is no need to install a third-party app like Shelter.
|
||||
|
||||
GrapheneOS extends the user profile feature, allowing you to end a current session. To do this, select *End Session* which will clear the encryption key from memory. There are plans to add a [cross profile notifications system](https://github.com/GrapheneOS/os-issue-tracker/issues/88) in the future. GrapheneOS plans to introduce nested profile support with better isolation in the future.
|
||||
|
||||
## Sandboxed Google Play vs Privileged microG
|
||||
|
||||
When Google Play services are used on GrapheneOS, they run as a user app and are contained within a user or work profile. Sandboxed Google Play is confined using the highly restrictive, default [`untrusted_app`](https://source.android.com/security/selinux/concepts) domain provided by [SELinux](https://en.wikipedia.org/wiki/Security-Enhanced_Linux). Permissions for apps to use Google Play Services can be revoked at any time.
|
||||
|
||||
microG is a partially open-source re-implementation of Google Play Services.[^1] On CalyxOS, it runs in the highly privileged [`system_app`](https://source.android.com/security/selinux/concepts) SELinux domain like regular Google Play Services, and it uses [signature spoofing](https://github.com/microg/GmsCore/wiki/Signature-Spoofing) to masquerade as Google Play Services. This is less secure than Sandboxed Google Play's approach, which does not need access to sensitive system APIs.
|
||||
|
||||
When using Sandboxed Play Services, you have the option to reroute location requests to the Play Services API back to the OS location API, which uses satellite based location services. With microG, you have the option to choose between different backend location providers, including *shifting trust* to another location backend, like Mozilla; using [DejaVu](https://github.com/n76/DejaVu), a location backend that locally collects and saves RF-based location data to an offline database which can be used when GPS is not available; or to simply not use a network location backend at all.
|
||||
|
||||
Network location providers like Play Services or Mozilla rely the on the MAC addresses of surrounding WiFi access points and Bluetooth devices being submitted for location approximation. Choosing a network location like Mozilla to use with microG provides little to no privacy benefit over Google because you are still submitting the same data and trusting them to not profile you.
|
||||
|
||||
Local RF location backends like DejaVu require that the phone has a working GPS first for the local RF data collected to be useful. This makes them less effective as location providers, as the job of a location provider is to assist location approximation when satellite based services are not working.
|
||||
|
||||
If your threat model requires protecting your location or the MAC addresses of nearby devices, rerouting location requests to the OS location API is probably the best option. The benefit brought by microG's custom location backend is minimal at best when compared to Sandboxed Play Services.
|
||||
|
||||
In terms of application compatibility, Sandboxed Google Play on GrapheneOS outperforms microG on CalyxOS due to its support for many services which microG has not yet implemented, like [Google Play Games](https://play.google.com/googleplaygames) and [In-app Billing API](https://android-doc.github.io/google/play/billing/api.html). Larger apps, especially games, require Play Delivery to be installed, which is currently not implemented in microG. Authentication using [FIDO](../basics/multi-factor-authentication.md#fido-fast-identity-online) with online services on Android also relies on Play Services, and does not currently work with microG.
|
||||
|
||||
[^1]: It should be noted that microG still uses proprietary Google binaries for some of its components such as DroidGuard. Push notifications, if enabled, still go through Google's servers just like with Play Services. Outside of default microG setups like on CalyxOS, it is possible to run microG in the unprivileged `untrusted app` SELinux domain and without the signature spoofing patch. However, microG's functionality and compatibility, which is already not nearly as broad as Sandboxed Play Services, will greatly diminish.
|
||||
|
||||
## Privileged eSIM Activation Application
|
||||
|
||||
Currently, eSIM activation is tied to a privileged proprietary application by Google. The app has the `READ_PRIVILEGED_PHONE_STATE` permission, giving Google access to your hardware identifiers such as the IMEI.
|
||||
|
||||
On GrapheneOS, the app comes disabled and can be *optionally* enabled by the user after they have installed Sandboxed Play Services.
|
||||
|
||||
On CalyxOS, the app comes installed by default (regardless of whether you choose to have microG or not) and cannot be opted out. This is particularly problematic, as it means Google still has access to the user's hardware identifiers regardless of whether they even need the eSIM activation or not, and can access them persistently.
|
||||
|
||||
## Privileged App Extensions
|
||||
|
||||
Android 12 comes with special support for seamless app updates with [third-party app stores](https://android-developers.googleblog.com/2020/09/listening-to-developer-feedback-to.html). The popular Free and Open-Source Software (FOSS) repository [F-Droid](https://f-droid.org) doesn't implement this feature and requires a [privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged) to be included with the Android distribution in order to have unattended app installation.
|
||||
|
||||
GrapheneOS does not include F-Droid, because all updates have to be manually installed, which poses a security risk. However, you can use the [Neo Store](../android.md#neo-store) client for F-Droid which does support seamless (background) app updates in Android 12. GrapheneOS officially recommends [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play) instead. Many FOSS Android apps are also in Google Play but sometimes they are not (like [NewPipe](../video-streaming.md)).
|
||||
|
||||
CalyxOS includes the [privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged), which may lower device security. Seamless app updates should be possible with [Aurora Store](https://auroraoss.com) in Android 12.
|
||||
|
||||
## Additional Hardening
|
||||
|
||||
GrapheneOS improves upon [AOSP](https://source.android.com/) security with:
|
||||
|
||||
- **Hardened WebView:** Vanadium WebView requires [64-bit](https://en.wikipedia.org/wiki/64-bit_computing) processes on the [WebView](https://developer.android.com/reference/android/webkit/WebView) process and disables legacy [32-bit](https://en.wikipedia.org/wiki/32-bit_computing) processes. It uses hardened compiler options such as [`-fwrapv`](https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html) and [`-fstack-protector-strong`](https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gcc/Optimize-Options.html), which can help protect against [stack buffer overflows](https://en.wikipedia.org/wiki/Stack_buffer_overflow). [API](https://en.wikipedia.org/wiki/API)s such as the [battery status API](https://chromestatus.com/feature/4537134732017664) are disabled for privacy reasons. All system apps on GrapheneOS use the Vanadium WebView which means that apps which use WebView will also benefit from Vanadium's hardening. The [Vanadium patch set](https://github.com/GrapheneOS/Vanadium) is a lot more comprehensive than CalyxOS's [Chromium patch set](https://gitlab.com/CalyxOS/chromium-patches) which is derived from it.
|
||||
- **Hardened Kernel:** GrapheneOS kernel includes some hardening from the [linux-hardened](https://github.com/GrapheneOS/linux-hardened) project and the [Kernel Self Protection Project (KSPP)](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project). CalyxOS uses the [same kernel](https://calyxos.org/docs/development/build/kernel/) as regular Android with some minor modifications.
|
||||
- **Hardened Memory Allocator:** GrapheneOS uses the [hardened malloc](https://github.com/GrapheneOS/hardened_malloc) subproject as its memory allocator. This focuses on hardening against [memory heap corruption](https://en.wikipedia.org/wiki/Memory_corruption). CalyxOS uses the default AOSP [Scudo Malloc](https://source.android.com/devices/tech/debug/scudo), which is generally [less effective](https://twitter.com/danielmicay/status/1033671709197398016). Hardened Malloc has uncovered vulnerabilities in AOSP which have been [fixed](https://github.com/GrapheneOS/platform_system_core/commit/be11b59725aa6118b0e1f0712572e835c3d50746) by GrapheneOS such as [CVE-2021-0703](https://nvd.nist.gov/vuln/detail/CVE-2021-0703).
|
||||
- **Secure Exec Spawning:** GrapheneOS [spawns](https://en.wikipedia.org/wiki/Spawn_(computing)) fresh processes as opposed to using the [Zygote model](https://ayusch.com/android-internals-the-android-os-boot-process) used by AOSP and CalyxOS. The Zygote model weakens [Address Space Layout Randomization](https://en.wikipedia.org/wiki/Address_space_layout_randomization) (ASLR) and is considered [less secure](https://wenke.gtisc.gatech.edu/papers/morula.pdf). Creating [fresh processes](https://grapheneos.org/usage#exec-spawning) is safer but will have some performance penalty when launching a new application. These penalties are not really noticeable unless you have an [old device](https://support.google.com/nexus/answer/4457705) with slow storage such as the Pixel 3a/3a XL as it has [eMMC](https://en.wikipedia.org/wiki/MultiMediaCard#eMMC).
|
||||
|
||||
**Please note that these are just a few examples and are not an extensive list of GrapheneOS's hardening**. For a more complete list, please read GrapheneOS' [official documentation](https://grapheneos.org/features).
|
126
docs/android/overview.en.md
Normal file
@ -0,0 +1,126 @@
|
||||
---
|
||||
title: Android Overview
|
||||
icon: material/cellphone-check
|
||||
---
|
||||
Android is a secure operating system that has strong [app sandboxing](https://source.android.com/security/app-sandbox), [Verified Boot](https://source.android.com/security/verifiedboot) (AVB), and a robust [permission](https://developer.android.com/guide/topics/permissions/overview) control system.
|
||||
|
||||
## Choosing an Android Distribution
|
||||
|
||||
When you buy an Android phone, the device's default operating system often comes with invasive integration with apps and services that are not part of the [Android Open-Source Project](https://source.android.com/). An example of such is Google Play Services, which has irrevocable privileges to access your files, contacts storage, call logs, SMS messages, location, camera, microphone, hardware identifiers, and so on. These apps and services increase the attack surface of your device and are the source of various privacy concerns with Android.
|
||||
|
||||
This problem could be solved by using a custom Android distribution that does not come with such invasive integration. Unfortunately, many custom Android distributions often violate the Android security model by not supporting critical security features such as AVB, rollback protection, firmware updates, and so on. Some distributions also ship [`userdebug`](https://source.android.com/setup/build/building#choose-a-target) builds which expose root via [ADB](https://developer.android.com/studio/command-line/adb) and require [more permissive](https://github.com/LineageOS/android_system_sepolicy/search?q=userdebug&type=code) SELinux policies to accommodate debugging features, resulting in a further increased attack surface and weakened security model.
|
||||
|
||||
Ideally, when choosing a custom Android distribution, you should make sure that it upholds the Android security model. At the very least, the distribution should have production builds, support for AVB, rollback protection, timely firmware and operating system updates, and SELinux in [enforcing mode](https://source.android.com/security/selinux/concepts#enforcement_levels). All of our recommended Android distributions satisfy these criteria.
|
||||
|
||||
[Our Android System Recommendations :hero-arrow-circle-right-fill:](../android.md){ .md-button }
|
||||
|
||||
## Avoid Rooting
|
||||
|
||||
[Rooting](https://en.wikipedia.org/wiki/Rooting_(Android)) Android phones can decrease security significantly as it weakens the complete [Android security model](https://en.wikipedia.org/wiki/Android_(operating_system)#Security_and_privacy). This can decrease privacy should there be an exploit that is assisted by the decreased security. Common rooting methods involve directly tampering with the boot partition, making it impossible to perform successful Verified Boot. Apps that require root will also modify the system partition meaning that Verified Boot would have to remain disabled. Having root exposed directly in the user interface also increases the [attack surface](https://en.wikipedia.org/wiki/Attack_surface) of your device and may assist in [privilege escalation](https://en.wikipedia.org/wiki/Privilege_escalation) vulnerabilities and SELinux policy bypasses.
|
||||
|
||||
Adblockers, which modify the [hosts file](https://en.wikipedia.org/wiki/Hosts_(file)) (AdAway) and firewalls (AFWall+) which require root access persistently are dangerous and should not be used. They are also not the correct way to solve their intended purposes. For Adblocking we suggest encrypted [DNS](../dns.md) or [VPN](../vpn.md) server blocking solutions instead. RethinkDNS, TrackerControl and AdAway in non-root mode will take up the VPN slot (by using a local loopback VPN) preventing you from using privacy enhancing services such as Orbot or a real VPN server.
|
||||
|
||||
AFWall+ works based on the [packet filtering](https://en.wikipedia.org/wiki/Firewall_(computing)#Packet_filter) approach and may be bypassable in some situations.
|
||||
|
||||
We do not believe that the security sacrifices made by rooting a phone are worth the questionable privacy benefits of those apps.
|
||||
|
||||
## Verified Boot
|
||||
|
||||
[Verified Boot](https://source.android.com/security/verifiedboot) is an important part of the Android security model. It provides protection against [evil maid](https://en.wikipedia.org/wiki/Evil_maid_attack) attacks, malware persistence, and ensures security updates cannot be downgraded with [rollback protection](https://source.android.com/security/verifiedboot/verified-boot#rollback-protection).
|
||||
|
||||
Android 10 and above has moved away from full-disk encryption to more flexible [file-based encryption](https://source.android.com/security/encryption/file-based). Your data is encrypted using unique encryption keys, and the operating system files are left unencrypted.
|
||||
|
||||
Verified Boot ensures the integrity of the operating system files, thereby preventing an adversary with physical access from tampering or installing malware on the device. In the unlikely case that malware is able to exploit other parts of the system and gain higher privileged access, Verified Boot will prevent and revert changes to the system partition upon rebooting the device.
|
||||
|
||||
Unfortunately, OEMs are only obliged to support Verified Boot on their stock Android distribution. Only a few OEMs such as Google support custom AVB key enrollment on their devices. Additionally, some AOSP derivatives such as LineageOS or /e/ OS do not support Verified Boot even on hardware with Verified Boot support for third-party operating systems. We recommend that you check for support **before** purchasing a new device. AOSP derivatives which do not support Verified Boot are **not** recommended.
|
||||
|
||||
## Firmware Updates
|
||||
|
||||
Firmware updates are critical for maintaining security and without them your device cannot be secure. OEMs have support agreements with their partners to provide the closed-source components for a limited support period. These are detailed in the monthly [Android Security Bulletins](https://source.android.com/security/bulletin).
|
||||
|
||||
As the components of the phone, such as the processor and radio technologies rely on closed-source components, the updates must be provided by the respective manufacturers. Therefore, it is important that you purchase a device within an active support cycle. [Qualcomm](https://www.qualcomm.com/news/releases/2020/12/16/qualcomm-and-google-announce-collaboration-extend-android-os-support-and) and [Samsung](https://news.samsung.com/us/samsung-galaxy-security-extending-updates-knox/) support their devices for 4 years, while cheaper products often have shorter support cycles. With the introduction of the [Pixel 6](https://support.google.com/pixelphone/answer/4457705), Google now makes their own SoC and they will provide a minimum of 5 years of support.
|
||||
|
||||
EOL devices which are no longer supported by the SoC manufacturer cannot receive firmware updates from OEM vendors or after market Android distributors. This means that security issues with those devices will remain unfixed.
|
||||
|
||||
## Android Versions
|
||||
|
||||
It's important to not use an [end-of-life](https://endoflife.date/android) version of Android. Newer versions of Android not only receive security updates for the operating system but also important privacy enhancing updates too. For example, [prior to Android 10](https://developer.android.com/about/versions/10/privacy/changes), any apps with the [`READ_PHONE_STATE`](https://developer.android.com/reference/android/Manifest.permission#READ_PHONE_STATE) permission could access sensitive and unique serial numbers of your phone such as [IMEI](https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity), [MEID](https://en.wikipedia.org/wiki/Mobile_equipment_identifier), your SIM card's [IMSI](https://en.wikipedia.org/wiki/International_mobile_subscriber_identity), whereas now they must be system apps to do so. System apps are only provided by the OEM or Android distribution.
|
||||
|
||||
## Android Permissions
|
||||
|
||||
[Permissions on Android](https://developer.android.com/guide/topics/permissions/overview) grant you control over what apps are allowed to access. Google regularly makes [improvements](https://developer.android.com/about/versions/11/privacy/permissions) on the permission system in each successive version. All apps you install are strictly [sandboxed](https://source.android.com/security/app-sandbox), therefore, there is no need to install any antivirus apps. The savings you make from not purchasing or subscribing to security apps is better spent on paying for a supported device in the future.
|
||||
|
||||
Should you want to run an app that you're unsure about, consider using a user or work profile.
|
||||
|
||||
## User Profiles
|
||||
|
||||
Multiple user profiles can be found in **Settings** → **System** → **Multiple users** and are the simplest way to isolate in Android.
|
||||
|
||||
With user profiles, you can impose restrictions on a specific profile, such as: making calls, using SMS, or installing apps on the device. Each profile is encrypted using its own encryption key and cannot access the data of any other profiles. Even the device owner cannot view the data of other profiles without knowing their password. Multiple user profiles are a more secure method of isolation.
|
||||
|
||||
## Work Profile
|
||||
|
||||
[Work Profiles](https://support.google.com/work/android/answer/6191949) are another way to isolate individual apps and may be more convenient than separate user profiles.
|
||||
|
||||
A **device controller** such as [Shelter](#recommended-apps) is required, unless you're using CalyxOS which includes one.
|
||||
|
||||
The work profile is dependent on a device controller to function. Features such as *File Shuttle* and *contact search blocking* or any kind of isolation features must be implemented by the controller. You must also fully trust the device controller app, as it has full access to your data inside of the work profile.
|
||||
|
||||
This method is generally less secure than a secondary user profile; however, it does allow you the convenience of running apps in both the work and personal profiles simultaneously.
|
||||
|
||||
## VPN Killswitch
|
||||
|
||||
Android 7 and above supports a VPN killswitch and it is available without the need to install third-party apps. This feature can prevent leaks if the VPN is disconnected. It can be found in (:gear: **Settings** → **Network & internet** → **VPN** → :gear: → **Block connections without VPN**).
|
||||
|
||||
## Global Toggles
|
||||
|
||||
Modern Android devices have global toggles for disabling Bluetooth and location services. Android 12 introduced toggles for the camera and microphone. When not in use, we recommend disabling these features. Apps cannot use disabled features (even if granted individual permission) until re-enabled.
|
||||
|
||||
## Google
|
||||
|
||||
If you are using a device with Google services, either your stock operating system or an operating system that safely sandboxes Google Play Services like GrapheneOS, there are a number of additional changes you can make to improve your privacy. We still recommend avoiding Google services entirely, or limiting Google Play services to a specific user/work profile by combining a device controller like *Shelter* with GrapheneOS's Sandboxed Google Play.
|
||||
|
||||
### Advanced Protection Program
|
||||
|
||||
If you have a Google account we suggest enrolling in the [Advanced Protection Program](https://landing.google.com/advancedprotection/). It is available at no cost to anyone with two or more hardware security keys with [FIDO](../basics/multi-factor-authentication.md#fido-fast-identity-online) support.
|
||||
|
||||
The Advanced Protection Program provides enhanced threat monitoring and enables:
|
||||
|
||||
- Stricter two factor authentication; e.g. that [FIDO](../basics/multi-factor-authentication.md#fido-fast-identity-online) **must** be used and disallows the use of [SMS OTPs](../basics/multi-factor-authentication.md#sms-or-email-mfa), [TOTP](../basics/multi-factor-authentication.md#time-based-one-time-password-totp) and [OAuth](https://en.wikipedia.org/wiki/OAuth)
|
||||
- Only Google and verified third-party apps can access account data
|
||||
- Scanning of incoming emails on Gmail accounts for [phishing](https://en.wikipedia.org/wiki/Phishing#Email_phishing) attempts
|
||||
- Stricter [safe browser scanning](https://www.google.com/chrome/privacy/whitepaper.html#malware) with Google Chrome
|
||||
- Stricter recovery process for accounts with lost credentials
|
||||
|
||||
If you use non-sandboxed Google Play Services (common on stock operating systems), the Advanced Protection Program also comes with [additional benefits](https://support.google.com/accounts/answer/9764949?hl=en) such as:
|
||||
|
||||
- Not allowing app installation outside of the Google Play Store, the OS vendor's app store, or via [`adb`](https://en.wikipedia.org/wiki/Android_Debug_Bridge)
|
||||
- Mandatory automatic device scanning with [Play Protect](https://support.google.com/googleplay/answer/2812853?hl=en#zippy=%2Chow-malware-protection-works%2Chow-privacy-alerts-work)
|
||||
- Warning you about unverified applications
|
||||
|
||||
### Google Play System Updates
|
||||
|
||||
In the past, Android security updates had to be shipped by the operating system vendor. Android has become more modular beginning with Android 10, and Google can push security updates for **some** system components via the privileged Play Services.
|
||||
|
||||
If you have an EOL device shipped with Android 10 or above and are unable to run any of our recommended operating systems on your device, you are likely going to be better off sticking with your OEM Android installation (as opposed to an operating system not listed here such as LineageOS or /e/ OS). This will allow you to receive **some** security fixes from Google, while not violating the Android security model by using an insecure Android derivative and increasing your attack surface. We would still recommend upgrading to a supported device as soon as possible.
|
||||
|
||||
### Advertising ID
|
||||
|
||||
All devices with Google Play Services installed automatically generate an [advertising ID](https://support.google.com/googleplay/android-developer/answer/6048248?hl=en) used for targeted advertising. Disable this feature to limit the data collected about you.
|
||||
|
||||
On Android distributions with [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play), go to :gear: **Settings** → **Apps** → **Sandboxed Google Play** → **Google Settings** → **Ads**, and select *Delete advertising ID*.
|
||||
|
||||
On Android distributions with privileged Google Play Services (such as stock OSes), the setting may be in one of several locations. Check
|
||||
|
||||
- :gear: **Settings** → **Google** → **Ads**
|
||||
- :gear: **Settings** → **Privacy** → **Ads**
|
||||
|
||||
You will either be given the option to delete your advertising ID or to *Opt out of interest-based ads*, this varies between OEM distributions of Android. If presented with the option to delete the advertising ID that is preferred. If not, then make sure to opt out and reset your advertising ID.
|
||||
|
||||
### SafetyNet and Play Integrity API
|
||||
|
||||
[SafetyNet](https://developer.android.com/training/safetynet/attestation) and the [Play Integrity APIs](https://developer.android.com/google/play/integrity) are generally used for [banking apps](https://grapheneos.org/usage#banking-apps). Many banking apps will work fine in GrapheneOS with sandboxed Play services, however some non-financial apps have their own crude anti-tampering mechanisms which might fail. GrapheneOS passes the `basicIntegrity` check, but not the certification check `ctsProfileMatch`. Devices with Android 8 or later have hardware attestation support which cannot be bypassed without leaked keys or serious vulnerabilities.
|
||||
|
||||
As for Google Wallet, we don't recommend this due to their [privacy policy](https://payments.google.com/payments/apis-secure/get_legal_document?ldo=0&ldt=privacynotice&ldl=en), which states you must opt-out if you don't want your credit rating and personal information shared with affiliate marketing services.
|
||||
|
||||
--8<-- "includes/abbreviations.en.md"
|
1
docs/assets/brand
Submodule
@ -2,7 +2,7 @@
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square150x150logo src="/assets/img/layout/mstile-150x150.png"/>
|
||||
<square150x150logo src="/assets/brand/PNG/Favicon/mstile-150x150.png"/>
|
||||
<TileColor>#ffd06f</TileColor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
|
@ -3,12 +3,12 @@
|
||||
"short_name": "Privacy Guides",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/assets/img/layout/android-chrome-192x192.png",
|
||||
"src": "/assets/brand/PNG/Favicon/android-chrome-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/layout/android-chrome-512x512.png",
|
||||
"src": "/assets/brand/PNG/Favicon/android-chrome-512x512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
}
|
||||
|
@ -1,93 +0,0 @@
|
||||
Copyright (c) 2015 Sebastien Sanfilippo (www.love-letters.be)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
@ -1,93 +0,0 @@
|
||||
Copyright 2020 The DM Mono Project Authors (https://www.github.com/googlefonts/dm-mono)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
@ -1,16 +0,0 @@
|
||||
@font-face {
|
||||
font-family: 'DM Mono';
|
||||
src: url('DMMono-Regular.woff2') format('woff2');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'DM Mono';
|
||||
src: url('DMMono-Medium.woff2') format('woff2');
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
|
@ -1,113 +0,0 @@
|
||||
## License for USWDS’s Modified Version
|
||||
|
||||
This font combines Libre Franklin (the “Original Version”) and these GSA modifications into a piece of font software called Public Sans, which is a “Modified Version” of Libre Franklin.
|
||||
|
||||
As a work of the United States Government, the font software modifications made by GSA are not subject to copyright within the United States. Additionally, GSA waives copyright and related rights in its font software modifications worldwide through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/).
|
||||
|
||||
The Original Version (as defined in the SIL Open Font License, Version 1.1) remains subject to copyright under the SIL Open Font License, Version 1.1.
|
||||
|
||||
This Modified Version (Public Sans) contains both software under the SIL Open Font License, Version 1.1 and software modifications by GSA released as CC0. As a work of the United States Government, the software modifications made by GSA are not subject to copyright within the United States. Additionally, GSA waives copyright and related rights in its software modifications worldwide through the [CC0 1.0 Universal Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/). It is a “joint work” made of the original software and modifications combined into a single work.
|
||||
|
||||
**In practice, users of this Modified Version (Public Sans) should use Public Sans according to the terms of the SIL Open Font License, Version 1.1, below.** This is because this font is a combination of work subject to copyright and work not subject to copyright, so the more restrictive requirements apply to using the combined work.
|
||||
|
||||
## License of project USWDS’s Modified Version is based on
|
||||
|
||||
- Libre Franklin is licensed under the SIL Open Font License, Version 1.1 (<http://scripts.sil.org/OFL>)
|
||||
- To view the copyright and specific terms and conditions of Libre Franklin, please refer to [OFL.txt](https://github.com/impallari/Libre-Franklin/blob/master/OFL.txt)
|
||||
|
||||
## SIL Open Font License, Version 1.1
|
||||
|
||||
Copyright 2015 The Public Sans Project Authors (https://github.com/uswds/public-sans)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
|
||||
This license is copied below, and is also available with a FAQ at http://scripts.sil.org/OFL
|
||||
|
||||
```
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
```
|
BIN
docs/assets/img/account-deletion/exposed_passwords.png
Normal file
After Width: | Height: | Size: 27 KiB |
@ -1,19 +1 @@
|
||||
<?xml version="1.0"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-147 -70 294 345">
|
||||
<g fill="#a4c639">
|
||||
<use stroke-width="14.4" xlink:href="#b" stroke="#FFF"/>
|
||||
<use xlink:href="#a" transform="scale(-1,1)"/>
|
||||
<g id="a" stroke="#FFF" stroke-width="7.2">
|
||||
<rect rx="6.5" transform="rotate(29)" height="86" width="13" y="-86" x="14"/>
|
||||
<rect id="c" rx="24" height="133" width="48" y="41" x="-143"/>
|
||||
<use y="97" x="85" xlink:href="#c"/>
|
||||
</g>
|
||||
<g id="b">
|
||||
<ellipse cy="41" rx="91" ry="84"/>
|
||||
<rect rx="22" height="182" width="182" y="20" x="-91"/>
|
||||
</g>
|
||||
</g>
|
||||
<g stroke="#FFF" stroke-width="7.2" fill="#FFF">
|
||||
<path d="m-95 44.5h190"/><circle cx="-42" r="4"/><circle cx="42" r="4"/>
|
||||
</g>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-147 -70 294 345"><g fill="#a4c639"><use stroke="#FFF" stroke-width="14.4" xlink:href="#b"/><use transform="scale(-1,1)" xlink:href="#a"/><g id="a" stroke="#FFF" stroke-width="7.2"><rect width="13" height="86" x="14" y="-86" rx="6.5" transform="rotate(29)"/><rect id="c" width="48" height="133" x="-143" y="41" rx="24"/><use x="85" y="97" xlink:href="#c"/></g><g id="b"><ellipse cy="41" rx="91" ry="84"/><rect width="182" height="182" x="-91" y="20" rx="22"/></g></g><g fill="#FFF" stroke="#FFF" stroke-width="7.2"><path d="m-95 44.5h190"/><circle cx="-42" r="4"/><circle cx="42" r="4"/></g></svg>
|
Before Width: | Height: | Size: 728 B After Width: | Height: | Size: 689 B |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" fill="#ffffff" version="1.1" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><path d="m29.623 0.50599-20.539 9.1251c-2.1126 0.93891-3.4916 3.0515-3.4916 5.3694v13.79c0 16.284 11.267 31.512 26.407 35.209 15.14-3.697 26.407-18.925 26.407-35.209v-13.79c0-2.3179-1.379-4.4305-3.4916-5.3694l-20.539-9.1251c-1.4964-0.67485-3.2569-0.67485-4.7533 0zm2.3766 31.19h20.539c-1.5551 12.089-9.6239 22.857-20.539 26.231v-26.202h-20.539v-16.724l20.539-9.1251z" stroke-width="2.9341"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" fill="#fff" version="1.1" viewBox="0 0 64 64"><path stroke-width="2.934" d="m29.623 0.50599-20.539 9.1251c-2.1126 0.93891-3.4916 3.0515-3.4916 5.3694v13.79c0 16.284 11.267 31.512 26.407 35.209 15.14-3.697 26.407-18.925 26.407-35.209v-13.79c0-2.3179-1.379-4.4305-3.4916-5.3694l-20.539-9.1251c-1.4964-0.67485-3.2569-0.67485-4.7533 0zm2.3766 31.19h20.539c-1.5551 12.089-9.6239 22.857-20.539 26.231v-26.202h-20.539v-16.724l20.539-9.1251z"/></svg>
|
Before Width: | Height: | Size: 551 B After Width: | Height: | Size: 507 B |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><path d="m16.933-1.6667e-7 -13.855 6.1576v9.2364c0 8.5436 5.9113 16.533 13.855 18.473 7.9433-1.9397 13.855-9.9291 13.855-18.473v-9.2364zm0 16.918h10.776c-0.81588 6.3423-5.0492 11.992-10.776 13.762v-13.747h-10.776v-8.7746l10.776-4.7875z" fill="#1a1a1a" stroke-width="1.5394"/><path d="m16.415 18.141h6.35v6.35h-6.35z" fill="none" stroke-width=".26458"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><path fill="#1a1a1a" stroke-width="1.539" d="m16.933-1.6667e-7 -13.855 6.1576v9.2364c0 8.5436 5.9113 16.533 13.855 18.473 7.9433-1.9397 13.855-9.9291 13.855-18.473v-9.2364zm0 16.918h10.776c-0.81588 6.3423-5.0492 11.992-10.776 13.762v-13.747h-10.776v-8.7746l10.776-4.7875z"/><path fill="none" stroke-width=".265" d="m16.415 18.141h6.35v6.35h-6.35z"/></svg>
|
Before Width: | Height: | Size: 505 B After Width: | Height: | Size: 462 B |
Before Width: | Height: | Size: 7.1 KiB |
BIN
docs/assets/img/android/gfeeds-dark.png
Normal file
After Width: | Height: | Size: 141 KiB |
BIN
docs/assets/img/android/gfeeds-light.png
Normal file
After Width: | Height: | Size: 145 KiB |
BIN
docs/assets/img/android/google-pixel.png
Normal file
After Width: | Height: | Size: 23 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0 -263.13)"><g transform="matrix(.072143 0 0 .072143 -44.234 303.31)"><g transform="matrix(.17755 0 0 .17755 641.74 -556.97)" clip-rule="evenodd" fill="#fff" fill-rule="evenodd" image-rendering="optimizeQuality" shape-rendering="geometricPrecision"><path class="fil0" d="m605 798 381-217c-7-21-12-43-12-67 0-92 67-168 155-184v-330h64v330c88 16 155 92 155 184 0 24-5 46-13 67l382 217c14-16 31-30 50-42 80-46 180-26 237 42l286-165 32 56-286 165c31 84-2 180-82 226-18 10-36 17-55 21v442c19 4 37 11 55 21 80 46 113 142 82 226l286 165-32 56-286-165c-57 68-157 88-237 42-19-12-36-26-50-42-127 72-254 145-382 217 8 21 13 43 13 67 0 92-67 168-155 184v330h-64v-330c-88-16-155-92-155-184 0-24 5-46 12-67l-381-217c-14 16-31 30-50 42-80 46-180 26-237-42l-286 165-32-56 286-165c-31-84 2-180 82-226 18-10 36-17 55-21v-442c-19-4-37-11-55-21-80-46-113-142-82-226l-286-165 32-56 286 165c57-68 157-88 237-42 19 12 36 26 50 42zm1080 992c-18-50-15-108 14-157 30-52 81-84 136-92v-438c-55-8-106-40-136-92-29-49-32-107-14-157l-382-218c-35 40-85 65-142 65s-107-25-142-65l-382 218c18 50 15 108-14 157-30 52-81 84-136 92v438c55 8 106 40 136 92 29 49 32 107 14 157l382 218c35-40 85-65 142-65s107 25 142 65z" fill="#fff"/></g></g></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><g><g><g fill="#fff" fill-rule="evenodd" clip-rule="evenodd" image-rendering="optimizeQuality" shape-rendering="geometricPrecision"><path fill="#fff" d="m605 798 381-217c-7-21-12-43-12-67 0-92 67-168 155-184v-330h64v330c88 16 155 92 155 184 0 24-5 46-13 67l382 217c14-16 31-30 50-42 80-46 180-26 237 42l286-165 32 56-286 165c31 84-2 180-82 226-18 10-36 17-55 21v442c19 4 37 11 55 21 80 46 113 142 82 226l286 165-32 56-286-165c-57 68-157 88-237 42-19-12-36-26-50-42-127 72-254 145-382 217 8 21 13 43 13 67 0 92-67 168-155 184v330h-64v-330c-88-16-155-92-155-184 0-24 5-46 12-67l-381-217c-14 16-31 30-50 42-80 46-180 26-237-42l-286 165-32-56 286-165c-31-84 2-180 82-226 18-10 36-17 55-21v-442c-19-4-37-11-55-21-80-46-113-142-82-226l-286-165 32-56 286 165c57-68 157-88 237-42 19 12 36 26 50 42zm1080 992c-18-50-15-108 14-157 30-52 81-84 136-92v-438c-55-8-106-40-136-92-29-49-32-107-14-157l-382-218c-35 40-85 65-142 65s-107-25-142-65l-382 218c18 50 15 108-14 157-30 52-81 84-136 92v438c55 8 106 40 136 92 29 49 32 107 14 157l382 218c35-40 85-65 142-65s107 25 142 65z" class="fil0" transform="translate(0 -263.13) matrix(.072143 0 0 .072143 -44.234 303.31) matrix(.17755 0 0 .17755 641.74 -556.97)"/></g></g></g></svg>
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0 -263.13)"><g transform="matrix(.072143 0 0 .072143 -44.234 303.31)"><g transform="matrix(.17755 0 0 .17755 641.74 -556.97)" clip-rule="evenodd" fill="#1b1b1b" fill-rule="evenodd" image-rendering="optimizeQuality" shape-rendering="geometricPrecision"><path class="fil0" d="m605 798 381-217c-7-21-12-43-12-67 0-92 67-168 155-184v-330h64v330c88 16 155 92 155 184 0 24-5 46-13 67l382 217c14-16 31-30 50-42 80-46 180-26 237 42l286-165 32 56-286 165c31 84-2 180-82 226-18 10-36 17-55 21v442c19 4 37 11 55 21 80 46 113 142 82 226l286 165-32 56-286-165c-57 68-157 88-237 42-19-12-36-26-50-42-127 72-254 145-382 217 8 21 13 43 13 67 0 92-67 168-155 184v330h-64v-330c-88-16-155-92-155-184 0-24 5-46 12-67l-381-217c-14 16-31 30-50 42-80 46-180 26-237-42l-286 165-32-56 286-165c-31-84 2-180 82-226 18-10 36-17 55-21v-442c-19-4-37-11-55-21-80-46-113-142-82-226l-286-165 32-56 286 165c57-68 157-88 237-42 19 12 36 26 50 42zm1080 992c-18-50-15-108 14-157 30-52 81-84 136-92v-438c-55-8-106-40-136-92-29-49-32-107-14-157l-382-218c-35 40-85 65-142 65s-107-25-142-65l-382 218c18 50 15 108-14 157-30 52-81 84-136 92v438c55 8 106 40 136 92 29 49 32 107 14 157l382 218c35-40 85-65 142-65s107 25 142 65z" fill="#1b1b1b"/></g></g></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><g><g><g fill="#1b1b1b" fill-rule="evenodd" clip-rule="evenodd" image-rendering="optimizeQuality" shape-rendering="geometricPrecision"><path fill="#1b1b1b" d="m605 798 381-217c-7-21-12-43-12-67 0-92 67-168 155-184v-330h64v330c88 16 155 92 155 184 0 24-5 46-13 67l382 217c14-16 31-30 50-42 80-46 180-26 237 42l286-165 32 56-286 165c31 84-2 180-82 226-18 10-36 17-55 21v442c19 4 37 11 55 21 80 46 113 142 82 226l286 165-32 56-286-165c-57 68-157 88-237 42-19-12-36-26-50-42-127 72-254 145-382 217 8 21 13 43 13 67 0 92-67 168-155 184v330h-64v-330c-88-16-155-92-155-184 0-24 5-46 12-67l-381-217c-14 16-31 30-50 42-80 46-180 26-237-42l-286 165-32-56 286-165c-31-84 2-180 82-226 18-10 36-17 55-21v-442c-19-4-37-11-55-21-80-46-113-142-82-226l-286-165 32-56 286 165c57-68 157-88 237-42 19 12 36 26 50 42zm1080 992c-18-50-15-108 14-157 30-52 81-84 136-92v-438c-55-8-106-40-136-92-29-49-32-107-14-157l-382-218c-35 40-85 65-142 65s-107-25-142-65l-382 218c18 50 15 108-14 157-30 52-81 84-136 92v438c55 8 106 40 136 92 29 49 32 107 14 157l382 218c35-40 85-65 142-65s107 25 142 65z" class="fil0" transform="translate(0 -263.13) matrix(.072143 0 0 .072143 -44.234 303.31) matrix(.17755 0 0 .17755 641.74 -556.97)"/></g></g></g></svg>
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
1
docs/assets/img/android/mini/shelter.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="1571" height="1934" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M785 61C450.378 61 60 580.17 60 1080.813 60 1581.455 384.605 1874 785 1874s725-292.545 725-793.188C1510 580.17 1119.6 61 785 61Z" fill="#EFBC48" fill-rule="nonzero"/><path d="m1569.359 1030.758-119.241 117.898L1268.933 907l-181.185 241.656-120.84-120.817-120.839 120.817-120.86-181.151-120.84 126.87-120.968-66.536-60.43 60.398-60.43-181.152-241.68 181.152-118.985-61.954S0 1067.607 0 1088.237C0 1622.079 351.712 1934 785.51 1934c433.8 0 785.49-311.921 785.49-845.763a1064.319 1064.319 0 0 0-1.641-57.479Z" fill="#E2CDB3"/><path d="M785.41 0C550.47 0 290.16 232.145 136 540.856l45.07 62.85 181.214-181.03 60.44 181.03 60.44-60.38 120.86 60.38 120.86-120.737 60.44 120.737 120.86-60.38 120.86 60.38 120.88-120.737L1329.14 664 1440 551.676C1286.756 237.704 1023.1 0 785.41 0Z" fill="#FCF1E3" fill-rule="nonzero"/><ellipse fill="#1F190A" fill-rule="nonzero" cx="543.5" cy="814.5" rx="60.5" ry="90.5"/><ellipse fill="#1F190A" fill-rule="nonzero" cx="1026.5" cy="814.5" rx="60.5" ry="90.5"/><path d="M1008 732.064c-1.36.012-2.718.111-4.065.296-10.374 6.16-19.33 16.514-25.935 29.64 0 16.569 13.431 30 30 30 16.569 0 30-13.431 30-30 0-16.569-13.431-30-30-30v.064ZM525 732.064c-1.36.012-2.718.111-4.065.296-10.374 6.16-19.35 16.514-25.935 29.64 0 16.569 13.431 30 30 30 16.569 0 30-13.431 30-30 0-16.569-13.431-30-30-30v.064Z" fill="#F9F8F4" fill-rule="nonzero"/><path d="M787.41 62C552.47 62 292.16 273.92 138 555.564l45.07 57.347 181.214-165.288 60.44 165.288 60.44-55.089 120.86 55.089 120.86-110.178 60.44 110.178 120.86-55.089 120.86 55.089 120.88-110.178L1331.14 668 1442 565.512C1288.756 278.926 1025.1 62 787.41 62Z" fill="#F8E4C3" fill-rule="nonzero"/><path d="m1569.401 1023.424-119.24 110.885L1268.975 907l-181.185 227.31-120.84-113.655-120.84 113.654-120.86-170.397-120.84 119.278-120.967-62.493-60.43 56.827-60.431-170.396-241.68 170.396-119.027-58.36S0 1058.035 0 1077.439C0 1579.577 351.712 1873 785.51 1873c433.8 0 785.49-293.423 785.49-795.56 0-17.935-.533-35.94-1.599-54.016Z" fill="#F9E4C4" fill-rule="nonzero"/></g></svg>
|
After Width: | Height: | Size: 2.1 KiB |
BIN
docs/assets/img/android/neo-store.png
Normal file
After Width: | Height: | Size: 12 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g stroke-width=".034914"><circle id="main-circle-drop-shadow" cx="17.283" cy="17.283" r="16.584" fill-opacity=".1"/><circle id="main-circle" cx="16.584" cy="16.584" r="16.584" fill="#4f3663"/><path id="onion-drop-shadow" d="m32.732 20.111c0.11871-0.57958 0.20599-1.1766 0.26186-1.7911l-13.711-13.711-1.0893 1.0474-2.3986-2.3986-1.1626 2.856 1.7946 1.7946-7.5764 20.481 4.4446 4.4446c0.75066 0.14315 1.5048 0.23392 2.2764 0.27582 0.014 4e-3 0.0279 4e-3 0.0419 4e-3h0.014c0.29677 0.0175 0.57958 0.0244 0.8554 0.0244q0.0524 0 0.10474 0c0.35962 0 0.71575-0.0105 1.0509-0.0279 0.0873-3e-3 0.16759-0.0105 0.2444-0.014 0.70527-0.0489 1.3931-0.13966 2.0495-0.26884 0.27931-0.0524 0.55164-0.11522 0.81699-0.17806 2.8211-0.70877 5.314-2.1507 7.4961-4.3329 0.21298-0.21298 0.41898-0.42596 0.61101-0.63894 1.3931-1.5292 2.437-3.1982 3.1388-5.0102 0.31773-0.817 0.56562-1.6654 0.74368-2.5488z" fill-opacity=".2"/></g><g id="onion" transform="matrix(.034914 0 0 .034914 -1.2918 -1.2918)"><path id="first-layer" d="m433.1 252.1v13.4c-1.7 42.1-20 72.8-54.8 92.2-3 1.5-6.1 3-9.1 4.7-26.7 14.2-51.7 32.9-74.8 56-60.1 60.2-90.2 132.8-90.2 217.8 0 85.1 30.1 157.7 90.2 217.8 60.2 60.2 132.8 90.2 217.8 90.2h4.1v-678.4c-28.7-2.2-56.4-7.8-83.1-13.6z" fill="#fdfcdf"/><circle id="second-layer" cx="512" cy="645" r="235" fill="#eaeace"/><circle id="third-layer" cx="512" cy="648" r="162" fill="#d1d1b8"/><circle id="fourth-layer" cx="512" cy="650" r="94" fill="#bfbfa9"/><path id="half" d="m820.1 636.1q0-127.6-90.2-217.8c-23.8-23.8-49.7-43-77.8-57.5-38.1-17.6-58.4-50.5-61-98.6-25.7 4.9-50.6 5.4-74.9 3.6v678.5c83.5-1 154.6-31.1 213.7-90.2 60.2-60.1 90.2-132.7 90.2-217.8z" fill="#735a93"/><path id="leafs" d="m443.4 84.4c-0.3 1.3-0.7 2.6-0.9 3.7q-31 121.9 65.2 161.7c18.8-62.2-0.9-116-59.3-161.7-1.4-1.1-3.1-2.4-4.8-3.7zm81 165.4c-5.4-40.8 16.3-67.9 64.9-80.8-5.3 44.9-26.9 71.8-64.9 80.8" fill="#78af52"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><g stroke-width=".035"><circle id="main-circle-drop-shadow" cx="17.283" cy="17.283" r="16.584" fill-opacity=".1"/><circle id="main-circle" cx="16.584" cy="16.584" r="16.584" fill="#4f3663"/><path id="onion-drop-shadow" fill-opacity=".2" d="m32.732 20.111c0.11871-0.57958 0.20599-1.1766 0.26186-1.7911l-13.711-13.711-1.0893 1.0474-2.3986-2.3986-1.1626 2.856 1.7946 1.7946-7.5764 20.481 4.4446 4.4446c0.75066 0.14315 1.5048 0.23392 2.2764 0.27582 0.014 4e-3 0.0279 4e-3 0.0419 4e-3h0.014c0.29677 0.0175 0.57958 0.0244 0.8554 0.0244q0.0524 0 0.10474 0c0.35962 0 0.71575-0.0105 1.0509-0.0279 0.0873-3e-3 0.16759-0.0105 0.2444-0.014 0.70527-0.0489 1.3931-0.13966 2.0495-0.26884 0.27931-0.0524 0.55164-0.11522 0.81699-0.17806 2.8211-0.70877 5.314-2.1507 7.4961-4.3329 0.21298-0.21298 0.41898-0.42596 0.61101-0.63894 1.3931-1.5292 2.437-3.1982 3.1388-5.0102 0.31773-0.817 0.56562-1.6654 0.74368-2.5488z"/></g><g id="onion" transform="matrix(.034914 0 0 .034914 -1.2918 -1.2918)"><path id="first-layer" fill="#fdfcdf" d="m433.1 252.1v13.4c-1.7 42.1-20 72.8-54.8 92.2-3 1.5-6.1 3-9.1 4.7-26.7 14.2-51.7 32.9-74.8 56-60.1 60.2-90.2 132.8-90.2 217.8 0 85.1 30.1 157.7 90.2 217.8 60.2 60.2 132.8 90.2 217.8 90.2h4.1v-678.4c-28.7-2.2-56.4-7.8-83.1-13.6z"/><circle id="second-layer" cx="512" cy="645" r="235" fill="#eaeace"/><circle id="third-layer" cx="512" cy="648" r="162" fill="#d1d1b8"/><circle id="fourth-layer" cx="512" cy="650" r="94" fill="#bfbfa9"/><path id="half" fill="#735a93" d="m820.1 636.1q0-127.6-90.2-217.8c-23.8-23.8-49.7-43-77.8-57.5-38.1-17.6-58.4-50.5-61-98.6-25.7 4.9-50.6 5.4-74.9 3.6v678.5c83.5-1 154.6-31.1 213.7-90.2 60.2-60.1 90.2-132.7 90.2-217.8z"/><path id="leafs" fill="#78af52" d="m443.4 84.4c-0.3 1.3-0.7 2.6-0.9 3.7q-31 121.9 65.2 161.7c18.8-62.2-0.9-116-59.3-161.7-1.4-1.1-3.1-2.4-4.8-3.7zm81 165.4c-5.4-40.8 16.3-67.9 64.9-80.8-5.3 44.9-26.9 71.8-64.9 80.8"/></g></svg>
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><defs><mask id="mask-2" fill="#ffffff"><circle cx="384" cy="384" r="384"/></mask></defs><g id="Group" transform="scale(.044097)" fill-rule="evenodd" mask="url(#mask-2)"><rect id="Rectangle" width="192" height="192" fill="#0d2e46"/><rect x="192" width="192" height="192" fill="#415a6e"/><rect x="384" width="192" height="192" fill="#597961"/><rect x="576" width="192" height="192" fill="#6d4048"/><rect x="576" y="192" width="192" height="192" fill="#e08f88"/><rect x="384" y="192" width="192" height="192" fill="#e3b59c"/><rect x="192" y="192" width="192" height="192" fill="#8ba281"/><rect y="192" width="192" height="192" fill="#6378ab"/><rect y="384" width="192" height="192" fill="#7d5a49"/><rect x="192" y="384" width="192" height="192" fill="#b48268"/><rect x="384" y="384" width="192" height="192" fill="#8f595b"/><rect x="576" y="384" width="192" height="192" fill="#ebe0d3"/><rect x="576" y="576" width="192" height="192" fill="#5f495d"/><rect x="384" y="576" width="192" height="192" fill="#b1a0b8"/><rect x="192" y="576" width="192" height="192" fill="#fbeee9"/><rect y="576" width="192" height="192" fill="#c08679"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><defs><mask id="mask-2" fill="#fff"><circle cx="384" cy="384" r="384"/></mask></defs><g id="Group" fill-rule="evenodd" mask="url(#mask-2)" transform="scale(.044097)"><rect id="Rectangle" width="192" height="192" fill="#0d2e46"/><rect width="192" height="192" x="192" fill="#415a6e"/><rect width="192" height="192" x="384" fill="#597961"/><rect width="192" height="192" x="576" fill="#6d4048"/><rect width="192" height="192" x="576" y="192" fill="#e08f88"/><rect width="192" height="192" x="384" y="192" fill="#e3b59c"/><rect width="192" height="192" x="192" y="192" fill="#8ba281"/><rect width="192" height="192" y="192" fill="#6378ab"/><rect width="192" height="192" y="384" fill="#7d5a49"/><rect width="192" height="192" x="192" y="384" fill="#b48268"/><rect width="192" height="192" x="384" y="384" fill="#8f595b"/><rect width="192" height="192" x="576" y="384" fill="#ebe0d3"/><rect width="192" height="192" x="576" y="576" fill="#5f495d"/><rect width="192" height="192" x="384" y="576" fill="#b1a0b8"/><rect width="192" height="192" x="192" y="576" fill="#fbeee9"/><rect width="192" height="192" y="576" fill="#c08679"/></g></svg>
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.2 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g stroke-width="1.4111"><path d="m0-1.13e-6h33.867v33.867h-33.867z" fill="none"/><circle cx="16.933" cy="16.933" r="4.2333"/><path d="m28.222 5.6444h-4.4732l-1.7498-1.905c-0.52213-0.57856-1.2841-0.91722-2.0743-0.91722h-5.9831c-0.79022 0-1.5522 0.33867-2.0884 0.91722l-1.7357 1.905h-4.4732c-1.5522 0-2.8222 1.27-2.8222 2.8222v16.933c0 1.5522 1.27 2.8222 2.8222 2.8222h22.578c1.5522 0 2.8222-1.27 2.8222-2.8222v-16.933c0-1.5522-1.27-2.8222-2.8222-2.8222zm-11.289 18.344c-3.8947 0-7.0556-3.1609-7.0556-7.0556s3.1609-7.0556 7.0556-7.0556c3.8947 0 7.0556 3.1609 7.0556 7.0556s-3.1609 7.0556-7.0556 7.0556z"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><g stroke-width="1.411"><path fill="none" d="m0-1.13e-6h33.867v33.867h-33.867z"/><circle cx="16.933" cy="16.933" r="4.233"/><path d="m28.222 5.6444h-4.4732l-1.7498-1.905c-0.52213-0.57856-1.2841-0.91722-2.0743-0.91722h-5.9831c-0.79022 0-1.5522 0.33867-2.0884 0.91722l-1.7357 1.905h-4.4732c-1.5522 0-2.8222 1.27-2.8222 2.8222v16.933c0 1.5522 1.27 2.8222 2.8222 2.8222h22.578c1.5522 0 2.8222-1.27 2.8222-2.8222v-16.933c0-1.5522-1.27-2.8222-2.8222-2.8222zm-11.289 18.344c-3.8947 0-7.0556-3.1609-7.0556-7.0556s3.1609-7.0556 7.0556-7.0556c3.8947 0 7.0556 3.1609 7.0556 7.0556s-3.1609 7.0556-7.0556 7.0556z"/></g></svg>
|
Before Width: | Height: | Size: 761 B After Width: | Height: | Size: 719 B |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg fill="#ffffff" version="1.1" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg"><path d="m52 52h24v24h-24z" fill="none"/><path d="m112 0h-96c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16zm-68 60c0 6.64-5.36 12-12 12h-8v10c0 3.28-2.72 6-6 6s-6-2.72-6-6v-34c0-4.4 3.6-8 8-8h12c6.64 0 12 5.36 12 12zm40 16c0 6.64-5.36 12-12 12h-16c-2.24 0-4-1.76-4-4v-40c0-2.24 1.76-4 4-4h16c6.64 0 12 5.36 12 12zm32-30c0 3.28-2.72 6-6 6h-6v8h6c3.28 0 6 2.72 6 6s-2.72 6-6 6h-6v10c0 3.28-2.72 6-6 6s-6-2.72-6-6v-34c0-4.4 3.6-8 8-8h10c3.28 0 6 2.72 6 6zm-92 14h8v-8h-8zm40 16h8v-24h-8z" stroke-width="8"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" version="1.1" viewBox="0 0 128 128"><path fill="none" d="m52 52h24v24h-24z"/><path stroke-width="8" d="m112 0h-96c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16zm-68 60c0 6.64-5.36 12-12 12h-8v10c0 3.28-2.72 6-6 6s-6-2.72-6-6v-34c0-4.4 3.6-8 8-8h12c6.64 0 12 5.36 12 12zm40 16c0 6.64-5.36 12-12 12h-16c-2.24 0-4-1.76-4-4v-40c0-2.24 1.76-4 4-4h16c6.64 0 12 5.36 12 12zm32-30c0 3.28-2.72 6-6 6h-6v8h6c3.28 0 6 2.72 6 6s-2.72 6-6 6h-6v10c0 3.28-2.72 6-6 6s-6-2.72-6-6v-34c0-4.4 3.6-8 8-8h10c3.28 0 6 2.72 6 6zm-92 14h8v-8h-8zm40 16h8v-24h-8z"/></svg>
|
Before Width: | Height: | Size: 682 B After Width: | Height: | Size: 639 B |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><path d="m29.633 8.2833e-7h-25.4c-2.3283 0-4.2333 1.905-4.2333 4.2333v25.4c0 2.3283 1.905 4.2333 4.2333 4.2333h25.4c2.3283 0 4.2333-1.905 4.2333-4.2333v-25.4c0-2.3283-1.905-4.2333-4.2333-4.2333zm-17.992 15.875c0 1.7568-1.4182 3.175-3.175 3.175h-2.1167v2.6458c0 0.86783-0.71967 1.5875-1.5875 1.5875s-1.5875-0.71967-1.5875-1.5875v-8.9958c0-1.1642 0.9525-2.1167 2.1167-2.1167h3.175c1.7568 0 3.175 1.4182 3.175 3.175zm10.583 4.2333c0 1.7568-1.4182 3.175-3.175 3.175h-4.2333c-0.59267 0-1.0583-0.46567-1.0583-1.0583v-10.583c0-0.59267 0.46567-1.0583 1.0583-1.0583h4.2333c1.7568 0 3.175 1.4182 3.175 3.175zm8.4667-7.9375c0 0.86783-0.71967 1.5875-1.5875 1.5875h-1.5875v2.1167h1.5875c0.86784 0 1.5875 0.71967 1.5875 1.5875s-0.71967 1.5875-1.5875 1.5875h-1.5875v2.6458c0 0.86783-0.71967 1.5875-1.5875 1.5875-0.86783 0-1.5875-0.71967-1.5875-1.5875v-8.9958c0-1.1642 0.9525-2.1167 2.1167-2.1167h2.6458c0.86784 0 1.5875 0.71967 1.5875 1.5875zm-24.342 3.7042h2.1167v-2.1167h-2.1167zm10.583 4.2333h2.1167v-6.35h-2.1167z" stroke-width="2.1167"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><path stroke-width="2.117" d="m29.633 8.2833e-7h-25.4c-2.3283 0-4.2333 1.905-4.2333 4.2333v25.4c0 2.3283 1.905 4.2333 4.2333 4.2333h25.4c2.3283 0 4.2333-1.905 4.2333-4.2333v-25.4c0-2.3283-1.905-4.2333-4.2333-4.2333zm-17.992 15.875c0 1.7568-1.4182 3.175-3.175 3.175h-2.1167v2.6458c0 0.86783-0.71967 1.5875-1.5875 1.5875s-1.5875-0.71967-1.5875-1.5875v-8.9958c0-1.1642 0.9525-2.1167 2.1167-2.1167h3.175c1.7568 0 3.175 1.4182 3.175 3.175zm10.583 4.2333c0 1.7568-1.4182 3.175-3.175 3.175h-4.2333c-0.59267 0-1.0583-0.46567-1.0583-1.0583v-10.583c0-0.59267 0.46567-1.0583 1.0583-1.0583h4.2333c1.7568 0 3.175 1.4182 3.175 3.175zm8.4667-7.9375c0 0.86783-0.71967 1.5875-1.5875 1.5875h-1.5875v2.1167h1.5875c0.86784 0 1.5875 0.71967 1.5875 1.5875s-0.71967 1.5875-1.5875 1.5875h-1.5875v2.6458c0 0.86783-0.71967 1.5875-1.5875 1.5875-0.86783 0-1.5875-0.71967-1.5875-1.5875v-8.9958c0-1.1642 0.9525-2.1167 2.1167-2.1167h2.6458c0.86784 0 1.5875 0.71967 1.5875 1.5875zm-24.342 3.7042h2.1167v-2.1167h-2.1167zm10.583 4.2333h2.1167v-6.35h-2.1167z"/></svg>
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 2.7 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.33952 0 0 .33952 .19935 -2.3417e-7)" fill="none"><path d="m49.287 0c-15.406 0-33.988 3.5766-49.287 11.449 0 17.002-0.21115 59.36 49.287 88.301 49.499-28.941 49.289-71.299 49.289-88.301-15.299-7.8723-33.882-11.449-49.289-11.449z" fill="#68bc71"/><path d="m49.236 99.721c-49.447-28.941-49.236-71.275-49.236-88.272 15.282-7.8638 33.841-11.441 49.236-11.449z" fill="#67b279"/><path d="m47.489 66.556 29.805-39.658c-2.184-1.7283-4.0997-0.50849-5.1543 0.43585l-0.03848 3e-3 -24.851 25.522-9.3632-11.124c-4.4668-5.095-10.539-1.2087-11.958-0.1816l21.56 25.003" fill="#fff"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33.867 33.867"><g fill="none"><path fill="#68bc71" d="M16.933 0C11.703 0 5.393 1.214.2 3.887c0 5.773-.071 20.154 16.734 29.98C33.74 24.041 33.668 9.66 33.668 3.887 28.474 1.214 22.164 0 16.933 0z"/><path fill="#67b279" d="M16.916 33.857C.128 24.031.199 9.658.199 3.887 5.388 1.217 11.69.003 16.916 0z"/><path fill="#fff" d="m16.323 22.597 10.12-13.465c-.742-.586-1.393-.172-1.75.148l-.014.001-8.437 8.666-3.18-3.777c-1.516-1.73-3.577-.41-4.06-.062l7.32 8.49"/></g></svg>
|
Before Width: | Height: | Size: 745 B After Width: | Height: | Size: 523 B |
2
docs/assets/img/browsers/brave.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg version="1.1" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="a" x2="235.8" y1="119.6" y2="119.6" gradientTransform="scale(.9229 1.084)" gradientUnits="userSpaceOnUse"><stop stop-color="#F50" offset="0"/><stop stop-color="#F50" offset=".4099"/><stop stop-color="#FF2000" offset=".582"/><stop stop-color="#FF2000" offset="1"/></linearGradient><linearGradient id="c" x1="11.3" x2="100.5" y1="46.23" y2="46.23" gradientTransform="scale(1.981 .5049)" gradientUnits="userSpaceOnUse"><stop stop-color="#FF452A" offset="0"/><stop stop-color="#FF2000" offset="1"/></linearGradient><path id="b" d="m170.3 25.34-22.3-25.34h-78.34l-22.3 25.34s-19.58-5.447-28.83 3.813c0 0 26.11-2.36 35.09 12.26 0 0 24.21 4.63 27.47 4.63s10.34-2.724 16.86-4.902c6.528-2.179 10.88-2.195 10.88-2.195s4.352 0.016 10.88 2.195c6.528 2.178 13.6 4.902 16.86 4.902s27.47-4.63 27.47-4.63c8.976-14.62 35.09-12.26 35.09-12.26-9.248-9.26-28.83-3.813-28.83-3.813"/></defs><g transform="matrix(.50101 0 0 .50101 9.4745 .0060121)" fill-rule="evenodd"><path d="m210 61.28 5.984-14.71s-7.616-8.17-16.86-17.43c-9.248-9.259-28.83-3.812-28.83-3.812l-22.3-25.34h-78.34l-22.3 25.34s-19.58-5.447-28.83 3.813-16.86 17.43-16.86 17.43l5.984 14.71-7.616 21.79s22.4 84.95 25.02 95.32c5.168 20.42 8.704 28.32 23.39 38.67s41.34 28.32 45.7 31.05c4.352 2.724 9.792 7.363 14.69 7.363s10.34-4.64 14.69-7.363 31.01-20.7 45.7-31.05 18.22-18.25 23.39-38.67c2.624-10.37 25.02-95.32 25.02-95.32z" fill="url(#a)"/><path d="m164 41.4s28.69 34.72 28.69 42.14c0 7.421-3.608 9.38-7.237 13.24l-21.51 22.87c-2.036 2.164-6.273 5.445-3.78 11.35 2.492 5.905 6.168 13.42 2.08 21.04-4.089 7.62-11.09 12.71-15.58 11.87-4.489-0.842-15.03-6.357-18.9-8.876-3.876-2.52-16.16-12.66-16.16-16.54s12.7-10.85 15.04-12.43c2.347-1.583 13.05-7.712 13.27-10.12 0.219-2.406 0.136-3.111-3.022-9.055s-8.845-13.88-7.898-19.15c0.946-5.277 10.12-8.02 16.66-10.5 6.545-2.474 19.15-7.148 20.72-7.875 1.575-0.727 1.168-1.42-3.601-1.872-4.768-0.452-18.3-2.251-24.4-0.548-6.1 1.702-16.52 4.293-17.37 5.667-0.844 1.373-1.589 1.42-0.722 6.158 0.867 4.739 5.33 27.48 5.764 31.52 0.433 4.039 1.28 6.709-3.068 7.705-4.35 0.995-11.67 2.724-14.19 2.724s-9.838-1.729-14.19-2.724c-4.35-0.996-3.503-3.666-3.07-7.705 0.434-4.039 4.898-26.78 5.765-31.52s0.122-4.785-0.722-6.158c-0.844-1.374-11.27-3.965-17.37-5.667-6.1-1.703-19.63 0.096-24.4 0.548-4.769 0.453-5.176 1.145-3.602 1.872 1.575 0.727 14.18 5.4 20.72 7.875 6.546 2.475 15.72 5.22 16.66 10.5 0.946 5.278-4.741 13.21-7.899 19.15-3.158 5.944-3.241 6.65-3.022 9.055s10.92 8.534 13.27 10.12 15.04 8.552 15.04 12.43c0 3.882-12.28 14.03-16.16 16.54-3.876 2.52-14.42 8.034-18.9 8.876-4.488 0.84-11.49-4.246-15.58-11.87-4.089-7.621-0.412-15.14 2.08-21.04 2.491-5.905-1.745-9.186-3.78-11.35l-21.51-22.87c-3.629-3.858-7.237-5.817-7.237-13.24 0-7.422 28.69-42.14 28.69-42.14s24.21 4.63 27.47 4.63 10.34-2.724 16.86-4.902c6.528-2.179 10.88-2.195 10.88-2.195s4.352 0.016 10.88 2.195c6.528 2.178 13.6 4.902 16.86 4.902s27.47-4.63 27.47-4.63zm-21.51 132.8c1.775 1.113 0.692 3.212-0.925 4.357-1.618 1.145-23.36 18-25.47 19.86-2.11 1.864-5.21 4.94-7.318 4.94s-5.209-3.076-7.318-4.94c-2.11-1.863-23.85-18.72-25.47-19.86s-2.7-3.244-0.925-4.357c1.777-1.113 7.333-3.922 15-7.894 7.665-3.972 17.22-7.349 18.71-7.349s11.04 3.377 18.71 7.349 13.22 6.781 15 7.894z" fill="#fff"/><use width="100%" height="100%" fill="url(#c)" xlink:href="#b"/></g></svg>
|
After Width: | Height: | Size: 3.4 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="translate(-48.938 -197.1)"><rect x="48.938" y="197.1" width="33.867" height="33.867" fill="#fff" style="paint-order:fill markers stroke"/><g transform="translate(.026243)" fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2" stroke-width="1.5875"><path d="m61.729 210.99v12.346" style="paint-order:fill markers stroke"/><path d="m69.96 210.99v12.346" style="paint-order:fill markers stroke"/></g><g stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2" stroke-width="1.5875"><path d="m50.79 205.62h30.162" fill="#fff" fill-rule="evenodd" style="paint-order:fill markers stroke"/><path d="m77.53 205.88v22.187a2.1167 2.1167 135 0 1-2.1167 2.1167h-19.086a2.1167 2.1167 45 0 1-2.1167-2.1167v-22.187" fill="none" style="paint-order:fill markers stroke"/><path d="m60.89 205.37v-5.4277a2.0677 2.0677 0 0 1 2.0677-2.0677h5.8255a2.0677 2.0677 0 0 1 2.0677 2.0677v5.4277" fill="none" style="paint-order:fill markers stroke"/></g></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><g transform="translate(-48.938 -197.1)"><rect width="33.867" height="33.867" x="48.938" y="197.1" fill="#fff" style="paint-order:fill markers stroke"/><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2" stroke-width="1.587"><path d="m61.729 210.99v12.346" transform="translate(.026243)" style="paint-order:fill markers stroke"/><path d="m69.96 210.99v12.346" transform="translate(.026243)" style="paint-order:fill markers stroke"/></g><g stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="2" stroke-width="1.587"><path fill="#fff" fill-rule="evenodd" d="m50.79 205.62h30.162" style="paint-order:fill markers stroke"/><path fill="none" d="m77.53 205.88v22.187a2.1167 2.1167 135 0 1-2.1167 2.1167h-19.086a2.1167 2.1167 45 0 1-2.1167-2.1167v-22.187" style="paint-order:fill markers stroke"/><path fill="none" d="m60.89 205.37v-5.4277a2.0677 2.0677 0 0 1 2.0677-2.0677h5.8255a2.0677 2.0677 0 0 1 2.0677 2.0677v5.4277" style="paint-order:fill markers stroke"/></g></g></svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
8
docs/assets/img/browsers/snowflake-dark.svg
Normal file
After Width: | Height: | Size: 7.8 KiB |
6
docs/assets/img/browsers/snowflake.svg
Normal file
After Width: | Height: | Size: 7.8 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.866 33.866" xmlns="http://www.w3.org/2000/svg"><path d="m3.2563 0.90164h27.353c1.804 0 3.2563 1.4523 3.2563 3.2563v1.001e-4c0 1.804-1.4523 3.2563-3.2563 3.2563h-27.353c-1.804 0-3.2563-1.4523-3.2563-3.2563v-1.001e-4c0-1.804 1.4523-3.2563 3.2563-3.2563z" fill="#46a546" stroke-width=".27458"/><path d="m3.2563 9.4185h23.546c1.804 0 3.2563 1.4523 3.2563 3.2563v1e-4c0 1.804-1.4523 3.2563-3.2563 3.2563h-23.546c-1.804 0-3.2563-1.4523-3.2563-3.2563v-1e-4c0-1.804 1.4523-3.2563 3.2563-3.2563z" fill="#f89406" stroke-width=".25869"/><path d="m3.2563 17.935h25.95c1.804 0 3.2563 1.4523 3.2563 3.2563v1.01e-4c0 1.804-1.4523 3.2563-3.2563 3.2563h-25.95c-1.804 0-3.2563-1.4523-3.2563-3.2563v-1.01e-4c0-1.804 1.4523-3.2563 3.2563-3.2563z" fill="#c43c35" stroke-width=".26884"/><path d="m3.2563 26.452h13.726c1.804 0 3.2563 1.4523 3.2563 3.2563v1e-4c0 1.804-1.4523 3.2563-3.2563 3.2563h-13.726c-1.804 0-3.2563-1.4523-3.2563-3.2563v-1e-4c0-1.804 1.4523-3.2563 3.2563-3.2563z" fill="#999" stroke-width=".21227"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.866 33.866"><path fill="#46a546" stroke-width=".275" d="m3.2563 0.90164h27.353c1.804 0 3.2563 1.4523 3.2563 3.2563v1.001e-4c0 1.804-1.4523 3.2563-3.2563 3.2563h-27.353c-1.804 0-3.2563-1.4523-3.2563-3.2563v-1.001e-4c0-1.804 1.4523-3.2563 3.2563-3.2563z"/><path fill="#f89406" stroke-width=".259" d="m3.2563 9.4185h23.546c1.804 0 3.2563 1.4523 3.2563 3.2563v1e-4c0 1.804-1.4523 3.2563-3.2563 3.2563h-23.546c-1.804 0-3.2563-1.4523-3.2563-3.2563v-1e-4c0-1.804 1.4523-3.2563 3.2563-3.2563z"/><path fill="#c43c35" stroke-width=".269" d="m3.2563 17.935h25.95c1.804 0 3.2563 1.4523 3.2563 3.2563v1.01e-4c0 1.804-1.4523 3.2563-3.2563 3.2563h-25.95c-1.804 0-3.2563-1.4523-3.2563-3.2563v-1.01e-4c0-1.804 1.4523-3.2563 3.2563-3.2563z"/><path fill="#999" stroke-width=".212" d="m3.2563 26.452h13.726c1.804 0 3.2563 1.4523 3.2563 3.2563v1e-4c0 1.804-1.4523 3.2563-3.2563 3.2563h-13.726c-1.804 0-3.2563-1.4523-3.2563-3.2563v-1e-4c0-1.804 1.4523-3.2563 3.2563-3.2563z"/></svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.0 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg version="1.1" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="linearGradient-1" x1=".5" x2=".5" y1="1"><stop stop-color="#420C5D" offset="0"/><stop stop-color="#951AD1" offset="1"/></linearGradient><path id="path-2" d="m25 29c127.58 0 231 102.97 231 230s-103.42 230-231 230z"/><filter id="filter-3" x="-.182" y="-.074" width="1.294" height="1.148"><feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur in="shadowOffsetOuter1" result="shadowBlurOuter1" stdDeviation="10"/><feColorMatrix in="shadowBlurOuter1" values="0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0.2 0"/></filter><linearGradient id="linearGradient9148" x1="256" x2="256" y1="512" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient-1"/><linearGradient id="linearGradient9150" x1="198.27" x2="198.27" y1="346.53" y2="20.551" gradientTransform="scale(.70864 1.4111)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient-1"/></defs><g id="Assets" transform="matrix(.24957 0 0 .24957 .21762 .22232)" fill="none" fill-rule="evenodd"><g id="Group"><g id="tb_icon/Stable"><g id="Stable"><circle id="background" cx="256" cy="256" r="246" fill="#f2e4ff" fill-rule="nonzero"/><path id="center" d="m256.53 465.44v-31.033c98.301-0.28386 177.9-80.042 177.9-178.41 0-98.365-79.595-178.12-177.9-178.41v-31.033c115.44 0.29096 208.92 93.937 208.92 209.44 0 115.51-93.482 209.16-208.92 209.45zm0-108.62c55.445-0.29095 100.32-45.304 100.32-100.83 0-55.516-44.878-100.53-100.32-100.82v-31.026c72.59 0.28386 131.36 59.192 131.36 131.85 0 72.661-58.766 131.57-131.36 131.85zm0-155.1c29.742 0.28386 53.777 24.462 53.777 54.274 0 29.82-24.036 53.997-53.777 54.281zm-256.53 54.274c0 141.39 114.61 256.01 256 256.01 141.38 0 256-114.62 256-256.01 0-141.38-114.62-255.99-256-255.99-141.39 0-256 114.61-256 255.99z" fill="url(#linearGradient9148)"/><g id="half" transform="matrix(-1,0,0,1,281,0)"><use width="100%" height="100%" fill="#000000" filter="url(#filter-3)" xlink:href="#path-2"/><use width="100%" height="100%" fill="url(#linearGradient9150)" fill-rule="evenodd" xlink:href="#path-2"/></g></g></g></g></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 128 128"><defs><linearGradient id="linearGradient-1" x1=".5" x2=".5" y1="1"><stop offset="0" stop-color="#420C5D"/><stop offset="1" stop-color="#951AD1"/></linearGradient><path id="path-2" d="m25 29c127.58 0 231 102.97 231 230s-103.42 230-231 230z"/><filter id="filter-3" width="1.294" height="1.148" x="-.182" y="-.074"><feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur in="shadowOffsetOuter1" result="shadowBlurOuter1" stdDeviation="10"/><feColorMatrix in="shadowBlurOuter1" values="0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0.2 0"/></filter><linearGradient id="linearGradient9148" x1="256" x2="256" y1="512" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient-1"/><linearGradient id="linearGradient9150" x1="198.27" x2="198.27" y1="346.53" y2="20.551" gradientTransform="scale(.70864 1.4111)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient-1"/></defs><g id="Assets" fill="none" fill-rule="evenodd" transform="matrix(.24957 0 0 .24957 .21762 .22232)"><g id="Group"><g id="tb_icon/Stable"><g id="Stable"><circle id="background" cx="256" cy="256" r="246" fill="#f2e4ff" fill-rule="nonzero"/><path id="center" fill="url(#linearGradient9148)" d="m256.53 465.44v-31.033c98.301-0.28386 177.9-80.042 177.9-178.41 0-98.365-79.595-178.12-177.9-178.41v-31.033c115.44 0.29096 208.92 93.937 208.92 209.44 0 115.51-93.482 209.16-208.92 209.45zm0-108.62c55.445-0.29095 100.32-45.304 100.32-100.83 0-55.516-44.878-100.53-100.32-100.82v-31.026c72.59 0.28386 131.36 59.192 131.36 131.85 0 72.661-58.766 131.57-131.36 131.85zm0-155.1c29.742 0.28386 53.777 24.462 53.777 54.274 0 29.82-24.036 53.997-53.777 54.281zm-256.53 54.274c0 141.39 114.61 256.01 256 256.01 141.38 0 256-114.62 256-256.01 0-141.38-114.62-255.99-256-255.99-141.39 0-256 114.61-256 255.99z"/><g id="half" transform="matrix(-1,0,0,1,281,0)"><use width="100%" height="100%" fill="#000" filter="url(#filter-3)" xlink:href="#path-2"/><use width="100%" height="100%" fill="url(#linearGradient9150)" fill-rule="evenodd" xlink:href="#path-2"/></g></g></g></g></g></svg>
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.866 33.866" xmlns="http://www.w3.org/2000/svg"><g stroke="#fff"><g transform="matrix(-.18246 0 0 .14741 98.646 -64.885)" fill="#800000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6019"><path d="m447.83 669.1c-80.631-57.031-80.631-57.031-80.631-199.61 34.556 0 46.075 0 80.631-28.516m0 228.12c80.631-57.031 80.631-57.031 80.631-199.61-34.556 0-46.075 0-80.631-28.516" fill="#800000" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6019"/></g><circle cx="20.086" cy="15.882" r="4.2035" fill="none" stroke-width="2.1017"/><g transform="matrix(.26319 0 0 .26224 -4.5763 -4.4325)" fill="#fff" stroke-width="2"><path d="m81.725 81.472c0 11.02-4.991 16.029-15.971 16.029s-15.971-5.009-15.971-16.029v-24.043h7.9856v24.043c0 7.0126 0.9982 8.0144 7.9856 8.0144 6.9874 0 7.9856-1.0018 7.9856-8.0144v-24.043h7.9856z" fill="#fff" stroke-width="0"/></g></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.866 33.866"><g stroke="#fff"><g fill="maroon" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.602"><path fill="maroon" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.602" d="m447.83 669.1c-80.631-57.031-80.631-57.031-80.631-199.61 34.556 0 46.075 0 80.631-28.516m0 228.12c80.631-57.031 80.631-57.031 80.631-199.61-34.556 0-46.075 0-80.631-28.516" transform="matrix(-.18246 0 0 .14741 98.646 -64.885)"/></g><circle cx="20.086" cy="15.882" r="4.204" fill="none" stroke-width="2.102"/><g fill="#fff" stroke-width="2"><path fill="#fff" stroke-width="0" d="m81.725 81.472c0 11.02-4.991 16.029-15.971 16.029s-15.971-5.009-15.971-16.029v-24.043h7.9856v24.043c0 7.0126 0.9982 8.0144 7.9856 8.0144 6.9874 0 7.9856-1.0018 7.9856-8.0144v-24.043h7.9856z" transform="matrix(.26319 0 0 .26224 -4.5763 -4.4325)"/></g></g></svg>
|
Before Width: | Height: | Size: 998 B After Width: | Height: | Size: 952 B |
@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="scale(.71111)"><rect x=".06551" y=".06551" width="47.494" height="47.494" style="-inkscape-stroke:none;fill-rule:evenodd;fill:#0277bd;font-variation-settings:normal;stop-color:#000000;stroke-width:.13102;stroke:#0277bd"/><g transform="matrix(.11719 0 0 .11736 26.539 14.264)" style="fill:#fff;stroke:#fff"><circle cx="-22.301" cy="79.286" r="153.93" style="opacity:0;paint-order:markers stroke fill;stroke-width:2.84"/><g style="fill:#fff;stroke:#fff"><path d="m130.21 77.865v1.4199c0 69.032-46.356 129.44-113.04 147.31s-137.03-11.271-171.54-71.055l-0.70898-1.2305-2.459 1.4199 0.70899 1.2305c35.152 60.884 106.83 90.575 174.74 72.379s115.14-79.749 115.14-150.05v-1.4199z" style="color-rendering:auto;color:#000000;dominant-baseline:auto;fill:#fff;font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;image-rendering:auto;isolation:auto;mix-blend-mode:normal;paint-order:markers stroke fill;shape-padding:0;shape-rendering:auto;solid-color:#000000;stroke-linecap:square;stroke-linejoin:round;stroke-width:20.386;stroke:#fff;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><path d="m131.62 66.176 11.36 19.653h-22.72z" style="fill-rule:evenodd;fill:#fff;stroke-width:20.386;stroke:#fff"/></g><g transform="rotate(180 -22.116 79.492)" style="fill:#fff;stroke:#fff"><path d="m130.21 77.865v1.4199c0 69.032-46.356 129.44-113.04 147.31s-137.03-11.271-171.54-71.055l-0.70898-1.2305-2.459 1.4199 0.70899 1.2305c35.152 60.884 106.83 90.575 174.74 72.379s115.14-79.749 115.14-150.05v-1.4199z" style="color-rendering:auto;color:#000000;dominant-baseline:auto;fill:#fff;font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;image-rendering:auto;isolation:auto;mix-blend-mode:normal;paint-order:markers stroke fill;shape-padding:0;shape-rendering:auto;solid-color:#000000;stroke-linecap:square;stroke-linejoin:round;stroke-width:20.386;stroke:#fff;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><path d="m131.62 66.176 11.36 19.653h-22.72z" style="fill-rule:evenodd;fill:#fff;stroke-width:20.386;stroke:#fff"/></g></g><g transform="matrix(4.4012 0 0 4.4076 9.7615 10.587)" style="fill:#fff"><path d="m5.0271 0.79375h-0.26458v-0.52917h-0.52917v0.52917h-2.1167v-0.52917h-0.52917v0.52917h-0.26458a0.52917 0.52917 0 0 0-0.52917 0.52917v3.7042a0.52917 0.52917 0 0 0 0.52917 0.52917h3.7042c0.29104 0 0.52917-0.23812 0.52917-0.52917v-3.7042c0-0.29104-0.23812-0.52917-0.52917-0.52917zm-1.8521 0.79375c0.43921 0 0.79375 0.35454 0.79375 0.79375s-0.35454 0.79375-0.79375 0.79375-0.79375-0.35454-0.79375-0.79375 0.35454-0.79375 0.79375-0.79375zm1.5875 3.175h-3.175v-0.26458c0-0.52917 1.0583-0.82021 1.5875-0.82021s1.5875 0.29104 1.5875 0.82021z" style="fill:#fff;stroke-width:.26458"/></g></g></svg>
|
Before Width: | Height: | Size: 3.2 KiB |
@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><path id="XMLID_107_" d="m16.959 5.8379c-3.5104 0-6.4858 2.3798-7.408 5.6042-0.80146-1.7103-2.5382-2.9085-4.5387-2.9085-2.7511 0-5.0126 2.2615-5.0126 5.0126 0 2.7511 2.2615 5.0137 5.0126 5.0137 2.0005 0 3.7373-1.1989 4.5387-2.9095 0.92217 3.2246 3.8975 5.6053 7.408 5.6053 3.4845 0 6.4447-2.3447 7.3904-5.533 0.81627 1.6717 2.5316 2.8372 4.5036 2.8372 2.7511 0 5.0137-2.2625 5.0137-5.0137 0-2.7511-2.2625-5.0126-5.0137-5.0126-1.9721 0-3.6874 1.1647-4.5036 2.8362-0.94575-3.188-3.9059-5.532-7.3904-5.532zm0 2.9425c2.65 0 4.7669 2.1159 4.7669 4.7659 0 2.65-2.1169 4.7669-4.7669 4.7669-2.65 0-4.7659-2.1169-4.7659-4.7669 0-2.65 2.1159-4.7659 4.7659-4.7659zm-11.947 2.6958c1.161 0 2.0711 0.90908 2.0711 2.0701 0 1.161-0.91012 2.0711-2.0711 2.0711-1.161 0-2.0701-0.91012-2.0701-2.0711 0-1.161 0.90909-2.0701 2.0701-2.0701zm23.841 0c1.161 0 2.0711 0.90908 2.0711 2.0701 0 1.161-0.91012 2.0711-2.0711 2.0711-1.161 0-2.0701-0.91012-2.0701-2.0711 0-1.161 0.90909-2.0701 2.0701-2.0701z" color="#000000" color-rendering="auto" fill="#0082c9" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/><g transform="matrix(.13987 0 0 .13987 3.3867 17.958)" fill="#0082c9"><path id="XMLID_121_" d="m37.67 48.9c5.9 0 9.2 4.2 9.2 10.5 0 0.6-0.5 1.1-1.1 1.1h-15.9c0.1 5.6 4 8.8 8.5 8.8 2.8 0 4.8-1.2 5.8-2 0.6-0.4 1.1-0.3 1.4 0.3l0.3 0.5c0.3 0.5 0.2 1-0.3 1.4-1.2 0.9-3.8 2.4-7.3 2.4-6.5 0-11.5-4.7-11.5-11.5 0.1-7.2 4.9-11.5 10.9-11.5zm6.1 9.4c-0.2-4.6-3-6.9-6.2-6.9-3.7 0-6.9 2.4-7.6 6.9z"/><path id="XMLID_119_" d="m76.9 52.1v-7.7c0-0.7 0.4-1.1 1.1-1.1h0.8c0.7 0 1 0.4 1 1.1v5.2h4.5c0.7 0 1.1 0.4 1.1 1.1v0.3c0 0.7-0.4 1-1.1 1h-4.5v11c0 5.1 3.1 5.7 4.8 5.8 0.9 0.1 1.2 0.3 1.2 1.1v0.6c0 0.7-0.3 1-1.2 1-4.8 0-7.7-2.9-7.7-8.1z"/><path id="XMLID_117_" d="m99.8 48.9c3.8 0 6.2 1.6 7.3 2.5 0.5 0.4 0.6 0.9 0.1 1.5l-0.3 0.5c-0.4 0.6-0.9 0.6-1.5 0.2-1-0.7-2.9-2-5.5-2-4.8 0-8.6 3.6-8.6 8.9 0 5.2 3.8 8.8 8.6 8.8 3.1 0 5.2-1.4 6.2-2.3 0.6-0.4 1-0.3 1.4 0.3l0.3 0.4c0.3 0.6 0.2 1-0.3 1.5-1.1 0.9-3.8 2.8-7.8 2.8-6.5 0-11.5-4.7-11.5-11.5 0.1-6.8 5.1-11.6 11.6-11.6z"/><path id="XMLID_115_" d="m113.1 41.8c0-0.7-0.4-1.1 0.3-1.1h0.8c0.7 0 1.8 0.4 1.8 1.1v23.9c0 2.8 1.3 3.1 2.3 3.2 0.5 0 0.9 0.3 0.9 1v0.7c0 0.7-0.3 1.1-1.1 1.1-1.8 0-5-0.6-5-5.4z"/><path id="XMLID_112_" d="m133.6 48.9c6.4 0 11.6 4.9 11.6 11.4 0 6.6-5.2 11.6-11.6 11.6s-11.6-5-11.6-11.6c0-6.5 5.2-11.4 11.6-11.4zm0 20.4c4.7 0 8.5-3.8 8.5-9 0-5-3.8-8.7-8.5-8.7s-8.6 3.8-8.6 8.7c0.1 5.1 3.9 9 8.6 9z"/><path id="XMLID_109_" d="m183.5 48.9c5.3 0 7.2 4.4 7.2 4.4h0.1s-0.1-0.7-0.1-1.7v-9.9c0-0.7-0.3-1.1 0.4-1.1h0.8c0.7 0 1.8 0.4 1.8 1.1v28.5c0 0.7-0.3 1.1-1 1.1h-0.7c-0.7 0-1.1-0.3-1.1-1v-1.7c0-0.8 0.2-1.4 0.2-1.4h-0.1s-1.9 4.6-7.6 4.6c-5.9 0-9.6-4.7-9.6-11.5-0.2-6.8 3.9-11.4 9.7-11.4zm0.1 20.4c3.7 0 7.1-2.6 7.1-8.9 0-4.5-2.3-8.8-7-8.8-3.9 0-7.1 3.2-7.1 8.8 0.1 5.4 2.9 8.9 7 8.9z"/><path id="XMLID_103_" d="m1 71.4h0.8c0.7 0 1.1-0.4 1.1-1.1v-21.472c0-3.4 3.7-5.8277 7.9-5.8277s7.9 2.4277 7.9 5.8277v21.472c0 0.7 0.4 1.1 1.1 1.1h0.8c0.7 0 1-0.4 1-1.1v-21.6c0-5.7-5.7-8.5-10.9-8.5-5 0-10.7 2.8-10.7 8.5v21.6c0 0.7 0.3 1.1 1 1.1z"/><path id="XMLID_102_" d="m167.9 49.4h-0.8c-0.7 0-1.1 0.4-1.1 1.1v12.1c0 3.4-2.2 6.5-6.5 6.5-4.2 0-6.5-3.1-6.5-6.5v-12.1c0-0.7-0.4-1.1-1.1-1.1h-0.8c-0.7 0-1 0.4-1 1.1v12.9c0 5.7 4.2 8.5 9.4 8.5s9.4-2.8 9.4-8.5v-12.9c0.1-0.7-0.3-1.1-1-1.1z"/><path d="m68.908 49.236c-0.24494 0.0391-0.4801 0.20259-0.70508 0.4707l-4.0469 4.8242-3.0293 3.6094-4.5859-5.4668-2.4883-2.9668c-0.22498-0.26812-0.47975-0.41472-0.74414-0.4375-0.26439-0.02278-0.53852 0.07775-0.80664 0.30273l-0.61328 0.51367c-0.53623 0.44995-0.50854 0.94814-0.05859 1.4844l4.0488 4.8242 3.3574 4-4.916 5.8574c-0.0037 0.0044-0.0061 0.0093-0.0098 0.01367l-2.4805 2.9551c-0.44995 0.53623-0.39953 1.1008 0.13672 1.5508l0.61328 0.51172c0.53623 0.44995 1.0227 0.33701 1.4727-0.19922l4.0469-4.8242 3.0293-3.6094 4.5859 5.4668c3e-3 0.0036 0.0067 0.0062 0.0098 0.0098l2.4805 2.957c0.44995 0.53623 1.0126 0.58474 1.5488 0.13476l0.61328-0.51367c0.53623-0.44995 0.50854-0.94814 0.05859-1.4844l-4.0488-4.8242-3.3574-4 4.916-5.8574c0.0037-0.0044 0.0061-0.0093 0.0098-0.01367l2.4805-2.9551c0.44995-0.53623 0.39953-1.1008-0.13672-1.5508l-0.61328-0.51367c-0.26812-0.22498-0.52264-0.30864-0.76758-0.26953z"/></g></svg>
|
Before Width: | Height: | Size: 4.5 KiB |
@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 5.12 5.12" xmlns="http://www.w3.org/2000/svg"><g transform="scale(.32)"><path d="m2.8 0h10.4c1.5 0 2.8 1.3 2.8 2.8v10.4c0 1.5-1.3 2.8-2.8 2.8h-10.4c-1.5 0-2.8-1.3-2.8-2.8v-10.4c0-1.5 1.3-2.8 2.8-2.8z" fill="#1c223d"/><g fill="#fff"><path d="m4.9016 2.0258c-0.1888 0.04347-0.36956 0.17753-0.45793 0.33694-0.06427 0.11231-0.07231 0.14855-0.08436 0.38042l-0.01205 0.25361-0.48203 0.00363c-0.37357 0-0.5222 0.00724-0.65878 0.03623-0.59852 0.13043-1.0645 0.57606-1.189 1.1376-0.00803 0.03985-0.01606 1.9637-0.01606 4.2716-0.00402 3.2064 0 4.2353 0.0241 4.3512 0.06829 0.3696 0.3334 0.7428 0.67886 0.9529 0.12452 0.0761 0.39767 0.1884 0.55032 0.221 0.10444 0.0218 0.91987 0.029 4.6878 0.029 2.5106 0 4.6235-0.0072 4.6958-0.0145 0.2691-0.0326 0.6186-0.1848 0.8516-0.3732 0.2048-0.1739 0.3856-0.4492 0.4619-0.721 0.0442-0.1594 0.0482-0.2499 0.0482-4.3585 0-4.5687 8e-3 -4.2643-0.1285-4.565-0.2049-0.45288-0.6588-0.80432-1.2011-0.9275-0.1285-0.02898-0.2772-0.03985-0.6347-0.04348-0.2611-0.00362-0.478-0.00362-0.482-0.00724-8e-3 -0.00362-0.012-0.07246-0.012-0.15579 4e-3 -0.27898-0.0724-0.46738-0.2611-0.63404-0.2893-0.26086-0.8034-0.25723-1.1007 0.00725-0.1687 0.15579-0.23297 0.30071-0.24502 0.55795-0.00803 0.11594-0.02008 0.21738-0.02812 0.22101-0.01205 0.00724-0.89979 0.01086-1.9803 0.01086h-1.9562l-0.00402-0.14854c-0.00401-0.3768-0.11247-0.58694-0.37357-0.73548-0.1888-0.10869-0.45793-0.1413-0.69091-0.08695zm7.9374 7.1084-4e-3 3.5108-0.0562 0.0797c-0.0322 0.0435-0.1045 0.1051-0.1607 0.134l-0.1085 0.058h-9.0622l-0.10042-0.0471c-0.11248-0.0543-0.14461-0.0869-0.20085-0.192-0.03615-0.0689-0.04017-0.3804-0.04419-3.5434 0-1.9057 0-3.4745 0.00402-3.489 0.00804-0.01449 1.4662-0.02173 4.8725-0.02173h4.8645z"/><path d="m5.5481 6.7542c-0.28921 0.03261-0.65475 0.14493-0.91184 0.27898-0.17273 0.09057-0.39767 0.24637-0.43784 0.30433-0.02812 0.03986-0.04017 0.02899 0.2852 0.34419 0.12051 0.11594 0.22495 0.21739 0.22896 0.22826 0.00804 0.01087 0.05222-0.01087 0.09641-0.05435 0.42981-0.37317 1.1046-0.44926 1.43-0.15579 0.11247 0.10145 0.16469 0.22825 0.14862 0.39853-0.00803 0.11594-0.08837 0.29347-0.16469 0.36956-0.12051 0.11956-0.32939 0.18115-0.63468 0.18115-0.25306 0-0.22093-0.04348-0.28118 0.33694-0.00402 0.05435-0.01607 0.11956-0.02009 0.14855-0.00803 0.02536-0.01606 0.09057-0.0241 0.14492l-0.01607 0.09058h0.20888c0.4258 0.00362 0.57844 0.02898 0.73912 0.13767 0.2129 0.13768 0.3093 0.45288 0.22093 0.721-0.13658 0.4275-0.60254 0.5942-1.1729 0.413-0.1888-0.0616-0.31734-0.1304-0.48203-0.2717l-0.14461-0.1159-0.30529 0.2717c-0.16469 0.1521-0.30528 0.2826-0.30528 0.2971 0 0.0326 0.26511 0.25 0.42177 0.3442 0.17675 0.1087 0.36956 0.192 0.61459 0.2608 0.16068 0.0471 0.21692 0.0507 0.63468 0.0507 0.51015 0 0.71501-0.0289 1.0364-0.1413 0.36554-0.1268 0.67083-0.3586 0.82749-0.6304 0.12452-0.2174 0.16469-0.3804 0.16469-0.6811 0-0.29709-0.11247-0.54346-0.34545-0.7536-0.16871-0.15216-0.37358-0.24999-0.61459-0.28984l-0.1647-0.03261 0.09239-0.01449c0.23299-0.03623 0.55032-0.25361 0.69091-0.46375 0.22094-0.33332 0.22495-0.7862 0.01206-1.1159-0.17675-0.27173-0.474-0.46013-0.8998-0.56882-0.12452-0.02898-0.74714-0.05072-0.92791-0.03261z"/><path d="m9.754 6.7724c-0.44187 0.0616-0.77929 0.2355-1.0725 0.55433-0.15666 0.17391-0.34546 0.57244-0.41375 0.88765-0.07632 0.3297-0.08033 0.35143-0.08837 0.83692-0.00803 0.63041 0.05624 1.0289 0.24102 1.4383 0.20486 0.4638 0.58647 0.8116 1.0444 0.9565 0.11247 0.0326 0.17273 0.0471 0.36956 0.0761 0.10042 0.0145 0.45395 0.0145 0.56635 0 0.6869-0.0942 1.1408-0.4456 1.4341-1.105 0.1365-0.308 0.2169-0.79348 0.2169-1.3116 0-0.27535-0.0121-0.38404-0.0442-0.61592-0.1607-1.1123-0.7833-1.7101-1.8036-1.7354-0.1446-0.00725-0.34545 0.00362-0.44989 0.01811zm0.64669 0.79345c0.1647 0.06159 0.3174 0.28985 0.3656 0.54346 4e-3 0.03261 0.016 0.07608 0.0201 0.0942 0.0682 0.22101 0.0843 1.5398 0.0241 1.7391-0.0041 0.0145-0.0161 0.07606-0.0241 0.13766-0.0201 0.1486-0.0964 0.3406-0.1728 0.4457-0.1647 0.2101-0.5664 0.2499-0.78327 0.076-0.25708-0.2101-0.33341-0.5688-0.33341-1.5289 0-0.53983 0.01607-0.82605 0.05624-0.95286 0.01205-0.03623 0.0241-0.06884 0.02009-0.07246-0.00402-0.02174 0.06427-0.21014 0.10042-0.27173 0.12854-0.23188 0.43783-0.31883 0.72703-0.21014z"/></g></g></svg>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="SVGID_00000094620430057427565900000015311327790582914980_" x1="796.82" x2="203.77" y1="249.42" y2="1067.3" gradientTransform="matrix(.035694 0 0 -.035694 5.0337e-7 30.979)" gradientUnits="userSpaceOnUse"><stop stop-color="#C8E8FF" offset="0"/><stop stop-color="#BDAEFF" offset=".3075"/><stop stop-color="#6D4AFF" offset="1"/></linearGradient><radialGradient id="SVGID_1_" cx="169.05" cy="788.91" r="1" gradientTransform="matrix(-16.88 45.338 60.416 22.494 -44786 -25421)" gradientUnits="userSpaceOnUse"><stop stop-color="#54B7FF" stop-opacity="0" offset=".5561"/><stop stop-color="#54B7FF" offset=".9944"/></radialGradient></defs><g stroke-width=".035694"><path class="st0" d="m5.0337e-7 6.425c0-1.9346 1.567-3.5016 3.5016-3.5016h26.853c1.9346 0 3.5016 1.567 3.5016 3.5016v21.017c0 1.9346-1.567 3.5016-3.5016 3.5016h-26.853c-1.9346 0-3.5016-1.567-3.5016-3.5016z" fill="#6851f6"/><path class="st1" d="m0.0071394 6.425c0-1.9346 1.5705-3.5016 3.5052-3.5016h26.853c1.9346 0 3.5016 1.567 3.5016 3.5016v21.017c0 1.9346-1.567 3.5016-3.5016 3.5016h-26.853c-1.9346 0-3.5016-1.567-3.5016-3.5016v-21.017z" fill="url(#SVGID_1_)"/><path class="st2" d="m15.373 29.312c0-0.83168 0.29626-1.6384 0.83524-2.2702l6.168-7.2388 0.19632 11.14h-7.1995z" fill="#bfd8ff"/><path d="m3.5016 2.9234c-1.9346 0-3.5016 1.567-3.5016 3.5016v0.68176h23.933c1.5063 0 2.7235 1.2207 2.7235 2.7235v13.914h7.1995v-17.319c0-1.9346-1.567-3.5016-3.5016-3.5016z" clip-rule="evenodd" fill="url(#SVGID_00000094620430057427565900000015311327790582914980_)" fill-rule="evenodd"/><path class="st4" d="m21.406 22.38c0-2.1488 1.7419-3.8907 3.8907-3.8907h8.563v12.454h-12.454z" fill="#fff"/><path class="st5" d="m24.811 26.496h1.2315c0.04997 0.21416 0.1749 0.40334 0.35337 0.53541 0.1749 0.13207 0.39264 0.19989 0.61394 0.18918 0.55683 0 0.92448-0.30697 0.92448-0.75672s-0.38193-0.69961-1.1386-0.69961h-0.48901v-1.0137h0.42476c0.73173 0 1.0316-0.26771 1.0316-0.67462 0-0.40334-0.32482-0.68176-0.77456-0.68176-0.19989-0.01071-0.39978 0.05354-0.54969 0.18561-0.15348 0.13207-0.24629 0.31768-0.26414 0.51757h-1.1886c0.04283-0.70674 0.59966-1.7205 1.9953-1.7205 1.1208 0 1.8954 0.63893 1.8954 1.5384 0 0.28912-0.08924 0.57111-0.26057 0.80312-0.17133 0.23201-0.41048 0.40691-0.68533 0.49258v0.01785c0.32125 0.05711 0.61037 0.22844 0.81383 0.48187 0.20346 0.25343 0.31054 0.57111 0.29983 0.89949 0 0.97445-0.89236 1.6169-2.0453 1.6169-1.2243 0.0071-2.0988-0.6889-2.1881-1.7312z" fill="#6d4aff"/><path class="st5" d="m31.197 22.473h0.89592v5.6718h-1.1565v-4.3511l-1.1137 0.75672v-1.1458z" fill="#6d4aff"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 2.7 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg version="1.1" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><clipPath id="b"><use width="1280" height="800" overflow="visible" xlink:href="#a"/></clipPath><path id="a" d="m155.5 222.8c-12.64 0-22.875 10.246-22.875 22.872v211.23c0 0.801 0.046 1.608 0.123 2.388 8.5-3.167 17.524-6.629 27.054-10.436 66.336-26.48 120.57-48.994 120.62-74.415 0-0.814-0.056-1.636-0.172-2.458-3.43-25.098-63.407-32.879-63.324-44.381 7e-3 -0.611 0.18-1.25 0.548-1.889 7.205-12.619 35.743-12.015 46.253-12.907 10.519-0.913 35.206-0.724 36.399-8.244 0.035-0.232 0.057-0.463 0.057-0.695 0.028-6.987-16.977-9.726-16.977-9.726s20.635 3.083 20.579 11.11c0 0.393-0.048 0.8-0.158 1.214-2.222 8.624-20.379 10.246-32.386 10.835-11.356 0.569-28.648 1.861-28.707 7.408-7e-3 0.323 0.049 0.66 0.165 1.004 2.71 8.11 66.09 12.015 106.64 33.061 23.335 12.099 34.94 32.422 40.263 53.418v-166.52c0-12.626-10.243-22.872-22.869-22.872h-211.23z"/></defs><path transform="matrix(.49811 0 0 .49811 -66.064 -105.88)" d="m132.63 222.8h256.98v236.49h-256.98z" clip-path="url(#b)" style="fill:#a01e20"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 128 128"><defs><clipPath id="b"><use width="1280" height="800" overflow="visible" xlink:href="#a"/></clipPath><path id="a" d="m155.5 222.8c-12.64 0-22.875 10.246-22.875 22.872v211.23c0 0.801 0.046 1.608 0.123 2.388 8.5-3.167 17.524-6.629 27.054-10.436 66.336-26.48 120.57-48.994 120.62-74.415 0-0.814-0.056-1.636-0.172-2.458-3.43-25.098-63.407-32.879-63.324-44.381 7e-3 -0.611 0.18-1.25 0.548-1.889 7.205-12.619 35.743-12.015 46.253-12.907 10.519-0.913 35.206-0.724 36.399-8.244 0.035-0.232 0.057-0.463 0.057-0.695 0.028-6.987-16.977-9.726-16.977-9.726s20.635 3.083 20.579 11.11c0 0.393-0.048 0.8-0.158 1.214-2.222 8.624-20.379 10.246-32.386 10.835-11.356 0.569-28.648 1.861-28.707 7.408-7e-3 0.323 0.049 0.66 0.165 1.004 2.71 8.11 66.09 12.015 106.64 33.061 23.335 12.099 34.94 32.422 40.263 53.418v-166.52c0-12.626-10.243-22.872-22.869-22.872h-211.23z"/></defs><path d="m132.63 222.8h256.98v236.49h-256.98z" clip-path="url(#b)" transform="matrix(.49811 0 0 .49811 -66.064 -105.88)" style="fill:#a01e20"/></svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg version="1.1" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><clipPath id="b"><use width="1280" height="800" overflow="visible" xlink:href="#a"/></clipPath><path id="a" d="m155.5 222.8c-12.64 0-22.875 10.246-22.875 22.872v211.23c0 0.801 0.046 1.608 0.123 2.388 8.5-3.167 17.524-6.629 27.054-10.436 66.336-26.48 120.57-48.994 120.62-74.415 0-0.814-0.056-1.636-0.172-2.458-3.43-25.098-63.407-32.879-63.324-44.381 7e-3 -0.611 0.18-1.25 0.548-1.889 7.205-12.619 35.743-12.015 46.253-12.907 10.519-0.913 35.206-0.724 36.399-8.244 0.035-0.232 0.057-0.463 0.057-0.695 0.028-6.987-16.977-9.726-16.977-9.726s20.635 3.083 20.579 11.11c0 0.393-0.048 0.8-0.158 1.214-2.222 8.624-20.379 10.246-32.386 10.835-11.356 0.569-28.648 1.861-28.707 7.408-7e-3 0.323 0.049 0.66 0.165 1.004 2.71 8.11 66.09 12.015 106.64 33.061 23.335 12.099 34.94 32.422 40.263 53.418v-166.52c0-12.626-10.243-22.872-22.869-22.872h-211.23z"/></defs><g transform="matrix(1.3678 0 0 1.3678 -181.41 -476.68)" fill="#a01e20"><clipPath><use width="1280" height="800" overflow="visible" xlink:href="#a"/></clipPath><path transform="matrix(.36416 0 0 .36416 84.331 271.09)" d="m132.63 222.8h256.98v236.49h-256.98z" clip-path="url(#b)"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 128 128"><defs><clipPath id="b"><use width="1280" height="800" overflow="visible" xlink:href="#a"/></clipPath><path id="a" d="m155.5 222.8c-12.64 0-22.875 10.246-22.875 22.872v211.23c0 0.801 0.046 1.608 0.123 2.388 8.5-3.167 17.524-6.629 27.054-10.436 66.336-26.48 120.57-48.994 120.62-74.415 0-0.814-0.056-1.636-0.172-2.458-3.43-25.098-63.407-32.879-63.324-44.381 7e-3 -0.611 0.18-1.25 0.548-1.889 7.205-12.619 35.743-12.015 46.253-12.907 10.519-0.913 35.206-0.724 36.399-8.244 0.035-0.232 0.057-0.463 0.057-0.695 0.028-6.987-16.977-9.726-16.977-9.726s20.635 3.083 20.579 11.11c0 0.393-0.048 0.8-0.158 1.214-2.222 8.624-20.379 10.246-32.386 10.835-11.356 0.569-28.648 1.861-28.707 7.408-7e-3 0.323 0.049 0.66 0.165 1.004 2.71 8.11 66.09 12.015 106.64 33.061 23.335 12.099 34.94 32.422 40.263 53.418v-166.52c0-12.626-10.243-22.872-22.869-22.872h-211.23z"/></defs><g fill="#a01e20" transform="matrix(1.3678 0 0 1.3678 -181.41 -476.68)"><clipPath><use width="1280" height="800" overflow="visible" xlink:href="#a"/></clipPath><path d="m132.63 222.8h256.98v236.49h-256.98z" clip-path="url(#b)" transform="matrix(.36416 0 0 .36416 84.331 271.09)"/></g></svg>
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.2 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><path d="m16.955 3.3333e-7c7.3719 0 13.643 4.712 15.968 11.289l-9.6579-7e-5c-1.5501-1.732-3.8027-2.822-6.3098-2.822-4.6754 0-8.4656 3.7906-8.4656 8.4667 0 4.676 3.7902 8.4667 8.4656 8.4667 2.5071 0 4.7597-1.09 6.3098-2.822h9.6579c-2.3243 6.5768-8.5958 11.289-15.968 11.289-9.3509 0-16.931-7.5813-16.931-16.933 0-9.352 7.5804-16.933 16.931-16.933zm8.3962 18.07 8.4908-5e-5a16.843 16.843 0 0 1-0.30125 2.2497h-8.8186a8.3638 8.3638 0 0 0 0.62898-2.2497zm8.1896-4.5237a16.844 16.844 0 0 1 0.30125 2.2497l-8.4908-5e-5a8.3641 8.3641 0 0 0-0.62895-2.2497z" fill-rule="evenodd" style="fill:#fff;stroke-width:.02419"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1398 1400"><path fill="#F5F5F5" fill-rule="evenodd" d="M699.914 0C1004.659 0 1263.915 194.786 1360 466.662l-399.246-.003C896.674 395.059 803.556 350 699.914 350c-193.276 0-349.957 156.7-349.957 350s156.681 350 349.957 350c103.641 0 196.76-45.059 260.84-116.658L1360 933.34C1263.915 1205.214 1004.659 1400 699.914 1400 313.362 1400 0 1086.6 0 700S313.362 0 699.914 0Zm347.087 747.002L1398 747a696.274 696.274 0 0 1-12.453 93H1021a345.75 345.75 0 0 0 26.001-92.998ZM1385.547 560A696.3 696.3 0 0 1 1398 653l-351-.002A345.762 345.762 0 0 0 1021 560h364.547Z"/></svg>
|
Before Width: | Height: | Size: 762 B After Width: | Height: | Size: 615 B |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><path d="m16.955 3.3333e-7c7.3719 0 13.643 4.712 15.968 11.289l-9.6579-7e-5c-1.5501-1.732-3.8027-2.822-6.3098-2.822-4.6754 0-8.4656 3.7906-8.4656 8.4667 0 4.676 3.7902 8.4667 8.4656 8.4667 2.5071 0 4.7597-1.09 6.3098-2.822h9.6579c-2.3243 6.5768-8.5958 11.289-15.968 11.289-9.3509 0-16.931-7.5813-16.931-16.933 0-9.352 7.5804-16.933 16.931-16.933zm8.3962 18.07 8.4908-5e-5a16.843 16.843 0 0 1-0.30125 2.2497h-8.8186a8.3638 8.3638 0 0 0 0.62898-2.2497zm8.1896-4.5237a16.844 16.844 0 0 1 0.30125 2.2497l-8.4908-5e-5a8.3641 8.3641 0 0 0-0.62895-2.2497z" fill-rule="evenodd" style="stroke-width:.02419"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1398 1400"><path fill="#222" fill-rule="nonzero" d="M699.914 0C1004.659 0 1263.915 194.786 1360 466.662l-399.246-.003C896.674 395.059 803.556 350 699.914 350c-193.276 0-349.957 156.7-349.957 350s156.681 350 349.957 350c103.641 0 196.76-45.059 260.84-116.658L1360 933.34C1263.915 1205.214 1004.659 1400 699.914 1400 313.362 1400 0 1086.6 0 700S313.362 0 699.914 0Zm347.087 747.002L1398 747a696.274 696.274 0 0 1-12.453 93H1021a345.75 345.75 0 0 0 26.001-92.998ZM1385.547 560A696.3 696.3 0 0 1 1398 653l-351-.002A345.762 345.762 0 0 0 1021 560h364.547Z"/></svg>
|
Before Width: | Height: | Size: 752 B After Width: | Height: | Size: 612 B |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><path id="XMLID_107_" d="m16.959 5.8379c-3.5104 0-6.4858 2.3798-7.408 5.6042-0.80146-1.7103-2.5382-2.9085-4.5387-2.9085-2.7511 0-5.0126 2.2615-5.0126 5.0126 0 2.7511 2.2615 5.0137 5.0126 5.0137 2.0005 0 3.7373-1.1989 4.5387-2.9095 0.92217 3.2246 3.8975 5.6053 7.408 5.6053 3.4845 0 6.4447-2.3447 7.3904-5.533 0.81627 1.6717 2.5316 2.8372 4.5036 2.8372 2.7511 0 5.0137-2.2625 5.0137-5.0137 0-2.7511-2.2625-5.0126-5.0137-5.0126-1.9721 0-3.6874 1.1647-4.5036 2.8362-0.94575-3.188-3.9059-5.532-7.3904-5.532zm0 2.9425c2.65 0 4.7669 2.1159 4.7669 4.7659 0 2.65-2.1169 4.7669-4.7669 4.7669-2.65 0-4.7659-2.1169-4.7659-4.7669 0-2.65 2.1159-4.7659 4.7659-4.7659zm-11.947 2.6958c1.161 0 2.0711 0.90908 2.0711 2.0701 0 1.161-0.91012 2.0711-2.0711 2.0711-1.161 0-2.0701-0.91012-2.0701-2.0711 0-1.161 0.90909-2.0701 2.0701-2.0701zm23.841 0c1.161 0 2.0711 0.90908 2.0711 2.0701 0 1.161-0.91012 2.0711-2.0711 2.0711-1.161 0-2.0701-0.91012-2.0701-2.0711 0-1.161 0.90909-2.0701 2.0701-2.0701z" color="#000000" color-rendering="auto" fill="#0082c9" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/><g transform="matrix(.13987 0 0 .13987 3.3867 17.958)" fill="#0082c9"><path id="XMLID_121_" d="m37.67 48.9c5.9 0 9.2 4.2 9.2 10.5 0 0.6-0.5 1.1-1.1 1.1h-15.9c0.1 5.6 4 8.8 8.5 8.8 2.8 0 4.8-1.2 5.8-2 0.6-0.4 1.1-0.3 1.4 0.3l0.3 0.5c0.3 0.5 0.2 1-0.3 1.4-1.2 0.9-3.8 2.4-7.3 2.4-6.5 0-11.5-4.7-11.5-11.5 0.1-7.2 4.9-11.5 10.9-11.5zm6.1 9.4c-0.2-4.6-3-6.9-6.2-6.9-3.7 0-6.9 2.4-7.6 6.9z"/><path id="XMLID_119_" d="m76.9 52.1v-7.7c0-0.7 0.4-1.1 1.1-1.1h0.8c0.7 0 1 0.4 1 1.1v5.2h4.5c0.7 0 1.1 0.4 1.1 1.1v0.3c0 0.7-0.4 1-1.1 1h-4.5v11c0 5.1 3.1 5.7 4.8 5.8 0.9 0.1 1.2 0.3 1.2 1.1v0.6c0 0.7-0.3 1-1.2 1-4.8 0-7.7-2.9-7.7-8.1z"/><path id="XMLID_117_" d="m99.8 48.9c3.8 0 6.2 1.6 7.3 2.5 0.5 0.4 0.6 0.9 0.1 1.5l-0.3 0.5c-0.4 0.6-0.9 0.6-1.5 0.2-1-0.7-2.9-2-5.5-2-4.8 0-8.6 3.6-8.6 8.9 0 5.2 3.8 8.8 8.6 8.8 3.1 0 5.2-1.4 6.2-2.3 0.6-0.4 1-0.3 1.4 0.3l0.3 0.4c0.3 0.6 0.2 1-0.3 1.5-1.1 0.9-3.8 2.8-7.8 2.8-6.5 0-11.5-4.7-11.5-11.5 0.1-6.8 5.1-11.6 11.6-11.6z"/><path id="XMLID_115_" d="m113.1 41.8c0-0.7-0.4-1.1 0.3-1.1h0.8c0.7 0 1.8 0.4 1.8 1.1v23.9c0 2.8 1.3 3.1 2.3 3.2 0.5 0 0.9 0.3 0.9 1v0.7c0 0.7-0.3 1.1-1.1 1.1-1.8 0-5-0.6-5-5.4z"/><path id="XMLID_112_" d="m133.6 48.9c6.4 0 11.6 4.9 11.6 11.4 0 6.6-5.2 11.6-11.6 11.6s-11.6-5-11.6-11.6c0-6.5 5.2-11.4 11.6-11.4zm0 20.4c4.7 0 8.5-3.8 8.5-9 0-5-3.8-8.7-8.5-8.7s-8.6 3.8-8.6 8.7c0.1 5.1 3.9 9 8.6 9z"/><path id="XMLID_109_" d="m183.5 48.9c5.3 0 7.2 4.4 7.2 4.4h0.1s-0.1-0.7-0.1-1.7v-9.9c0-0.7-0.3-1.1 0.4-1.1h0.8c0.7 0 1.8 0.4 1.8 1.1v28.5c0 0.7-0.3 1.1-1 1.1h-0.7c-0.7 0-1.1-0.3-1.1-1v-1.7c0-0.8 0.2-1.4 0.2-1.4h-0.1s-1.9 4.6-7.6 4.6c-5.9 0-9.6-4.7-9.6-11.5-0.2-6.8 3.9-11.4 9.7-11.4zm0.1 20.4c3.7 0 7.1-2.6 7.1-8.9 0-4.5-2.3-8.8-7-8.8-3.9 0-7.1 3.2-7.1 8.8 0.1 5.4 2.9 8.9 7 8.9z"/><path id="XMLID_103_" d="m1 71.4h0.8c0.7 0 1.1-0.4 1.1-1.1v-21.472c0-3.4 3.7-5.8277 7.9-5.8277s7.9 2.4277 7.9 5.8277v21.472c0 0.7 0.4 1.1 1.1 1.1h0.8c0.7 0 1-0.4 1-1.1v-21.6c0-5.7-5.7-8.5-10.9-8.5-5 0-10.7 2.8-10.7 8.5v21.6c0 0.7 0.3 1.1 1 1.1z"/><path id="XMLID_102_" d="m167.9 49.4h-0.8c-0.7 0-1.1 0.4-1.1 1.1v12.1c0 3.4-2.2 6.5-6.5 6.5-4.2 0-6.5-3.1-6.5-6.5v-12.1c0-0.7-0.4-1.1-1.1-1.1h-0.8c-0.7 0-1 0.4-1 1.1v12.9c0 5.7 4.2 8.5 9.4 8.5s9.4-2.8 9.4-8.5v-12.9c0.1-0.7-0.3-1.1-1-1.1z"/><path d="m68.908 49.236c-0.24494 0.0391-0.4801 0.20259-0.70508 0.4707l-4.0469 4.8242-3.0293 3.6094-4.5859-5.4668-2.4883-2.9668c-0.22498-0.26812-0.47975-0.41472-0.74414-0.4375-0.26439-0.02278-0.53852 0.07775-0.80664 0.30273l-0.61328 0.51367c-0.53623 0.44995-0.50854 0.94814-0.05859 1.4844l4.0488 4.8242 3.3574 4-4.916 5.8574c-0.0037 0.0044-0.0061 0.0093-0.0098 0.01367l-2.4805 2.9551c-0.44995 0.53623-0.39953 1.1008 0.13672 1.5508l0.61328 0.51172c0.53623 0.44995 1.0227 0.33701 1.4727-0.19922l4.0469-4.8242 3.0293-3.6094 4.5859 5.4668c3e-3 0.0036 0.0067 0.0062 0.0098 0.0098l2.4805 2.957c0.44995 0.53623 1.0126 0.58474 1.5488 0.13476l0.61328-0.51367c0.53623-0.44995 0.50854-0.94814 0.05859-1.4844l-4.0488-4.8242-3.3574-4 4.916-5.8574c0.0037-0.0044 0.0061-0.0093 0.0098-0.01367l2.4805-2.9551c0.44995-0.53623 0.39953-1.1008-0.13672-1.5508l-0.61328-0.51367c-0.26812-0.22498-0.52264-0.30864-0.76758-0.26953z"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><path id="XMLID_107_" fill="#0082c9" d="m16.959 5.8379c-3.5104 0-6.4858 2.3798-7.408 5.6042-0.80146-1.7103-2.5382-2.9085-4.5387-2.9085-2.7511 0-5.0126 2.2615-5.0126 5.0126 0 2.7511 2.2615 5.0137 5.0126 5.0137 2.0005 0 3.7373-1.1989 4.5387-2.9095 0.92217 3.2246 3.8975 5.6053 7.408 5.6053 3.4845 0 6.4447-2.3447 7.3904-5.533 0.81627 1.6717 2.5316 2.8372 4.5036 2.8372 2.7511 0 5.0137-2.2625 5.0137-5.0137 0-2.7511-2.2625-5.0126-5.0137-5.0126-1.9721 0-3.6874 1.1647-4.5036 2.8362-0.94575-3.188-3.9059-5.532-7.3904-5.532zm0 2.9425c2.65 0 4.7669 2.1159 4.7669 4.7659 0 2.65-2.1169 4.7669-4.7669 4.7669-2.65 0-4.7659-2.1169-4.7659-4.7669 0-2.65 2.1159-4.7659 4.7659-4.7659zm-11.947 2.6958c1.161 0 2.0711 0.90908 2.0711 2.0701 0 1.161-0.91012 2.0711-2.0711 2.0711-1.161 0-2.0701-0.91012-2.0701-2.0711 0-1.161 0.90909-2.0701 2.0701-2.0701zm23.841 0c1.161 0 2.0711 0.90908 2.0711 2.0701 0 1.161-0.91012 2.0711-2.0711 2.0711-1.161 0-2.0701-0.91012-2.0701-2.0711 0-1.161 0.90909-2.0701 2.0701-2.0701z" color="#000" color-rendering="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/><g fill="#0082c9" transform="matrix(.13987 0 0 .13987 3.3867 17.958)"><path id="XMLID_121_" d="m37.67 48.9c5.9 0 9.2 4.2 9.2 10.5 0 0.6-0.5 1.1-1.1 1.1h-15.9c0.1 5.6 4 8.8 8.5 8.8 2.8 0 4.8-1.2 5.8-2 0.6-0.4 1.1-0.3 1.4 0.3l0.3 0.5c0.3 0.5 0.2 1-0.3 1.4-1.2 0.9-3.8 2.4-7.3 2.4-6.5 0-11.5-4.7-11.5-11.5 0.1-7.2 4.9-11.5 10.9-11.5zm6.1 9.4c-0.2-4.6-3-6.9-6.2-6.9-3.7 0-6.9 2.4-7.6 6.9z"/><path id="XMLID_119_" d="m76.9 52.1v-7.7c0-0.7 0.4-1.1 1.1-1.1h0.8c0.7 0 1 0.4 1 1.1v5.2h4.5c0.7 0 1.1 0.4 1.1 1.1v0.3c0 0.7-0.4 1-1.1 1h-4.5v11c0 5.1 3.1 5.7 4.8 5.8 0.9 0.1 1.2 0.3 1.2 1.1v0.6c0 0.7-0.3 1-1.2 1-4.8 0-7.7-2.9-7.7-8.1z"/><path id="XMLID_117_" d="m99.8 48.9c3.8 0 6.2 1.6 7.3 2.5 0.5 0.4 0.6 0.9 0.1 1.5l-0.3 0.5c-0.4 0.6-0.9 0.6-1.5 0.2-1-0.7-2.9-2-5.5-2-4.8 0-8.6 3.6-8.6 8.9 0 5.2 3.8 8.8 8.6 8.8 3.1 0 5.2-1.4 6.2-2.3 0.6-0.4 1-0.3 1.4 0.3l0.3 0.4c0.3 0.6 0.2 1-0.3 1.5-1.1 0.9-3.8 2.8-7.8 2.8-6.5 0-11.5-4.7-11.5-11.5 0.1-6.8 5.1-11.6 11.6-11.6z"/><path id="XMLID_115_" d="m113.1 41.8c0-0.7-0.4-1.1 0.3-1.1h0.8c0.7 0 1.8 0.4 1.8 1.1v23.9c0 2.8 1.3 3.1 2.3 3.2 0.5 0 0.9 0.3 0.9 1v0.7c0 0.7-0.3 1.1-1.1 1.1-1.8 0-5-0.6-5-5.4z"/><path id="XMLID_112_" d="m133.6 48.9c6.4 0 11.6 4.9 11.6 11.4 0 6.6-5.2 11.6-11.6 11.6s-11.6-5-11.6-11.6c0-6.5 5.2-11.4 11.6-11.4zm0 20.4c4.7 0 8.5-3.8 8.5-9 0-5-3.8-8.7-8.5-8.7s-8.6 3.8-8.6 8.7c0.1 5.1 3.9 9 8.6 9z"/><path id="XMLID_109_" d="m183.5 48.9c5.3 0 7.2 4.4 7.2 4.4h0.1s-0.1-0.7-0.1-1.7v-9.9c0-0.7-0.3-1.1 0.4-1.1h0.8c0.7 0 1.8 0.4 1.8 1.1v28.5c0 0.7-0.3 1.1-1 1.1h-0.7c-0.7 0-1.1-0.3-1.1-1v-1.7c0-0.8 0.2-1.4 0.2-1.4h-0.1s-1.9 4.6-7.6 4.6c-5.9 0-9.6-4.7-9.6-11.5-0.2-6.8 3.9-11.4 9.7-11.4zm0.1 20.4c3.7 0 7.1-2.6 7.1-8.9 0-4.5-2.3-8.8-7-8.8-3.9 0-7.1 3.2-7.1 8.8 0.1 5.4 2.9 8.9 7 8.9z"/><path id="XMLID_103_" d="m1 71.4h0.8c0.7 0 1.1-0.4 1.1-1.1v-21.472c0-3.4 3.7-5.8277 7.9-5.8277s7.9 2.4277 7.9 5.8277v21.472c0 0.7 0.4 1.1 1.1 1.1h0.8c0.7 0 1-0.4 1-1.1v-21.6c0-5.7-5.7-8.5-10.9-8.5-5 0-10.7 2.8-10.7 8.5v21.6c0 0.7 0.3 1.1 1 1.1z"/><path id="XMLID_102_" d="m167.9 49.4h-0.8c-0.7 0-1.1 0.4-1.1 1.1v12.1c0 3.4-2.2 6.5-6.5 6.5-4.2 0-6.5-3.1-6.5-6.5v-12.1c0-0.7-0.4-1.1-1.1-1.1h-0.8c-0.7 0-1 0.4-1 1.1v12.9c0 5.7 4.2 8.5 9.4 8.5s9.4-2.8 9.4-8.5v-12.9c0.1-0.7-0.3-1.1-1-1.1z"/><path d="m68.908 49.236c-0.24494 0.0391-0.4801 0.20259-0.70508 0.4707l-4.0469 4.8242-3.0293 3.6094-4.5859-5.4668-2.4883-2.9668c-0.22498-0.26812-0.47975-0.41472-0.74414-0.4375-0.26439-0.02278-0.53852 0.07775-0.80664 0.30273l-0.61328 0.51367c-0.53623 0.44995-0.50854 0.94814-0.05859 1.4844l4.0488 4.8242 3.3574 4-4.916 5.8574c-0.0037 0.0044-0.0061 0.0093-0.0098 0.01367l-2.4805 2.9551c-0.44995 0.53623-0.39953 1.1008 0.13672 1.5508l0.61328 0.51172c0.53623 0.44995 1.0227 0.33701 1.4727-0.19922l4.0469-4.8242 3.0293-3.6094 4.5859 5.4668c3e-3 0.0036 0.0067 0.0062 0.0098 0.0098l2.4805 2.957c0.44995 0.53623 1.0126 0.58474 1.5488 0.13476l0.61328-0.51367c0.53623-0.44995 0.50854-0.94814 0.05859-1.4844l-4.0488-4.8242-3.3574-4 4.916-5.8574c0.0037-0.0044 0.0061-0.0093 0.0098-0.01367l2.4805-2.9551c0.44995-0.53623 0.39953-1.1008-0.13672-1.5508l-0.61328-0.51367c-0.26812-0.22498-0.52264-0.30864-0.76758-0.26953z"/></g></svg>
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.4 KiB |
@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.99999 0 0 .99999 -10.524 -177.41)"><rect x="10.524" y="177.41" width="33.867" height="33.867" fill="#7393f3" stroke-width=".72366"/><g transform="matrix(.67733 0 0 .67733 10.524 177.41)" fill="#fff"><path transform="scale(1,-1)" x="11.755644" y="-31.042255" width="26.488712" height="12.08451" d="m17.756-31.042h14.489a6 6 45 0 1 6 6v0.08451a6 6 135 0 1-6 6h-14.489a6 6 45 0 1-6-6v-0.08451a6 6 135 0 1 6-6z" stroke-width=".29286"/><ellipse cx="25" cy="19.481" rx="7.3432" ry="5.1293" stroke-width=".20012"/></g><g transform="matrix(.67733 0 0 .67733 10.524 177.41)"><rect x="25.268" y="26.26" width="2.0174" height="3.6711" fill="#fff" stroke-width=".26458"/><rect x="21.5" y="27.245" width="7" height="3.8666" fill="#7393f3" stroke-width=".26344"/><path transform="matrix(.36886 0 0 .21296 -3.9552 7.8648)" d="m92.055 93.076h-27.11l13.555-23.479 6.7777 11.739z" fill="#7393f3"/></g><g transform="matrix(.67733 0 0 .68255 6.7598 173.7)"><g transform="matrix(1,0,0,-1,6.3485,69.902)" fill="#fff"><rect x="20.709" y="29.099" width="7" height="4.5682" stroke-width=".28635"/><path transform="matrix(.36886 0 0 .21296 -4.7458 9.7194)" d="m92.055 93.076h-27.11l13.555-23.479 6.7777 11.739z"/></g></g></g></svg>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="SVGID_00000019652434788841659490000008021016220503567533_" x1="-12.632" x2="1173" y1="1195.6" y2="-107.33" gradientTransform="matrix(.035706 0 0 -.035706 -1.6667e-6 30.985)" gradientUnits="userSpaceOnUse"><stop stop-color="#6D4AFF" offset="0"/><stop stop-color="#AE8CFF" offset=".3593"/><stop stop-color="#F8CCFF" offset="1"/></linearGradient><radialGradient id="SVGID_1_" cx="169.06" cy="788.93" r="1" gradientTransform="matrix(-21.468 43.868 68.249 33.399 -50186 -33775)" gradientUnits="userSpaceOnUse"><stop stop-color="#FF62C0" stop-opacity="0" offset=".5561"/><stop stop-color="#FF62C0" offset=".9944"/></radialGradient></defs><g stroke-width=".035705"><path class="st0" d="m-1.6667e-6 27.447v-21.023c0-1.9352 1.5675-3.5027 3.5027-3.5027h6.5698c0.66412 0 1.3104 0.21066 1.8424 0.60342l2.1994 1.6139c0.53559 0.39276 1.1819 0.60343 1.8424 0.60343h14.404c1.9352 0 3.5027 1.5675 3.5027 3.5027v18.199c0 1.9352-1.5675 3.5027-3.5027 3.5027h-26.858c-1.9352 4e-3 -3.5027-1.5639-3.5027-3.4991z" fill="#6851f6"/><path class="st1" d="m-1.6667e-6 27.447v-21.023c0-1.9352 1.5675-3.5027 3.5027-3.5027h6.5698c0.66412 0 1.3104 0.21066 1.8424 0.60342l2.1994 1.6139c0.53559 0.39276 1.1819 0.60343 1.8424 0.60343h14.404c1.9352 0 3.5027 1.5675 3.5027 3.5027v18.199c0 1.9352-1.5675 3.5027-3.5027 3.5027h-26.858c-1.9352 4e-3 -3.5027-1.5639-3.5027-3.4991z" fill="url(#SVGID_1_)"/><path d="m15.96 5.7414h14.404c1.9352 0 3.5027 1.5675 3.5027 3.5027v18.199c0 1.9352-1.5675 3.5027-3.5027 3.5027h-3.6991v-18.278c0-1.5103-1.2283-2.735-2.7422-2.7243l-13.265 0.075c-0.57129 4e-3 -1.1283-0.17138-1.596-0.50344l-2.9528-2.0995c-0.4606-0.32849-1.014-0.50345-1.5782-0.50345h-4.531v-0.48916c0-1.9352 1.5675-3.5027 3.5027-3.5027h6.5698c0.66412 0 1.3104 0.21066 1.8424 0.60342l2.1994 1.6139c0.53559 0.39276 1.1819 0.60343 1.846 0.60343z" clip-rule="evenodd" fill="url(#SVGID_00000019652434788841659490000008021016220503567533_)" fill-rule="evenodd"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 2.0 KiB |
@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.866 33.866" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(-.49803 0 0 .49803 16.933 28.886)"><path transform="matrix(-.53125 0 0 .53125 34 -58)" d="m64 30.117-5.6465 16.941h3.7637v62.117h3.7656v-62.117h3.7637l-5.6465-16.941z" color="#000000" color-rendering="auto" dominant-baseline="auto" fill="#fff" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><path transform="matrix(-.53125 0 0 .53125 34 -58)" d="m83.75 57.334-11.309 13.82 3.5195 1.3418-13.719 36.012 3.5156 1.3379 13.719-36.012 3.5195 1.3418 0.75391-17.842z" color="#000000" color-rendering="auto" dominant-baseline="auto" fill="#fff" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><path transform="matrix(-.53125 0 0 .53125 34 -58)" d="m44.25 57.334 0.75391 17.842 3.5195-1.3418 13.719 36.012 3.5156-1.3379-13.719-36.012 3.5195-1.3418-11.309-13.82z" color="#000000" color-rendering="auto" dominant-baseline="auto" fill="#fff" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><circle r="10" fill="#f00"/><g fill="#fff"><circle class="storage" cy="-50" r="8"/><circle class="storage" cx="-14" cy="-35" r="8"/><circle class="storage" cx="14" cy="-35" r="8"/></g></g></svg>
|
Before Width: | Height: | Size: 2.4 KiB |
@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.866 33.866" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(-.49803 0 0 .49803 16.933 28.886)"><path transform="matrix(-.53125 0 0 .53125 34 -58)" d="m64 30.117-5.6465 16.941h3.7637v62.117h3.7656v-62.117h3.7637l-5.6465-16.941z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><path transform="matrix(-.53125 0 0 .53125 34 -58)" d="m83.75 57.334-11.309 13.82 3.5195 1.3418-13.719 36.012 3.5156 1.3379 13.719-36.012 3.5195 1.3418 0.75391-17.842z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><path transform="matrix(-.53125 0 0 .53125 34 -58)" d="m44.25 57.334 0.75391 17.842 3.5195-1.3418 13.719 36.012 3.5156-1.3379-13.719-36.012 3.5195-1.3418-11.309-13.82z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><circle r="10" fill="#f00"/><g><circle class="storage" cy="-50" r="8"/><circle class="storage" cx="-14" cy="-35" r="8"/><circle class="storage" cx="14" cy="-35" r="8"/></g></g></svg>
|
Before Width: | Height: | Size: 2.4 KiB |
1
docs/assets/img/dns/adguard-home.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33.867 33.867"><g fill="none"><path fill="#68bc71" d="M16.933 0C11.703 0 5.393 1.214.2 3.887c0 5.773-.071 20.154 16.734 29.98C33.74 24.041 33.668 9.66 33.668 3.887 28.474 1.214 22.164 0 16.933 0z"/><path fill="#67b279" d="M16.916 33.857C.128 24.031.199 9.658.199 3.887 5.388 1.217 11.69.003 16.916 0z"/><path fill="#fff" d="m16.323 22.597 10.12-13.465c-.742-.586-1.393-.172-1.75.148l-.014.001-8.437 8.666-3.18-3.777c-1.516-1.73-3.577-.41-4.06-.062l7.32 8.49"/></g></svg>
|
After Width: | Height: | Size: 523 B |
@ -1,166 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.48.0 (0)
|
||||
-->
|
||||
<!-- Title: DNS Pages: 1 -->
|
||||
<svg width="630pt" height="935pt"
|
||||
viewBox="0.00 0.00 630.00 935.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(36 899)">
|
||||
<title>DNS</title>
|
||||
<!-- Start -->
|
||||
<g id="node1" class="node">
|
||||
<title>Start</title>
|
||||
<path fill="#d4bbd2" stroke="#d4bbd2" d="M89,-863C89,-863 55,-863 55,-863 49,-863 43,-857 43,-851 43,-851 43,-839 43,-839 43,-833 49,-827 55,-827 55,-827 89,-827 89,-827 95,-827 101,-833 101,-839 101,-839 101,-851 101,-851 101,-857 95,-863 89,-863"/>
|
||||
<text text-anchor="middle" x="72" y="-841.3" font-family="monospace" font-size="14.00">Start</text>
|
||||
</g>
|
||||
<!-- anonymous -->
|
||||
<g id="node3" class="node">
|
||||
<title>anonymous</title>
|
||||
<polygon fill="#ffebc2" stroke="#ffebc2" points="72,-791 0,-733.5 72,-676 144,-733.5 72,-791"/>
|
||||
<text text-anchor="middle" x="72" y="-737.3" font-family="monospace" font-size="14.00">Trying to be</text>
|
||||
<text text-anchor="middle" x="72" y="-722.3" font-family="monospace" font-size="14.00"> anonymous?</text>
|
||||
</g>
|
||||
<!-- Start->anonymous -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Start->anonymous</title>
|
||||
<path fill="none" stroke="white" d="M72,-826.59C72,-826.59 72,-801.45 72,-801.45"/>
|
||||
<polygon fill="white" stroke="white" points="72,-791.45 76.5,-801.45 72,-796.45 72,-801.45 72,-801.45 72,-801.45 72,-796.45 67.5,-801.45 72,-791.45 72,-791.45"/>
|
||||
</g>
|
||||
<!-- nothing -->
|
||||
<g id="node2" class="node">
|
||||
<title>nothing</title>
|
||||
<path fill="#d4bbd2" stroke="#d4bbd2" d="M249.5,-36C249.5,-36 174.5,-36 174.5,-36 168.5,-36 162.5,-30 162.5,-24 162.5,-24 162.5,-12 162.5,-12 162.5,-6 168.5,0 174.5,0 174.5,0 249.5,0 249.5,0 255.5,0 261.5,-6 261.5,-12 261.5,-12 261.5,-24 261.5,-24 261.5,-30 255.5,-36 249.5,-36"/>
|
||||
<text text-anchor="middle" x="212" y="-14.3" font-family="monospace" font-size="14.00">Do nothing</text>
|
||||
</g>
|
||||
<!-- censorship -->
|
||||
<g id="node4" class="node">
|
||||
<title>censorship</title>
|
||||
<polygon fill="#ffebc2" stroke="#ffebc2" points="72,-640 0,-582.5 72,-525 144,-582.5 72,-640"/>
|
||||
<text text-anchor="middle" x="72" y="-586.3" font-family="monospace" font-size="14.00">Avoiding</text>
|
||||
<text text-anchor="middle" x="72" y="-571.3" font-family="monospace" font-size="14.00"> censorship?</text>
|
||||
</g>
|
||||
<!-- anonymous->censorship -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>anonymous->censorship</title>
|
||||
<path fill="none" stroke="white" d="M72,-675.98C72,-675.98 72,-650.11 72,-650.11"/>
|
||||
<polygon fill="white" stroke="white" points="72,-640.11 76.5,-650.11 72,-645.11 72,-650.11 72,-650.11 72,-650.11 72,-645.11 67.5,-650.11 72,-640.11 72,-640.11"/>
|
||||
<text text-anchor="middle" x="63.5" y="-651.85" font-family="monospace" font-size="14.00" fill="white">No</text>
|
||||
</g>
|
||||
<!-- tor -->
|
||||
<g id="node8" class="node">
|
||||
<title>tor</title>
|
||||
<path fill="#7aa0da" stroke="#7aa0da" d="M300,-697.5C300,-697.5 406,-697.5 406,-697.5 412,-697.5 418,-703.5 418,-709.5 418,-709.5 418,-757.5 418,-757.5 418,-763.5 412,-769.5 406,-769.5 406,-769.5 300,-769.5 300,-769.5 294,-769.5 288,-763.5 288,-757.5 288,-757.5 288,-709.5 288,-709.5 288,-703.5 294,-697.5 300,-697.5"/>
|
||||
<text text-anchor="middle" x="353" y="-729.8" font-family="monospace" font-size="14.00">Use Tor</text>
|
||||
</g>
|
||||
<!-- anonymous->tor -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>anonymous->tor</title>
|
||||
<path fill="none" stroke="white" d="M143.64,-733C143.64,-733 277.75,-733 277.75,-733"/>
|
||||
<polygon fill="white" stroke="white" points="287.75,-733 277.75,-737.5 282.75,-733 277.75,-733 277.75,-733 277.75,-733 282.75,-733 277.75,-728.5 287.75,-733 287.75,-733"/>
|
||||
<text text-anchor="middle" x="198.19" y="-736.8" font-family="monospace" font-size="14.00" fill="white">Yes</text>
|
||||
</g>
|
||||
<!-- privacy -->
|
||||
<g id="node5" class="node">
|
||||
<title>privacy</title>
|
||||
<polygon fill="#ffebc2" stroke="#ffebc2" points="212,-489 140,-431.5 212,-374 284,-431.5 212,-489"/>
|
||||
<text text-anchor="middle" x="212" y="-435.3" font-family="monospace" font-size="14.00">Want privacy</text>
|
||||
<text text-anchor="middle" x="212" y="-420.3" font-family="monospace" font-size="14.00"> from ISP?</text>
|
||||
</g>
|
||||
<!-- censorship->privacy -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>censorship->privacy</title>
|
||||
<path fill="none" stroke="white" d="M84.7,-535C115.31,-535 190.67,-535 190.67,-535 190.67,-535 190.67,-482.11 190.67,-482.11"/>
|
||||
<polygon fill="white" stroke="white" points="190.67,-472.11 195.17,-482.11 190.67,-477.11 190.67,-482.11 190.67,-482.11 190.67,-482.11 190.67,-477.11 186.17,-482.11 190.67,-472.11 190.67,-472.11"/>
|
||||
<text text-anchor="middle" x="155.63" y="-538.8" font-family="monospace" font-size="14.00" fill="white">No</text>
|
||||
</g>
|
||||
<!-- vpnOrTor -->
|
||||
<g id="node9" class="node">
|
||||
<title>vpnOrTor</title>
|
||||
<path fill="#7aa0da" stroke="#7aa0da" d="M300,-546.5C300,-546.5 406,-546.5 406,-546.5 412,-546.5 418,-552.5 418,-558.5 418,-558.5 418,-606.5 418,-606.5 418,-612.5 412,-618.5 406,-618.5 406,-618.5 300,-618.5 300,-618.5 294,-618.5 288,-612.5 288,-606.5 288,-606.5 288,-558.5 288,-558.5 288,-552.5 294,-546.5 300,-546.5"/>
|
||||
<text text-anchor="middle" x="353" y="-586.3" font-family="monospace" font-size="14.00">Use VPN</text>
|
||||
<text text-anchor="middle" x="353" y="-571.3" font-family="monospace" font-size="14.00"> or Tor</text>
|
||||
</g>
|
||||
<!-- censorship->vpnOrTor -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>censorship->vpnOrTor</title>
|
||||
<path fill="none" stroke="white" d="M129.88,-594C129.88,-594 277.82,-594 277.82,-594"/>
|
||||
<polygon fill="white" stroke="white" points="287.82,-594 277.82,-598.5 282.82,-594 277.82,-594 277.82,-594 277.82,-594 282.82,-594 277.82,-589.5 287.82,-594 287.82,-594"/>
|
||||
<text text-anchor="middle" x="191.35" y="-597.8" font-family="monospace" font-size="14.00" fill="white">Yes</text>
|
||||
</g>
|
||||
<!-- obnoxious -->
|
||||
<g id="node6" class="node">
|
||||
<title>obnoxious</title>
|
||||
<polygon fill="#ffebc2" stroke="#ffebc2" points="212,-338 140,-280.5 212,-223 284,-280.5 212,-338"/>
|
||||
<text text-anchor="middle" x="212" y="-291.8" font-family="monospace" font-size="14.00">ISP makes</text>
|
||||
<text text-anchor="middle" x="212" y="-276.8" font-family="monospace" font-size="14.00"> obnoxious</text>
|
||||
<text text-anchor="middle" x="212" y="-261.8" font-family="monospace" font-size="14.00"> redirects?</text>
|
||||
</g>
|
||||
<!-- privacy->obnoxious -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>privacy->obnoxious</title>
|
||||
<path fill="none" stroke="white" d="M212,-373.98C212,-373.98 212,-348.11 212,-348.11"/>
|
||||
<polygon fill="white" stroke="white" points="212,-338.11 216.5,-348.11 212,-343.11 212,-348.11 212,-348.11 212,-348.11 212,-343.11 207.5,-348.11 212,-338.11 212,-338.11"/>
|
||||
<text text-anchor="middle" x="203.5" y="-349.85" font-family="monospace" font-size="14.00" fill="white">No</text>
|
||||
</g>
|
||||
<!-- privacy->vpnOrTor -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>privacy->vpnOrTor</title>
|
||||
<path fill="none" stroke="white" d="M237.33,-468.98C237.33,-510 237.33,-570 237.33,-570 237.33,-570 277.73,-570 277.73,-570"/>
|
||||
<polygon fill="white" stroke="white" points="287.73,-570 277.73,-574.5 282.73,-570 277.73,-570 277.73,-570 277.73,-570 282.73,-570 277.73,-565.5 287.73,-570 287.73,-570"/>
|
||||
<text text-anchor="middle" x="224.83" y="-543.49" font-family="monospace" font-size="14.00" fill="white">Yes</text>
|
||||
</g>
|
||||
<!-- ispDNS -->
|
||||
<g id="node7" class="node">
|
||||
<title>ispDNS</title>
|
||||
<polygon fill="#ffebc2" stroke="#ffebc2" points="212,-187 140,-129.5 212,-72 284,-129.5 212,-187"/>
|
||||
<text text-anchor="middle" x="212" y="-148.3" font-family="monospace" font-size="14.00">Does ISP</text>
|
||||
<text text-anchor="middle" x="212" y="-133.3" font-family="monospace" font-size="14.00"> support</text>
|
||||
<text text-anchor="middle" x="212" y="-118.3" font-family="monospace" font-size="14.00"> encrypted</text>
|
||||
<text text-anchor="middle" x="212" y="-103.3" font-family="monospace" font-size="14.00"> DNS?</text>
|
||||
</g>
|
||||
<!-- obnoxious->ispDNS -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>obnoxious->ispDNS</title>
|
||||
<path fill="none" stroke="white" d="M212,-222.98C212,-222.98 212,-197.11 212,-197.11"/>
|
||||
<polygon fill="white" stroke="white" points="212,-187.11 216.5,-197.11 212,-192.11 212,-197.11 212,-197.11 212,-197.11 212,-192.11 207.5,-197.11 212,-187.11 212,-187.11"/>
|
||||
<text text-anchor="middle" x="203.5" y="-198.85" font-family="monospace" font-size="14.00" fill="white">No</text>
|
||||
</g>
|
||||
<!-- encryptedDNS -->
|
||||
<g id="node10" class="node">
|
||||
<title>encryptedDNS</title>
|
||||
<path fill="#7aa0da" stroke="#7aa0da" d="M440,-244.5C440,-244.5 546,-244.5 546,-244.5 552,-244.5 558,-250.5 558,-256.5 558,-256.5 558,-304.5 558,-304.5 558,-310.5 552,-316.5 546,-316.5 546,-316.5 440,-316.5 440,-316.5 434,-316.5 428,-310.5 428,-304.5 428,-304.5 428,-256.5 428,-256.5 428,-250.5 434,-244.5 440,-244.5"/>
|
||||
<text text-anchor="middle" x="493" y="-291.8" font-family="monospace" font-size="14.00">Use encrypted</text>
|
||||
<text text-anchor="middle" x="493" y="-276.8" font-family="monospace" font-size="14.00"> DNS with 3rd</text>
|
||||
<text text-anchor="middle" x="493" y="-261.8" font-family="monospace" font-size="14.00"> party</text>
|
||||
</g>
|
||||
<!-- obnoxious->encryptedDNS -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>obnoxious->encryptedDNS</title>
|
||||
<path fill="none" stroke="white" d="M283.64,-280C283.64,-280 417.75,-280 417.75,-280"/>
|
||||
<polygon fill="white" stroke="white" points="427.75,-280 417.75,-284.5 422.75,-280 417.75,-280 417.75,-280 417.75,-280 422.75,-280 417.75,-275.5 427.75,-280 427.75,-280"/>
|
||||
<text text-anchor="middle" x="338.19" y="-283.8" font-family="monospace" font-size="14.00" fill="white">Yes</text>
|
||||
</g>
|
||||
<!-- ispDNS->nothing -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>ispDNS->nothing</title>
|
||||
<path fill="none" stroke="white" d="M212,-71.79C212,-71.79 212,-46.13 212,-46.13"/>
|
||||
<polygon fill="white" stroke="white" points="212,-36.13 216.5,-46.13 212,-41.13 212,-46.13 212,-46.13 212,-46.13 212,-41.13 207.5,-46.13 212,-36.13 212,-36.13"/>
|
||||
<text text-anchor="middle" x="203.5" y="-47.76" font-family="monospace" font-size="14.00" fill="white">No</text>
|
||||
</g>
|
||||
<!-- useISP -->
|
||||
<g id="node11" class="node">
|
||||
<title>useISP</title>
|
||||
<path fill="#7aa0da" stroke="#7aa0da" d="M440,-93.5C440,-93.5 546,-93.5 546,-93.5 552,-93.5 558,-99.5 558,-105.5 558,-105.5 558,-153.5 558,-153.5 558,-159.5 552,-165.5 546,-165.5 546,-165.5 440,-165.5 440,-165.5 434,-165.5 428,-159.5 428,-153.5 428,-153.5 428,-105.5 428,-105.5 428,-99.5 434,-93.5 440,-93.5"/>
|
||||
<text text-anchor="middle" x="493" y="-133.3" font-family="monospace" font-size="14.00">Use encrypted</text>
|
||||
<text text-anchor="middle" x="493" y="-118.3" font-family="monospace" font-size="14.00"> DNS with ISP</text>
|
||||
</g>
|
||||
<!-- ispDNS->useISP -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>ispDNS->useISP</title>
|
||||
<path fill="none" stroke="white" d="M283.64,-129C283.64,-129 417.75,-129 417.75,-129"/>
|
||||
<polygon fill="white" stroke="white" points="427.75,-129 417.75,-133.5 422.75,-129 417.75,-129 417.75,-129 417.75,-129 422.75,-129 417.75,-124.5 427.75,-129 427.75,-129"/>
|
||||
<text text-anchor="middle" x="338.19" y="-132.8" font-family="monospace" font-size="14.00" fill="white">Yes</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 11 KiB |
@ -1,166 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.48.0 (0)
|
||||
-->
|
||||
<!-- Title: DNS Pages: 1 -->
|
||||
<svg width="630pt" height="935pt"
|
||||
viewBox="0.00 0.00 630.00 935.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(36 899)">
|
||||
<title>DNS</title>
|
||||
<!-- Start -->
|
||||
<g id="node1" class="node">
|
||||
<title>Start</title>
|
||||
<path fill="#d4bbd2" stroke="#d4bbd2" d="M89,-863C89,-863 55,-863 55,-863 49,-863 43,-857 43,-851 43,-851 43,-839 43,-839 43,-833 49,-827 55,-827 55,-827 89,-827 89,-827 95,-827 101,-833 101,-839 101,-839 101,-851 101,-851 101,-857 95,-863 89,-863"/>
|
||||
<text text-anchor="middle" x="72" y="-841.3" font-family="monospace" font-size="14.00">Start</text>
|
||||
</g>
|
||||
<!-- anonymous -->
|
||||
<g id="node3" class="node">
|
||||
<title>anonymous</title>
|
||||
<polygon fill="#ffebc2" stroke="#ffebc2" points="72,-791 0,-733.5 72,-676 144,-733.5 72,-791"/>
|
||||
<text text-anchor="middle" x="72" y="-737.3" font-family="monospace" font-size="14.00">Trying to be</text>
|
||||
<text text-anchor="middle" x="72" y="-722.3" font-family="monospace" font-size="14.00"> anonymous?</text>
|
||||
</g>
|
||||
<!-- Start->anonymous -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Start->anonymous</title>
|
||||
<path fill="none" stroke="black" d="M72,-826.59C72,-826.59 72,-801.45 72,-801.45"/>
|
||||
<polygon fill="black" stroke="black" points="72,-791.45 76.5,-801.45 72,-796.45 72,-801.45 72,-801.45 72,-801.45 72,-796.45 67.5,-801.45 72,-791.45 72,-791.45"/>
|
||||
</g>
|
||||
<!-- nothing -->
|
||||
<g id="node2" class="node">
|
||||
<title>nothing</title>
|
||||
<path fill="#d4bbd2" stroke="#d4bbd2" d="M249.5,-36C249.5,-36 174.5,-36 174.5,-36 168.5,-36 162.5,-30 162.5,-24 162.5,-24 162.5,-12 162.5,-12 162.5,-6 168.5,0 174.5,0 174.5,0 249.5,0 249.5,0 255.5,0 261.5,-6 261.5,-12 261.5,-12 261.5,-24 261.5,-24 261.5,-30 255.5,-36 249.5,-36"/>
|
||||
<text text-anchor="middle" x="212" y="-14.3" font-family="monospace" font-size="14.00">Do nothing</text>
|
||||
</g>
|
||||
<!-- censorship -->
|
||||
<g id="node4" class="node">
|
||||
<title>censorship</title>
|
||||
<polygon fill="#ffebc2" stroke="#ffebc2" points="72,-640 0,-582.5 72,-525 144,-582.5 72,-640"/>
|
||||
<text text-anchor="middle" x="72" y="-586.3" font-family="monospace" font-size="14.00">Avoiding</text>
|
||||
<text text-anchor="middle" x="72" y="-571.3" font-family="monospace" font-size="14.00"> censorship?</text>
|
||||
</g>
|
||||
<!-- anonymous->censorship -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>anonymous->censorship</title>
|
||||
<path fill="none" stroke="black" d="M72,-675.98C72,-675.98 72,-650.11 72,-650.11"/>
|
||||
<polygon fill="black" stroke="black" points="72,-640.11 76.5,-650.11 72,-645.11 72,-650.11 72,-650.11 72,-650.11 72,-645.11 67.5,-650.11 72,-640.11 72,-640.11"/>
|
||||
<text text-anchor="middle" x="63.5" y="-651.85" font-family="monospace" font-size="14.00">No</text>
|
||||
</g>
|
||||
<!-- tor -->
|
||||
<g id="node8" class="node">
|
||||
<title>tor</title>
|
||||
<path fill="#7aa0da" stroke="#7aa0da" d="M300,-697.5C300,-697.5 406,-697.5 406,-697.5 412,-697.5 418,-703.5 418,-709.5 418,-709.5 418,-757.5 418,-757.5 418,-763.5 412,-769.5 406,-769.5 406,-769.5 300,-769.5 300,-769.5 294,-769.5 288,-763.5 288,-757.5 288,-757.5 288,-709.5 288,-709.5 288,-703.5 294,-697.5 300,-697.5"/>
|
||||
<text text-anchor="middle" x="353" y="-729.8" font-family="monospace" font-size="14.00">Use Tor</text>
|
||||
</g>
|
||||
<!-- anonymous->tor -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>anonymous->tor</title>
|
||||
<path fill="none" stroke="black" d="M143.64,-733C143.64,-733 277.75,-733 277.75,-733"/>
|
||||
<polygon fill="black" stroke="black" points="287.75,-733 277.75,-737.5 282.75,-733 277.75,-733 277.75,-733 277.75,-733 282.75,-733 277.75,-728.5 287.75,-733 287.75,-733"/>
|
||||
<text text-anchor="middle" x="198.19" y="-736.8" font-family="monospace" font-size="14.00">Yes</text>
|
||||
</g>
|
||||
<!-- privacy -->
|
||||
<g id="node5" class="node">
|
||||
<title>privacy</title>
|
||||
<polygon fill="#ffebc2" stroke="#ffebc2" points="212,-489 140,-431.5 212,-374 284,-431.5 212,-489"/>
|
||||
<text text-anchor="middle" x="212" y="-435.3" font-family="monospace" font-size="14.00">Want privacy</text>
|
||||
<text text-anchor="middle" x="212" y="-420.3" font-family="monospace" font-size="14.00"> from ISP?</text>
|
||||
</g>
|
||||
<!-- censorship->privacy -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>censorship->privacy</title>
|
||||
<path fill="none" stroke="black" d="M84.7,-535C115.31,-535 190.67,-535 190.67,-535 190.67,-535 190.67,-482.11 190.67,-482.11"/>
|
||||
<polygon fill="black" stroke="black" points="190.67,-472.11 195.17,-482.11 190.67,-477.11 190.67,-482.11 190.67,-482.11 190.67,-482.11 190.67,-477.11 186.17,-482.11 190.67,-472.11 190.67,-472.11"/>
|
||||
<text text-anchor="middle" x="155.63" y="-538.8" font-family="monospace" font-size="14.00">No</text>
|
||||
</g>
|
||||
<!-- vpnOrTor -->
|
||||
<g id="node9" class="node">
|
||||
<title>vpnOrTor</title>
|
||||
<path fill="#7aa0da" stroke="#7aa0da" d="M300,-546.5C300,-546.5 406,-546.5 406,-546.5 412,-546.5 418,-552.5 418,-558.5 418,-558.5 418,-606.5 418,-606.5 418,-612.5 412,-618.5 406,-618.5 406,-618.5 300,-618.5 300,-618.5 294,-618.5 288,-612.5 288,-606.5 288,-606.5 288,-558.5 288,-558.5 288,-552.5 294,-546.5 300,-546.5"/>
|
||||
<text text-anchor="middle" x="353" y="-586.3" font-family="monospace" font-size="14.00">Use VPN</text>
|
||||
<text text-anchor="middle" x="353" y="-571.3" font-family="monospace" font-size="14.00"> or Tor</text>
|
||||
</g>
|
||||
<!-- censorship->vpnOrTor -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>censorship->vpnOrTor</title>
|
||||
<path fill="none" stroke="black" d="M129.88,-594C129.88,-594 277.82,-594 277.82,-594"/>
|
||||
<polygon fill="black" stroke="black" points="287.82,-594 277.82,-598.5 282.82,-594 277.82,-594 277.82,-594 277.82,-594 282.82,-594 277.82,-589.5 287.82,-594 287.82,-594"/>
|
||||
<text text-anchor="middle" x="191.35" y="-597.8" font-family="monospace" font-size="14.00">Yes</text>
|
||||
</g>
|
||||
<!-- obnoxious -->
|
||||
<g id="node6" class="node">
|
||||
<title>obnoxious</title>
|
||||
<polygon fill="#ffebc2" stroke="#ffebc2" points="212,-338 140,-280.5 212,-223 284,-280.5 212,-338"/>
|
||||
<text text-anchor="middle" x="212" y="-291.8" font-family="monospace" font-size="14.00">ISP makes</text>
|
||||
<text text-anchor="middle" x="212" y="-276.8" font-family="monospace" font-size="14.00"> obnoxious</text>
|
||||
<text text-anchor="middle" x="212" y="-261.8" font-family="monospace" font-size="14.00"> redirects?</text>
|
||||
</g>
|
||||
<!-- privacy->obnoxious -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>privacy->obnoxious</title>
|
||||
<path fill="none" stroke="black" d="M212,-373.98C212,-373.98 212,-348.11 212,-348.11"/>
|
||||
<polygon fill="black" stroke="black" points="212,-338.11 216.5,-348.11 212,-343.11 212,-348.11 212,-348.11 212,-348.11 212,-343.11 207.5,-348.11 212,-338.11 212,-338.11"/>
|
||||
<text text-anchor="middle" x="203.5" y="-349.85" font-family="monospace" font-size="14.00">No</text>
|
||||
</g>
|
||||
<!-- privacy->vpnOrTor -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>privacy->vpnOrTor</title>
|
||||
<path fill="none" stroke="black" d="M237.33,-468.98C237.33,-510 237.33,-570 237.33,-570 237.33,-570 277.73,-570 277.73,-570"/>
|
||||
<polygon fill="black" stroke="black" points="287.73,-570 277.73,-574.5 282.73,-570 277.73,-570 277.73,-570 277.73,-570 282.73,-570 277.73,-565.5 287.73,-570 287.73,-570"/>
|
||||
<text text-anchor="middle" x="224.83" y="-543.49" font-family="monospace" font-size="14.00">Yes</text>
|
||||
</g>
|
||||
<!-- ispDNS -->
|
||||
<g id="node7" class="node">
|
||||
<title>ispDNS</title>
|
||||
<polygon fill="#ffebc2" stroke="#ffebc2" points="212,-187 140,-129.5 212,-72 284,-129.5 212,-187"/>
|
||||
<text text-anchor="middle" x="212" y="-148.3" font-family="monospace" font-size="14.00">Does ISP</text>
|
||||
<text text-anchor="middle" x="212" y="-133.3" font-family="monospace" font-size="14.00"> support</text>
|
||||
<text text-anchor="middle" x="212" y="-118.3" font-family="monospace" font-size="14.00"> encrypted</text>
|
||||
<text text-anchor="middle" x="212" y="-103.3" font-family="monospace" font-size="14.00"> DNS?</text>
|
||||
</g>
|
||||
<!-- obnoxious->ispDNS -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>obnoxious->ispDNS</title>
|
||||
<path fill="none" stroke="black" d="M212,-222.98C212,-222.98 212,-197.11 212,-197.11"/>
|
||||
<polygon fill="black" stroke="black" points="212,-187.11 216.5,-197.11 212,-192.11 212,-197.11 212,-197.11 212,-197.11 212,-192.11 207.5,-197.11 212,-187.11 212,-187.11"/>
|
||||
<text text-anchor="middle" x="203.5" y="-198.85" font-family="monospace" font-size="14.00">No</text>
|
||||
</g>
|
||||
<!-- encryptedDNS -->
|
||||
<g id="node10" class="node">
|
||||
<title>encryptedDNS</title>
|
||||
<path fill="#7aa0da" stroke="#7aa0da" d="M440,-244.5C440,-244.5 546,-244.5 546,-244.5 552,-244.5 558,-250.5 558,-256.5 558,-256.5 558,-304.5 558,-304.5 558,-310.5 552,-316.5 546,-316.5 546,-316.5 440,-316.5 440,-316.5 434,-316.5 428,-310.5 428,-304.5 428,-304.5 428,-256.5 428,-256.5 428,-250.5 434,-244.5 440,-244.5"/>
|
||||
<text text-anchor="middle" x="493" y="-291.8" font-family="monospace" font-size="14.00">Use encrypted</text>
|
||||
<text text-anchor="middle" x="493" y="-276.8" font-family="monospace" font-size="14.00"> DNS with 3rd</text>
|
||||
<text text-anchor="middle" x="493" y="-261.8" font-family="monospace" font-size="14.00"> party</text>
|
||||
</g>
|
||||
<!-- obnoxious->encryptedDNS -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>obnoxious->encryptedDNS</title>
|
||||
<path fill="none" stroke="black" d="M283.64,-280C283.64,-280 417.75,-280 417.75,-280"/>
|
||||
<polygon fill="black" stroke="black" points="427.75,-280 417.75,-284.5 422.75,-280 417.75,-280 417.75,-280 417.75,-280 422.75,-280 417.75,-275.5 427.75,-280 427.75,-280"/>
|
||||
<text text-anchor="middle" x="338.19" y="-283.8" font-family="monospace" font-size="14.00">Yes</text>
|
||||
</g>
|
||||
<!-- ispDNS->nothing -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>ispDNS->nothing</title>
|
||||
<path fill="none" stroke="black" d="M212,-71.79C212,-71.79 212,-46.13 212,-46.13"/>
|
||||
<polygon fill="black" stroke="black" points="212,-36.13 216.5,-46.13 212,-41.13 212,-46.13 212,-46.13 212,-46.13 212,-41.13 207.5,-46.13 212,-36.13 212,-36.13"/>
|
||||
<text text-anchor="middle" x="203.5" y="-47.76" font-family="monospace" font-size="14.00">No</text>
|
||||
</g>
|
||||
<!-- useISP -->
|
||||
<g id="node11" class="node">
|
||||
<title>useISP</title>
|
||||
<path fill="#7aa0da" stroke="#7aa0da" d="M440,-93.5C440,-93.5 546,-93.5 546,-93.5 552,-93.5 558,-99.5 558,-105.5 558,-105.5 558,-153.5 558,-153.5 558,-159.5 552,-165.5 546,-165.5 546,-165.5 440,-165.5 440,-165.5 434,-165.5 428,-159.5 428,-153.5 428,-153.5 428,-105.5 428,-105.5 428,-99.5 434,-93.5 440,-93.5"/>
|
||||
<text text-anchor="middle" x="493" y="-133.3" font-family="monospace" font-size="14.00">Use encrypted</text>
|
||||
<text text-anchor="middle" x="493" y="-118.3" font-family="monospace" font-size="14.00"> DNS with ISP</text>
|
||||
</g>
|
||||
<!-- ispDNS->useISP -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>ispDNS->useISP</title>
|
||||
<path fill="none" stroke="black" d="M283.64,-129C283.64,-129 417.75,-129 417.75,-129"/>
|
||||
<polygon fill="black" stroke="black" points="427.75,-129 417.75,-133.5 422.75,-129 417.75,-129 417.75,-129 417.75,-129 422.75,-129 417.75,-124.5 427.75,-129 427.75,-129"/>
|
||||
<text text-anchor="middle" x="338.19" y="-132.8" font-family="monospace" font-size="14.00">Yes</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.8 KiB |
1
docs/assets/img/dns/pi-hole.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 89 130"><defs><linearGradient id="a" x1="0%" x2="100%" y1="49.975%" y2="49.975%"><stop offset="0%" stop-color="#12B212"/><stop offset="100%" stop-color="#0F0"/></linearGradient></defs><g fill="none" fill-rule="nonzero"><path fill="url(#a)" d="M36.56 39.93C20.34 38.2 4 25.94 2.71 0c25.17 0 38.63 14.9 39.93 38.51 4.76-28.32 27.07-25 27.07-25 1.06 16.05-12.12 25.78-27.07 26.59-4.2-8.85-29.36-30.56-29.36-30.56a.07.07 0 0 0-.11.08s24.28 21.15 23.39 30.31"/><path fill="#980200" d="M44.16 129.93c-1.57-.09-16.22-.65-17.11-17.11-.72-10 7.18-17.37 7.18-27.08C32.44 61.53 0 64.53 0 85.74a19.94 19.94 0 0 0 5.83 14.14L30 124.06a19.94 19.94 0 0 0 14.14 5.83"/><path fill="red" d="M88.32 85.75c-.09 1.57-.65 16.22-17.11 17.11-10 .72-17.38-7.18-27.08-7.18-24.21 1.79-21.21 34.22 0 34.22a19.94 19.94 0 0 0 14.14-5.83L82.46 99.9a19.94 19.94 0 0 0 5.83-14.14"/><path fill="#980200" d="M44.16 41.59c1.57.09 16.22.65 17.11 17.11.72 10-7.18 17.37-7.18 27.08 1.79 24.21 34.22 21.21 34.22 0a19.94 19.94 0 0 0-5.83-14.14L58.3 47.45a19.94 19.94 0 0 0-14.14-5.83"/><path fill="red" d="M.08 85.75c.09-1.57.65-16.22 17.11-17.11 10-.72 17.38 7.18 27.08 7.18 24.21-1.82 21.21-34.22 0-34.22a19.94 19.94 0 0 0-14.14 5.83L5.94 71.61A19.94 19.94 0 0 0 .11 85.75"/></g></svg>
|
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(4 0 0 4 -201.36 -187.41)" fill-rule="evenodd" stroke-width=".26458"><circle cx="54.572" cy="51.087" r="4.2333" fill="#ff004f"/><path d="m54.571 54.438c-0.89694 0-1.7383-0.34687-2.3693-0.97658-0.63156-0.6305-0.98002-1.4729-0.98081-2.3723a3.3412 3.3412 0 0 1 0.15663-1.0149l0.0018-0.0074c0.02302-0.08096 0.05133-0.15875 0.08414-0.23151 0.0058-0.01455 0.01243-0.03069 0.01931-0.04657 0.0291-0.06641 0.1442-0.29501 0.42016-0.46831 0.2495-0.1569 0.46831-0.17039 0.49371-0.17145 0.06032-0.0071 0.12277-0.01058 0.18494-0.01058 0.2831 0 0.53314 0.11192 0.70432 0.31591 0.13018 0.15531 0.20108 0.34581 0.20638 0.55483a1.1433 1.1433 0 0 1 0.51832-0.12726c0.2831 0 0.5334 0.11218 0.70432 0.31591 0.01032 0.01217 0.02011 0.02487 0.0299 0.03757 0.22728-0.22542 0.52731-0.35348 0.83079-0.35348 0.2831 0 0.53314 0.11218 0.70432 0.31591 0.17357 0.2069 0.24156 0.4789 0.19103 0.76544l-0.1778 1.0073c-0.02381 0.13573 0.0045 0.25982 0.07964 0.34952 0.0725 0.08652 0.18415 0.13414 0.31406 0.13414 0.39211 0 0.52996-0.28575 0.62045-0.59425 0.07752-0.27332 0.11324-0.55748 0.1061-0.84429a2.8244 2.8244 0 0 0-0.85169-1.9545 2.8265 2.8265 0 0 0-1.9698-0.8165h-0.01958c-0.56621 0-1.1136 0.16669-1.5827 0.48286a0.25665 0.25665 0 0 1-0.14393 0.04419 0.25347 0.25347 0 0 1-0.19288-0.08864l-0.0013-0.0016a0.254 0.254 0 0 1 0.05186-0.37518 3.3298 3.3298 0 0 1 1.936-0.57044 3.3348 3.3348 0 0 1 2.2886 0.97102 3.334 3.334 0 0 1 0.9943 2.2786 3.3507 3.3507 0 0 1-0.10848 0.95409h2.64e-4l-0.01138 0.0418-5e-3 0.01667a3.3258 3.3258 0 0 1-0.10583 0.31406c-0.0209 0.04948-0.13705 0.30242-0.42307 0.48207-0.24738 0.15558-0.44265 0.16351-0.46567 0.16404a1.2938 1.2938 0 0 1-0.11615 0.0053c-0.2831 0-0.5334-0.11218-0.70432-0.31591-0.17357-0.20717-0.24156-0.47889-0.19103-0.76544l0.1778-1.0075c0.02381-0.13547-0.0045-0.25982-0.07964-0.34925-0.0725-0.08652-0.18415-0.13414-0.31406-0.13414-0.3085 0-0.61516 0.26194-0.66966 0.57203l-0.19447 1.0578a0.1397 0.1397 0 0 1-0.13758 0.1143h-0.23363a0.13944 0.13944 0 0 1-0.13758-0.16484l0.20161-1.0964c0.02381-0.13494-0.0045-0.25929-0.07937-0.34899-0.07276-0.08625-0.18442-0.13388-0.31432-0.13388-0.30824 0-0.61489 0.26194-0.66966 0.57203l-0.1942 1.0578a0.1397 0.1397 0 0 1-0.13758 0.1143h-0.23336a0.13917 0.13917 0 0 1-0.13758-0.16484l0.20214-1.1004 0.13547-0.74057c0.02381-0.13467-0.0048-0.25823-0.0799-0.34793-0.0725-0.08652-0.18415-0.13414-0.31406-0.13414-0.32015 0-0.52626 0.12303-0.64929 0.38708a2.821 2.821 0 0 0-0.19976 1.1663c0.02858 0.72416 0.33496 1.4057 0.86254 1.9188 0.52784 0.51303 1.2179 0.8001 1.9428 0.80883h0.03413c0.59955 0 1.1734-0.18521 1.6595-0.53605a0.24924 0.24924 0 0 1 0.14684-0.04763 0.25453 0.25453 0 0 1 0.14949 0.46117 3.3261 3.3261 0 0 1-1.9571 0.63209" fill="#fff2f6"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><g fill-rule="evenodd" stroke-width=".265" transform="matrix(4 0 0 4 -201.36 -187.41)"><circle cx="54.572" cy="51.087" r="4.233" fill="#ff004f"/><path fill="#fff2f6" d="m54.571 54.438c-0.89694 0-1.7383-0.34687-2.3693-0.97658-0.63156-0.6305-0.98002-1.4729-0.98081-2.3723a3.3412 3.3412 0 0 1 0.15663-1.0149l0.0018-0.0074c0.02302-0.08096 0.05133-0.15875 0.08414-0.23151 0.0058-0.01455 0.01243-0.03069 0.01931-0.04657 0.0291-0.06641 0.1442-0.29501 0.42016-0.46831 0.2495-0.1569 0.46831-0.17039 0.49371-0.17145 0.06032-0.0071 0.12277-0.01058 0.18494-0.01058 0.2831 0 0.53314 0.11192 0.70432 0.31591 0.13018 0.15531 0.20108 0.34581 0.20638 0.55483a1.1433 1.1433 0 0 1 0.51832-0.12726c0.2831 0 0.5334 0.11218 0.70432 0.31591 0.01032 0.01217 0.02011 0.02487 0.0299 0.03757 0.22728-0.22542 0.52731-0.35348 0.83079-0.35348 0.2831 0 0.53314 0.11218 0.70432 0.31591 0.17357 0.2069 0.24156 0.4789 0.19103 0.76544l-0.1778 1.0073c-0.02381 0.13573 0.0045 0.25982 0.07964 0.34952 0.0725 0.08652 0.18415 0.13414 0.31406 0.13414 0.39211 0 0.52996-0.28575 0.62045-0.59425 0.07752-0.27332 0.11324-0.55748 0.1061-0.84429a2.8244 2.8244 0 0 0-0.85169-1.9545 2.8265 2.8265 0 0 0-1.9698-0.8165h-0.01958c-0.56621 0-1.1136 0.16669-1.5827 0.48286a0.25665 0.25665 0 0 1-0.14393 0.04419 0.25347 0.25347 0 0 1-0.19288-0.08864l-0.0013-0.0016a0.254 0.254 0 0 1 0.05186-0.37518 3.3298 3.3298 0 0 1 1.936-0.57044 3.3348 3.3348 0 0 1 2.2886 0.97102 3.334 3.334 0 0 1 0.9943 2.2786 3.3507 3.3507 0 0 1-0.10848 0.95409h2.64e-4l-0.01138 0.0418-5e-3 0.01667a3.3258 3.3258 0 0 1-0.10583 0.31406c-0.0209 0.04948-0.13705 0.30242-0.42307 0.48207-0.24738 0.15558-0.44265 0.16351-0.46567 0.16404a1.2938 1.2938 0 0 1-0.11615 0.0053c-0.2831 0-0.5334-0.11218-0.70432-0.31591-0.17357-0.20717-0.24156-0.47889-0.19103-0.76544l0.1778-1.0075c0.02381-0.13547-0.0045-0.25982-0.07964-0.34925-0.0725-0.08652-0.18415-0.13414-0.31406-0.13414-0.3085 0-0.61516 0.26194-0.66966 0.57203l-0.19447 1.0578a0.1397 0.1397 0 0 1-0.13758 0.1143h-0.23363a0.13944 0.13944 0 0 1-0.13758-0.16484l0.20161-1.0964c0.02381-0.13494-0.0045-0.25929-0.07937-0.34899-0.07276-0.08625-0.18442-0.13388-0.31432-0.13388-0.30824 0-0.61489 0.26194-0.66966 0.57203l-0.1942 1.0578a0.1397 0.1397 0 0 1-0.13758 0.1143h-0.23336a0.13917 0.13917 0 0 1-0.13758-0.16484l0.20214-1.1004 0.13547-0.74057c0.02381-0.13467-0.0048-0.25823-0.0799-0.34793-0.0725-0.08652-0.18415-0.13414-0.31406-0.13414-0.32015 0-0.52626 0.12303-0.64929 0.38708a2.821 2.821 0 0 0-0.19976 1.1663c0.02858 0.72416 0.33496 1.4057 0.86254 1.9188 0.52784 0.51303 1.2179 0.8001 1.9428 0.80883h0.03413c0.59955 0 1.1734-0.18521 1.6595-0.53605a0.24924 0.24924 0 0 1 0.14684-0.04763 0.25453 0.25453 0 0 1 0.14949 0.46117 3.3261 3.3261 0 0 1-1.9571 0.63209"/></g></svg>
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="linearGradient3351" x1="19.136" x2="31.472" y1="25.27" y2="25.27" gradientTransform="matrix(.71117 0 0 .71117 -67.298 91.118)" gradientUnits="userSpaceOnUse"><stop style="stop-color:#f00" offset="0"/><stop style="stop-color:#940000" offset="1"/></linearGradient><linearGradient id="linearGradient3241" x1="571.4" x2="539.43" y1="443.67" y2="394.39" gradientTransform="matrix(.058689 0 0 .058689 -71.776 80.276)" gradientUnits="userSpaceOnUse"><stop style="stop-color:#f0f" offset="0"/><stop style="stop-color:#fff" offset="1"/></linearGradient><radialGradient id="radialGradient3289" cx="290.8" cy="613.59" r="164.4" gradientTransform="matrix(-.035187 .081785 -.062691 -.026972 -6.6617 102.21)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3257"/><linearGradient id="linearGradient3257"><stop style="stop-color:#cecece" offset="0"/><stop style="stop-color:#868686" offset="1"/></linearGradient><radialGradient id="radialGradient3281" cx="467.96" cy="366.79" r="131.9" gradientTransform="matrix(.058689 0 0 .079069 -72.48 72.186)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3257"/></defs><g transform="matrix(1.0306 0 0 1.0306 69.297 -94.605)"><path d="m-52.679 105.09c-0.80831 3.0009 4.8889 6.4141 6.9956 7.2327 1.621-0.0377 4.6354 0.26365 5.9285-2.2528 1.4346-2.8586 1.2071-5.4798-1.7785-7.707-0.57748-2.8595 1.8728-3.9888 3.3199-5.6913-1.8181-1.0111-3.6361 0.11135-5.4542 2.2528-1.3051-1.6874-0.90773-3.8855 0.94856-6.5213-6.1777 0.8148-5.0283 3.7846-6.2842 6.047-1.2252 1.6026-2.4504 3.1874-3.6757 6.6399z" style="fill-rule:evenodd;fill:url(#radialGradient3281);stroke-width:.93902;stroke:#000"/><path d="m-59.895 115.64c-2.4729 2.5088-3.731 5.128-1.6416 8.0515h6.879c2.2243-4.733-1.02-5.0368-3.9867-3.7522 1.4074-1.2454 2.4469-2.6379 2.8141-4.2994" style="fill-rule:evenodd;fill:#4d4d4d;stroke-width:.88033;stroke:#000"/><path d="m-50.201 116.5c0.01743 2.3365-0.12443 4.5136 0.07817 7.0353l7.5043-0.0782c1.0315-4.8876-0.25266-6.119-4.2212-4.143l-1.0162-4.2212" style="fill-opacity:.75;fill-rule:evenodd;stroke-width:.88033;stroke:#000"/><path d="m-52.679 105.09c-1.863 2.357-3.868 3.2941-6.047 2.49-2.6002-3.5966-3.8557-7.1932-1.4228-10.79-3.1017 1.8395-5.1886 4.2759-2.9642 9.2484l0.71142 1.8971c-1.2853 2.9036-2.7771 5.8219 0.23714 8.4184 6.255 5.1008 16.182-1.3908 15.066-2.2528l1.4148-1.7786" style="fill-rule:evenodd;fill:url(#radialGradient3289);stroke-linejoin:round;stroke-width:.93874;stroke:#000"/><ellipse cx="-39.023" cy="105.06" rx="2.5796" ry="2.5014" style="fill:url(#linearGradient3241);stroke-linecap:round;stroke-width:.58316;stroke:#000"/><ellipse cx="-43.792" cy="102.21" rx=".23451" ry=".74261" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:.93902;stroke:#000"/><ellipse cx="-41.915" cy="102.13" rx=".23451" ry=".74261" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:.93902;stroke:#000"/><path d="m-44.886 94.355c-0.98391 0.92447-2.0139 1.7567-2.1888 4.2994 0.55261-0.47339 1.1474-0.77818 2.1106 0.39085-1.1049-1.4018-0.13822-3.0996 0.07817-4.6902z" style="fill-opacity:.75;fill-rule:evenodd;fill:#4d4d4d"/><path d="m-40.425 97.656c-0.91487 0.33668-1.8239 0.60877-2.842 2.0786 0.49735-0.16193 0.95899-0.21484 1.1085 0.68516-0.14966-1.0685 1.0332-1.8673 1.7335-2.7638z" style="fill-opacity:.75;fill-rule:evenodd;fill:#4d4d4d"/><path d="m-53.824 105.61c2.0213 2.5796 4.1878 5.5501 7.3747 8.1297l1.4071-1.3289c-3.3863-2.8572-5.5263-5.8165-7.7913-8.2999z" style="fill-rule:evenodd;fill:url(#linearGradient3351);stroke-width:.25236;stroke:#000"/><path d="m-62.161 115.85c-2.4729 2.5088-3.9655 5.4407-1.8761 8.3642h6.879c2.8498-5.567-0.61011-5.5833-3.9867-3.7522 1.1481-1.11 2.8092-1.9059 2.9863-4.0807" style="fill-rule:evenodd;fill:#a2a2a2;stroke-linecap:round;stroke-width:.88033;stroke:#000"/><path d="m-52.96 117.24c0.01743 2.3365-0.17971 4.2926 0.02289 6.8142l7.5043-0.0782c1.3168-4.5107 0.60268-6.8634-4.2212-4.143l-0.33558-3.7253" style="fill-rule:evenodd;fill:#a0a0a0;stroke-linecap:round;stroke-width:.88033;stroke:#000"/><ellipse cx="-43.967" cy="101.66" rx=".01458" ry=".020412" style="fill-rule:evenodd;fill:#f00;stroke-linecap:round;stroke-linejoin:round;stroke-width:.74034;stroke:#fff"/><ellipse cx="-42.161" cy="101.66" rx=".01458" ry=".020412" style="fill-rule:evenodd;fill:#f00;stroke-linecap:round;stroke-linejoin:round;stroke-width:.74034;stroke:#fff"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><defs><linearGradient id="linearGradient3351" x1="19.136" x2="31.472" y1="25.27" y2="25.27" gradientTransform="matrix(.71117 0 0 .71117 -67.298 91.118)" gradientUnits="userSpaceOnUse"><stop style="stop-color:red" offset="0"/><stop style="stop-color:#940000" offset="1"/></linearGradient><linearGradient id="linearGradient3241" x1="571.4" x2="539.43" y1="443.67" y2="394.39" gradientTransform="matrix(.058689 0 0 .058689 -71.776 80.276)" gradientUnits="userSpaceOnUse"><stop style="stop-color:#f0f" offset="0"/><stop style="stop-color:#fff" offset="1"/></linearGradient><radialGradient id="radialGradient3289" cx="290.8" cy="613.59" r="164.4" gradientTransform="matrix(-.035187 .081785 -.062691 -.026972 -6.6617 102.21)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3257"/><linearGradient id="linearGradient3257"><stop style="stop-color:#cecece" offset="0"/><stop style="stop-color:#868686" offset="1"/></linearGradient><radialGradient id="radialGradient3281" cx="467.96" cy="366.79" r="131.9" gradientTransform="matrix(.058689 0 0 .079069 -72.48 72.186)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3257"/></defs><g transform="matrix(1.0306 0 0 1.0306 69.297 -94.605)"><path d="m-52.679 105.09c-0.80831 3.0009 4.8889 6.4141 6.9956 7.2327 1.621-0.0377 4.6354 0.26365 5.9285-2.2528 1.4346-2.8586 1.2071-5.4798-1.7785-7.707-0.57748-2.8595 1.8728-3.9888 3.3199-5.6913-1.8181-1.0111-3.6361 0.11135-5.4542 2.2528-1.3051-1.6874-0.90773-3.8855 0.94856-6.5213-6.1777 0.8148-5.0283 3.7846-6.2842 6.047-1.2252 1.6026-2.4504 3.1874-3.6757 6.6399z" style="fill-rule:evenodd;fill:url(#radialGradient3281);stroke-width:.93902;stroke:#000"/><path d="m-59.895 115.64c-2.4729 2.5088-3.731 5.128-1.6416 8.0515h6.879c2.2243-4.733-1.02-5.0368-3.9867-3.7522 1.4074-1.2454 2.4469-2.6379 2.8141-4.2994" style="fill-rule:evenodd;fill:#4d4d4d;stroke-width:.88033;stroke:#000"/><path d="m-50.201 116.5c0.01743 2.3365-0.12443 4.5136 0.07817 7.0353l7.5043-0.0782c1.0315-4.8876-0.25266-6.119-4.2212-4.143l-1.0162-4.2212" style="fill-opacity:.75;fill-rule:evenodd;stroke-width:.88033;stroke:#000"/><path d="m-52.679 105.09c-1.863 2.357-3.868 3.2941-6.047 2.49-2.6002-3.5966-3.8557-7.1932-1.4228-10.79-3.1017 1.8395-5.1886 4.2759-2.9642 9.2484l0.71142 1.8971c-1.2853 2.9036-2.7771 5.8219 0.23714 8.4184 6.255 5.1008 16.182-1.3908 15.066-2.2528l1.4148-1.7786" style="fill-rule:evenodd;fill:url(#radialGradient3289);stroke-linejoin:round;stroke-width:.93874;stroke:#000"/><ellipse cx="-39.023" cy="105.06" rx="2.58" ry="2.501" style="fill:url(#linearGradient3241);stroke-linecap:round;stroke-width:.58316;stroke:#000"/><ellipse cx="-43.792" cy="102.21" rx=".235" ry=".743" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:.93902;stroke:#000"/><ellipse cx="-41.915" cy="102.13" rx=".235" ry=".743" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:.93902;stroke:#000"/><path d="m-44.886 94.355c-0.98391 0.92447-2.0139 1.7567-2.1888 4.2994 0.55261-0.47339 1.1474-0.77818 2.1106 0.39085-1.1049-1.4018-0.13822-3.0996 0.07817-4.6902z" style="fill-opacity:.75;fill-rule:evenodd;fill:#4d4d4d"/><path d="m-40.425 97.656c-0.91487 0.33668-1.8239 0.60877-2.842 2.0786 0.49735-0.16193 0.95899-0.21484 1.1085 0.68516-0.14966-1.0685 1.0332-1.8673 1.7335-2.7638z" style="fill-opacity:.75;fill-rule:evenodd;fill:#4d4d4d"/><path d="m-53.824 105.61c2.0213 2.5796 4.1878 5.5501 7.3747 8.1297l1.4071-1.3289c-3.3863-2.8572-5.5263-5.8165-7.7913-8.2999z" style="fill-rule:evenodd;fill:url(#linearGradient3351);stroke-width:.25236;stroke:#000"/><path d="m-62.161 115.85c-2.4729 2.5088-3.9655 5.4407-1.8761 8.3642h6.879c2.8498-5.567-0.61011-5.5833-3.9867-3.7522 1.1481-1.11 2.8092-1.9059 2.9863-4.0807" style="fill-rule:evenodd;fill:#a2a2a2;stroke-linecap:round;stroke-width:.88033;stroke:#000"/><path d="m-52.96 117.24c0.01743 2.3365-0.17971 4.2926 0.02289 6.8142l7.5043-0.0782c1.3168-4.5107 0.60268-6.8634-4.2212-4.143l-0.33558-3.7253" style="fill-rule:evenodd;fill:#a0a0a0;stroke-linecap:round;stroke-width:.88033;stroke:#000"/><ellipse cx="-43.967" cy="101.66" rx=".015" ry=".02" style="fill-rule:evenodd;fill:red;stroke-linecap:round;stroke-linejoin:round;stroke-width:.74034;stroke:#fff"/><ellipse cx="-42.161" cy="101.66" rx=".015" ry=".02" style="fill-rule:evenodd;fill:red;stroke-linecap:round;stroke-linejoin:round;stroke-width:.74034;stroke:#fff"/></g></svg>
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="384" height="128" version="1.1" viewBox="0 0 101.6 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.05357 0 0 .05357 -2.7694 6.1687)"><path class="st0" d="m107.8 179.5c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l37-28.9c5.8-4.5 14.1-3.5 18.7 2.3 4.5 5.8 3.5 14.1-2.3 18.7l-37 28.9c-1.8 1.5-3.9 2.4-6.1 2.7z" fill="#3ae7e1"/><path class="st1" d="m71.9 207.7c-4.6 0.7-9.5-1-12.6-4.9-4.5-5.8-3.5-14.1 2.3-18.7l3.5-2.7c5.8-4.5 14.1-3.5 18.7 2.3 4.5 5.8 3.5 14.1-2.3 18.7l-3.5 2.7c-1.8 1.4-3.9 2.3-6.1 2.6z" fill="#f5f7fa"/><path class="st0" d="m67.1 283.6c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l81.2-63.4c5.8-4.5 14.2-3.5 18.7 2.3s3.5 14.1-2.3 18.7l-81.2 63.5c-1.9 1.4-4 2.3-6.1 2.6z" fill="#3ae7e1"/><path class="st1" d="m182.8 193.6c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l12.9-10.1c5.8-4.5 14.1-3.5 18.7 2.3 4.5 5.8 3.5 14.1-2.3 18.7l-12.9 10.1c-1.9 1.4-4 2.3-6.1 2.7z" fill="#f5f7fa"/><path class="st0" d="m175.7 271.1c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l66.6-52c5.8-4.5 14.2-3.5 18.7 2.3s3.5 14.1-2.3 18.7l-66.6 52c-1.8 1.5-3.9 2.4-6.1 2.7z" fill="#3ae7e1"/><path class="st1" d="m139.3 300c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.2 2.3-18.7l4.7-3.7c5.8-4.5 14.2-3.5 18.7 2.3s3.5 14.2-2.3 18.7l-4.7 3.7c-1.9 1.5-4 2.4-6.1 2.7z" fill="#f5f7fa"/><path class="st0" d="m475 40.4h-308.8c-11.5 0-22.2 7.1-25.6 18.1-1.6 5.1-1.5 10.3 0 15 1.5 4.8 4.5 9.2 8.7 12.5 0 0 118.3 91.9 147.3 111.9 10.4 6.7 20.5 4.4 26.5-0.2l150.1-116.8v201.9c0 19.7-16 35.7-35.7 35.7h-283.7c-7.3 0-13.2 5.9-13.2 13.2 0 7.4 6 13.4 13.4 13.4h283.4c34.4 0 62.3-27.9 62.3-62.3v-217.7c0.1-13.6-11-24.7-24.7-24.7zm-213.6 110.1 0.1-0.7 0.4 0.6zm48.3 24-137.5-107.5h275.5z" fill="#3ae7e1"/><g fill="#3ae7e1"><path class="st0" d="m791.7 281.8c2.4 6.5 0 9.8-6.8 9.8h-15.5c-12.2 0-16.1-1.8-18.4-8.9l-13.7-38.4h-82.1l-14 38.4c-2.4 7.1-6.2 8.9-18.4 8.9h-13.7c-6.8 0-9.2-3.3-6.8-9.8l74.3-193.3c2.7-6.8 5.4-8.3 12.5-8.3h15.8c7.1 0 10.1 1.8 12.5 8zm-87.4-130.8c-3.6-10.7-5.9-24.4-6.8-31.2l-0.3-5.1h-2.1c0 11.3-2.1 23.2-6.5 36l-22.9 63h61.3z"/><path class="st0" d="m881.8 133.2c41.6 0 61.8 21.4 61.8 59.8v89.5c0 6.8-2.4 9.2-9.2 9.2h-16.4c-6.8 0-8.9-2.4-8.9-9.2v-88.6c0-19.3-10.7-29.1-32.4-29.1-9.5 0-19 1.2-28.5 3.9-1.5 0.6-2.1 1.5-2.1 3v110.9c0 6.8-2.1 9.2-8.9 9.2h-16.4c-6.8 0-9.2-2.4-9.2-9.2v-122.4c0-9.5 2.1-13.1 11.6-16.9 17-6.9 36.3-10.1 58.6-10.1z"/><path class="st0" d="m971.6 192.6c0-37.2 24.7-59.5 68.4-59.5 44 0 68.7 22.3 68.7 59.5v44c0 37.2-24.7 59.5-68.7 59.5-43.7 0-68.4-22.3-68.4-59.5zm102.6 0c0-18.1-12.5-28.2-34.2-28.2s-33.9 10.1-33.9 28.2v44c0 17.8 12.2 28.2 33.9 28.2s34.2-10.4 34.2-28.2z"/><path class="st0" d="m1207.7 133.2c41.6 0 61.8 21.4 61.8 59.8v89.5c0 6.8-2.4 9.2-9.2 9.2h-16.4c-6.8 0-8.9-2.4-8.9-9.2v-88.6c0-19.3-10.7-29.1-32.4-29.1-9.5 0-19 1.2-28.5 3.9-1.5 0.6-2.1 1.5-2.1 3v110.9c0 6.8-2.1 9.2-8.9 9.2h-16.4c-6.8 0-9.2-2.4-9.2-9.2v-122.4c0-9.5 2.1-13.1 11.6-16.9 16.9-6.9 36.3-10.1 58.6-10.1z"/></g><g fill="#f5f7fa"><path class="st1" d="m1477.7 281.8c2.4 6.5 0 9.8-6.8 9.8h-15.5c-12.2 0-16.1-1.8-18.4-8.9l-13.7-38.4h-82.1l-14 38.4c-2.4 7.1-6.2 8.9-18.4 8.9h-13.7c-6.8 0-9.2-3.3-6.8-9.8l74.3-193.3c2.7-6.8 5.4-8.3 12.5-8.3h15.8c7.1 0 10.1 1.8 12.5 8zm-87.5-130.8c-3.6-10.7-5.9-24.4-6.8-31.2l-0.3-5.1h-2.1c0 11.3-2.1 23.2-6.5 36l-22.9 63h61.3z"/><path class="st1" d="m1490.7 195.3c0-40.4 20.8-62.1 62.1-62.1 9.2 0 20.8 1.2 35.4 3.9v-56.3c0-6.8 2.1-9.2 8.9-9.2h16.4c6.8 0 9.2 2.4 9.2 9.2v189.4c0 9.5-2.4 12.5-11.9 16.4-16.9 6.2-35.4 9.5-55.6 9.5-43.1 0-64.5-19.9-64.5-60.1zm97.6-26.7c-11.9-2.7-21.4-3.9-28.8-3.9-22.9 0-34.2 10.4-34.2 31.5v38.7c0 19.9 11 29.7 33.3 29.7 10.4 0 19.6-1.2 27.4-3.3 1.5-0.6 2.4-1.8 2.4-3.3v-89.4z"/><path class="st1" d="m1651.9 195.3c0-40.4 20.8-62.1 62.1-62.1 9.2 0 20.8 1.2 35.4 3.9v-56.3c0-6.8 2.1-9.2 8.9-9.2h16.4c6.8 0 9.2 2.4 9.2 9.2v189.4c0 9.5-2.4 12.5-11.9 16.4-16.9 6.2-35.4 9.5-55.6 9.5-43.1 0-64.5-19.9-64.5-60.1zm97.5-26.7c-11.9-2.7-21.4-3.9-28.8-3.9-22.9 0-34.2 10.4-34.2 31.5v38.7c0 19.9 11 29.7 33.3 29.7 10.4 0 19.6-1.2 27.4-3.3 1.5-0.6 2.4-1.8 2.4-3.3v-89.4z"/><path class="st1" d="m1939.1 137.6c6.8 0 9.2 2.1 9.2 8.9v150.2c0 40.7-20.5 64.8-65.4 64.8-29.4 0-50.3-9.5-61.8-28.5-4.2-6.5-3-11.6 3.9-14.9l11.3-6.2c7.1-3.6 10.4-2.7 14.9 3.6 6.2 10.1 16.6 15.2 31.2 15.2 21.1 0 31.5-10.7 31.5-32.1v-14c-12.2 2.7-24.1 4.2-35.4 4.2-41.6 0-62.1-21.4-62.1-59.8v-82.4c0-6.8 2.4-8.9 9.2-8.9h16.4c6.8 0 8.9 2.1 8.9 8.9v81.2c0 19.6 10.7 29.4 32.4 29.4 9.8 0 19.9-1.5 30.6-4.2v-106.5c0-6.8 2.4-8.9 9.2-8.9z"/></g></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 91 62"><g fill="none" fill-rule="nonzero"><path fill="#3AE7E1" d="M11.36 28.163a2.704 2.704 0 0 1-2.085-4.799l7.492-5.85a2.704 2.704 0 0 1 3.786.465 2.704 2.704 0 0 1-.466 3.786l-7.491 5.852c-.365.304-.79.486-1.235.546Z"/><path fill="#F5F7FA" d="M4.092 33.873a2.736 2.736 0 0 1-2.551-.992 2.704 2.704 0 0 1 .466-3.786l.708-.547a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-.709.547c-.364.283-.79.465-1.235.526Z"/><path fill="#3AE7E1" d="M3.12 49.24a2.704 2.704 0 0 1-2.085-4.799l16.44-12.836c1.175-.91 2.875-.708 3.787.466a2.704 2.704 0 0 1-.466 3.786L4.356 48.714c-.385.284-.81.466-1.236.527Z"/><path fill="#F5F7FA" d="M26.546 31.018a2.704 2.704 0 0 1-2.085-4.799l2.611-2.044a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-2.612 2.045c-.385.283-.81.465-1.235.546Z"/><path fill="#3AE7E1" d="M25.108 46.71a2.704 2.704 0 0 1-2.085-4.799l13.484-10.528c1.175-.911 2.876-.709 3.787.465a2.704 2.704 0 0 1-.466 3.787L26.344 46.163c-.365.304-.79.486-1.236.547Z"/><path fill="#F5F7FA" d="M17.739 52.561a2.706 2.706 0 0 1-2.552-1.012c-.91-1.175-.708-2.875.466-3.786l.952-.75c1.174-.91 2.875-.708 3.786.466s.709 2.875-.466 3.786l-.951.75a2.59 2.59 0 0 1-1.235.546Z"/><path fill="#3AE7E1" d="M85.708 0H23.185c-2.328 0-4.495 1.438-5.183 3.665a5.014 5.014 0 0 0 0 3.037 5.21 5.21 0 0 0 1.761 2.53S43.715 27.84 49.587 31.89c2.106 1.356 4.15.89 5.365-.04L85.343 8.2v40.879a7.232 7.232 0 0 1-7.228 7.228h-57.44a2.67 2.67 0 0 0-2.673 2.672 2.713 2.713 0 0 0 2.713 2.713h57.38c6.965 0 12.614-5.649 12.614-12.613V5C90.729 2.247 88.48 0 85.708 0ZM52.239 27.151 24.4 5.386H80.18L52.24 27.15Z"/></g></svg>
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 1.6 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="384" height="128" version="1.1" viewBox="0 0 101.6 33.867" xmlns="http://www.w3.org/2000/svg"><g id="XMLID_1_" transform="matrix(.05357 0 0 .05357 -2.7694 6.1687)"><g id="XMLID_29_"><path id="XMLID_41_" class="st0" d="m107.8 179.5c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l37-28.9c5.8-4.5 14.1-3.5 18.7 2.3 4.5 5.8 3.5 14.1-2.3 18.7l-37 28.9c-1.8 1.5-3.9 2.4-6.1 2.7z" fill="#3ae7e1"/></g><g id="XMLID_30_"><path id="XMLID_40_" class="st1" d="m71.9 207.7c-4.6 0.7-9.5-1-12.6-4.9-4.5-5.8-3.5-14.1 2.3-18.7l3.5-2.7c5.8-4.5 14.1-3.5 18.7 2.3 4.5 5.8 3.5 14.1-2.3 18.7l-3.5 2.7c-1.8 1.4-3.9 2.3-6.1 2.6z" fill="#7b8794"/></g><g id="XMLID_31_"><path id="XMLID_39_" class="st0" d="m67.1 283.6c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l81.2-63.4c5.8-4.5 14.2-3.5 18.7 2.3s3.5 14.1-2.3 18.7l-81.2 63.5c-1.9 1.4-4 2.3-6.1 2.6z" fill="#3ae7e1"/></g><g id="XMLID_34_"><path id="XMLID_38_" class="st1" d="m182.8 193.6c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l12.9-10.1c5.8-4.5 14.1-3.5 18.7 2.3 4.5 5.8 3.5 14.1-2.3 18.7l-12.9 10.1c-1.9 1.4-4 2.3-6.1 2.7z" fill="#7b8794"/></g><g id="XMLID_32_"><path id="XMLID_37_" class="st0" d="m175.7 271.1c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l66.6-52c5.8-4.5 14.2-3.5 18.7 2.3s3.5 14.1-2.3 18.7l-66.6 52c-1.8 1.5-3.9 2.4-6.1 2.7z" fill="#3ae7e1"/></g><path id="XMLID_36_" class="st1" d="m139.3 300c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.2 2.3-18.7l4.7-3.7c5.8-4.5 14.2-3.5 18.7 2.3s3.5 14.2-2.3 18.7l-4.7 3.7c-1.9 1.5-4 2.4-6.1 2.7z" fill="#7b8794"/><path id="XMLID_44_" class="st0" d="m475 40.4h-308.8c-11.5 0-22.2 7.1-25.6 18.1-1.6 5.1-1.5 10.3 0 15 1.5 4.8 4.5 9.2 8.7 12.5 0 0 118.3 91.9 147.3 111.9 10.4 6.7 20.5 4.4 26.5-0.2l150.1-116.8v201.9c0 19.7-16 35.7-35.7 35.7h-283.7c-7.3 0-13.2 5.9-13.2 13.2 0 7.4 6 13.4 13.4 13.4h283.4c34.4 0 62.3-27.9 62.3-62.3v-217.7c0.1-13.6-11-24.7-24.7-24.7zm-213.6 110.1 0.1-0.7 0.4 0.6zm48.3 24-137.5-107.5h275.5z" fill="#3ae7e1"/><g id="XMLID_81_"><g id="XMLID_4_" fill="#3ae7e1"><path id="XMLID_25_" class="st0" d="m791.7 281.8c2.4 6.5 0 9.8-6.8 9.8h-15.5c-12.2 0-16.1-1.8-18.4-8.9l-13.7-38.4h-82.1l-14 38.4c-2.4 7.1-6.2 8.9-18.4 8.9h-13.7c-6.8 0-9.2-3.3-6.8-9.8l74.3-193.3c2.7-6.8 5.4-8.3 12.5-8.3h15.8c7.1 0 10.1 1.8 12.5 8zm-87.4-130.8c-3.6-10.7-5.9-24.4-6.8-31.2l-0.3-5.1h-2.1c0 11.3-2.1 23.2-6.5 36l-22.9 63h61.3z"/><path id="XMLID_28_" class="st0" d="m881.8 133.2c41.6 0 61.8 21.4 61.8 59.8v89.5c0 6.8-2.4 9.2-9.2 9.2h-16.4c-6.8 0-8.9-2.4-8.9-9.2v-88.6c0-19.3-10.7-29.1-32.4-29.1-9.5 0-19 1.2-28.5 3.9-1.5 0.6-2.1 1.5-2.1 3v110.9c0 6.8-2.1 9.2-8.9 9.2h-16.4c-6.8 0-9.2-2.4-9.2-9.2v-122.4c0-9.5 2.1-13.1 11.6-16.9 17-6.9 36.3-10.1 58.6-10.1z"/><path id="XMLID_65_" class="st0" d="m971.6 192.6c0-37.2 24.7-59.5 68.4-59.5 44 0 68.7 22.3 68.7 59.5v44c0 37.2-24.7 59.5-68.7 59.5-43.7 0-68.4-22.3-68.4-59.5zm102.6 0c0-18.1-12.5-28.2-34.2-28.2s-33.9 10.1-33.9 28.2v44c0 17.8 12.2 28.2 33.9 28.2s34.2-10.4 34.2-28.2z"/><path id="XMLID_68_" class="st0" d="m1207.7 133.2c41.6 0 61.8 21.4 61.8 59.8v89.5c0 6.8-2.4 9.2-9.2 9.2h-16.4c-6.8 0-8.9-2.4-8.9-9.2v-88.6c0-19.3-10.7-29.1-32.4-29.1-9.5 0-19 1.2-28.5 3.9-1.5 0.6-2.1 1.5-2.1 3v110.9c0 6.8-2.1 9.2-8.9 9.2h-16.4c-6.8 0-9.2-2.4-9.2-9.2v-122.4c0-9.5 2.1-13.1 11.6-16.9 16.9-6.9 36.3-10.1 58.6-10.1z"/></g><g id="XMLID_24_" fill="#7b8794"><path id="XMLID_70_" class="st1" d="m1477.7 281.8c2.4 6.5 0 9.8-6.8 9.8h-15.5c-12.2 0-16.1-1.8-18.4-8.9l-13.7-38.4h-82.1l-14 38.4c-2.4 7.1-6.2 8.9-18.4 8.9h-13.7c-6.8 0-9.2-3.3-6.8-9.8l74.3-193.3c2.7-6.8 5.4-8.3 12.5-8.3h15.8c7.1 0 10.1 1.8 12.5 8zm-87.5-130.8c-3.6-10.7-5.9-24.4-6.8-31.2l-0.3-5.1h-2.1c0 11.3-2.1 23.2-6.5 36l-22.9 63h61.3z"/><path id="XMLID_73_" class="st1" d="m1490.7 195.3c0-40.4 20.8-62.1 62.1-62.1 9.2 0 20.8 1.2 35.4 3.9v-56.3c0-6.8 2.1-9.2 8.9-9.2h16.4c6.8 0 9.2 2.4 9.2 9.2v189.4c0 9.5-2.4 12.5-11.9 16.4-16.9 6.2-35.4 9.5-55.6 9.5-43.1 0-64.5-19.9-64.5-60.1zm97.6-26.7c-11.9-2.7-21.4-3.9-28.8-3.9-22.9 0-34.2 10.4-34.2 31.5v38.7c0 19.9 11 29.7 33.3 29.7 10.4 0 19.6-1.2 27.4-3.3 1.5-0.6 2.4-1.8 2.4-3.3v-89.4z"/><path id="XMLID_76_" class="st1" d="m1651.9 195.3c0-40.4 20.8-62.1 62.1-62.1 9.2 0 20.8 1.2 35.4 3.9v-56.3c0-6.8 2.1-9.2 8.9-9.2h16.4c6.8 0 9.2 2.4 9.2 9.2v189.4c0 9.5-2.4 12.5-11.9 16.4-16.9 6.2-35.4 9.5-55.6 9.5-43.1 0-64.5-19.9-64.5-60.1zm97.5-26.7c-11.9-2.7-21.4-3.9-28.8-3.9-22.9 0-34.2 10.4-34.2 31.5v38.7c0 19.9 11 29.7 33.3 29.7 10.4 0 19.6-1.2 27.4-3.3 1.5-0.6 2.4-1.8 2.4-3.3v-89.4z"/><path id="XMLID_79_" class="st1" d="m1939.1 137.6c6.8 0 9.2 2.1 9.2 8.9v150.2c0 40.7-20.5 64.8-65.4 64.8-29.4 0-50.3-9.5-61.8-28.5-4.2-6.5-3-11.6 3.9-14.9l11.3-6.2c7.1-3.6 10.4-2.7 14.9 3.6 6.2 10.1 16.6 15.2 31.2 15.2 21.1 0 31.5-10.7 31.5-32.1v-14c-12.2 2.7-24.1 4.2-35.4 4.2-41.6 0-62.1-21.4-62.1-59.8v-82.4c0-6.8 2.4-8.9 9.2-8.9h16.4c6.8 0 8.9 2.1 8.9 8.9v81.2c0 19.6 10.7 29.4 32.4 29.4 9.8 0 19.9-1.5 30.6-4.2v-106.5c0-6.8 2.4-8.9 9.2-8.9z"/></g></g></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 91 62"><g fill="none" fill-rule="nonzero"><path fill="#3AE7E1" d="M11.36 28.163a2.704 2.704 0 0 1-2.085-4.799l7.492-5.85a2.704 2.704 0 0 1 3.786.465 2.704 2.704 0 0 1-.466 3.786l-7.491 5.852c-.365.304-.79.486-1.235.546Z"/><path fill="#7B8794" d="M4.092 33.873a2.736 2.736 0 0 1-2.551-.992 2.704 2.704 0 0 1 .466-3.786l.708-.547a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-.709.547c-.364.283-.79.465-1.235.526Z"/><path fill="#3AE7E1" d="M3.12 49.24a2.704 2.704 0 0 1-2.085-4.799l16.44-12.836c1.175-.91 2.875-.708 3.787.466a2.704 2.704 0 0 1-.466 3.786L4.356 48.714c-.385.284-.81.466-1.236.527Z"/><path fill="#7B8794" d="M26.546 31.018a2.704 2.704 0 0 1-2.085-4.799l2.611-2.044a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-2.612 2.045c-.385.283-.81.465-1.235.546Z"/><path fill="#3AE7E1" d="M25.108 46.71a2.704 2.704 0 0 1-2.085-4.799l13.484-10.528c1.175-.911 2.876-.709 3.787.465a2.704 2.704 0 0 1-.466 3.787L26.344 46.163c-.365.304-.79.486-1.236.547Z"/><path fill="#7B8794" d="M17.739 52.561a2.706 2.706 0 0 1-2.552-1.012c-.91-1.175-.708-2.875.466-3.786l.952-.75c1.174-.91 2.875-.708 3.786.466s.709 2.875-.466 3.786l-.951.75a2.59 2.59 0 0 1-1.235.546Z"/><path fill="#3AE7E1" d="M85.708 0H23.185c-2.328 0-4.495 1.438-5.183 3.665a5.014 5.014 0 0 0 0 3.037 5.21 5.21 0 0 0 1.761 2.53S43.715 27.84 49.587 31.89c2.106 1.356 4.15.89 5.365-.04L85.343 8.2v40.879a7.232 7.232 0 0 1-7.228 7.228h-57.44a2.67 2.67 0 0 0-2.673 2.672 2.713 2.713 0 0 0 2.713 2.713h57.38c6.965 0 12.614-5.649 12.614-12.613V5C90.729 2.247 88.48 0 85.708 0ZM52.239 27.151 24.4 5.386H80.18L52.24 27.15Z"/></g></svg>
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 7.4 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="384" height="128" version="1.1" viewBox="0 0 101.6 33.867" xmlns="http://www.w3.org/2000/svg"><g stroke-width=".067619"><g fill="#f3a628"><path class="st0" d="m-5.0944e-4 11.111c0-0.2299 0.17581-0.43276 0.43277-0.43276h0.52066c0.2299 0 0.43276 0.1961 0.43276 0.43276v5.0647l5.5853-5.3149c0.07443-0.08791 0.2299-0.17581 0.3381-0.17581h0.87904c0.32458 0 0.50039 0.35838 0.21638 0.62886l-5.653 5.2811 5.9234 6.0654c0.12847 0.12848 0.08794 0.55448-0.30428 0.55448h-0.91285c-0.12849 0-0.28401-0.07438-0.32458-0.12848l-5.7476-5.9978v5.6935c0 0.2299-0.1961 0.43276-0.43276 0.43276h-0.52066c-0.25019 0-0.43277-0.1961-0.43277-0.43276z"/><path class="st0" d="m25.106 11.017c0-0.17581 0.142-0.3381 0.3381-0.3381h0.69647c0.17581 0 0.3381 0.16229 0.3381 0.3381v10.988h5.1526c0.1961 0 0.3381 0.16229 0.3381 0.3381v0.52067c0 0.17581-0.142 0.3381-0.3381 0.3381h-6.1939c-0.19609 0-0.3381-0.16229-0.3381-0.3381v-11.847z"/><path class="st0" d="m32.734 22.742 5.4433-12.043c0.05405-0.1082 0.142-0.1961 0.30428-0.1961h0.17581c0.16229 0 0.25018 0.08791 0.30428 0.1961l5.4028 12.043c0.10821 0.22991-0.03378 0.46657-0.30428 0.46657h-0.71676c-0.16229 0-0.27047-0.10818-0.30428-0.1961l-1.3253-2.955h-6.3494l-1.3051 2.955c-0.03378 0.0879-0.142 0.1961-0.30428 0.1961h-0.71676c-0.27047 0-0.41248-0.23667-0.30428-0.46657zm8.4997-3.7934c-0.87905-1.9474-1.7378-3.9219-2.6101-5.8693h-0.142l-2.6101 5.8693z"/><path class="st0" d="m46.312 11.017c0-0.17581 0.142-0.3381 0.33809-0.3381h3.9219c2.1841 0 3.6717 1.4132 3.6717 3.2931 0 1.3794-0.91286 2.3802-1.7513 2.8603 0.94667 0.39219 2.1503 1.2712 2.1503 2.9144 0 2.0015-1.5958 3.4553-3.9016 3.4553h-4.0774c-0.1961 0-0.3381-0.16229-0.3381-0.3381v-11.847zm4.5643 10.988c1.305 0 2.2517-0.98724 2.2517-2.272 0-1.2712-1.163-2.2044-2.556-2.2044h-2.955v4.4764zm-0.3043-5.7071c1.3794 0 2.1503-0.98724 2.1503-2.2382 0-1.2915-0.77086-2.1503-2.1503-2.1503h-2.9144v4.3817h2.9144z"/></g><g fill="#e8e8e8"><path class="st1" d="m59.437 10.821c0-0.17581 0.16229-0.32457 0.3381-0.32457h0.44629l8.0737 10.055h0.03381v-9.5343c0-0.17581 0.142-0.3381 0.3381-0.3381h0.62886c0.17581 0 0.3381 0.16229 0.3381 0.3381v12.043c0 0.17581-0.16229 0.32457-0.3381 0.32457h-0.32457l-8.209-10.251h-0.02027v9.7372c0 0.17581-0.142 0.3381-0.3381 0.3381h-0.62886c-0.1758 0-0.33809-0.16228-0.33809-0.3381z"/><path class="st1" d="m78.803 10.503c3.5771 0 6.4441 2.8806 6.4441 6.4576s-2.8603 6.4238-6.4441 6.4238-6.4238-2.8468-6.4238-6.4238c0-3.5771 2.84-6.4576 6.4238-6.4576zm0 11.63c2.8468 0 5.1864-2.3261 5.1864-5.1729s-2.3464-5.2067-5.1864-5.2067-5.1729 2.3599-5.1729 5.2067 2.3261 5.1729 5.1729 5.1729z"/><path class="st1" d="m86.748 11.111c-0.07438-0.25019 0.07438-0.43276 0.32457-0.43276h0.75057c0.142 0 0.284 0.12848 0.32457 0.25019l2.4884 9.2706h0.07438l2.9888-9.5005c0.0338-0.1082 0.142-0.1961 0.30429-0.1961h0.32457c0.142 0 0.27048 0.08791 0.30429 0.1961l3.0429 9.5005h0.0744l2.4343-9.2706c0.0338-0.12848 0.17581-0.25019 0.32457-0.25019h0.75057c0.25019 0 0.3922 0.17581 0.32457 0.43276l-3.3809 12.023c-0.0338 0.142-0.17581 0.25019-0.32457 0.25019h-0.284c-0.12848 0-0.25019-0.08791-0.30429-0.1961l-3.097-9.6831h-0.0879l-3.0429 9.6831c-0.05409 0.10818-0.17581 0.1961-0.30428 0.1961h-0.284c-0.142 0-0.284-0.1082-0.32457-0.25019z"/></g><path class="st0" d="m17.391 23.121c-0.27047 0-0.52066-0.18257-0.58828-0.45981-0.08119-0.32457 0.11496-0.6559 0.44628-0.73705 2.3126-0.57476 3.9287-2.6507 3.9287-5.0309 0-2.8603-2.3261-5.1864-5.1864-5.1864s-5.1864 2.3261-5.1864 5.1864c0 2.387 1.6161 4.4561 3.9287 5.0309 0.32458 0.08114 0.52743 0.41248 0.44629 0.73705-0.08118 0.32457-0.41248 0.52743-0.73705 0.44629-2.8535-0.71-4.8483-3.2728-4.8483-6.2142 0-3.5297 2.8738-6.4103 6.4103-6.4103s6.4103 2.8738 6.4103 6.4103c0 2.9482-1.9948 5.5042-4.8483 6.2142-0.07443 0.0068-0.12172 0.01352-0.17581 0.01352z" fill="#f3a628"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="384" height="128" version="1.1" viewBox="0 0 101.6 33.867"><g stroke-width=".068"><g fill="#f3a628"><path d="m-5.0944e-4 11.111c0-0.2299 0.17581-0.43276 0.43277-0.43276h0.52066c0.2299 0 0.43276 0.1961 0.43276 0.43276v5.0647l5.5853-5.3149c0.07443-0.08791 0.2299-0.17581 0.3381-0.17581h0.87904c0.32458 0 0.50039 0.35838 0.21638 0.62886l-5.653 5.2811 5.9234 6.0654c0.12847 0.12848 0.08794 0.55448-0.30428 0.55448h-0.91285c-0.12849 0-0.28401-0.07438-0.32458-0.12848l-5.7476-5.9978v5.6935c0 0.2299-0.1961 0.43276-0.43276 0.43276h-0.52066c-0.25019 0-0.43277-0.1961-0.43277-0.43276z" class="st0"/><path d="m25.106 11.017c0-0.17581 0.142-0.3381 0.3381-0.3381h0.69647c0.17581 0 0.3381 0.16229 0.3381 0.3381v10.988h5.1526c0.1961 0 0.3381 0.16229 0.3381 0.3381v0.52067c0 0.17581-0.142 0.3381-0.3381 0.3381h-6.1939c-0.19609 0-0.3381-0.16229-0.3381-0.3381v-11.847z" class="st0"/><path d="m32.734 22.742 5.4433-12.043c0.05405-0.1082 0.142-0.1961 0.30428-0.1961h0.17581c0.16229 0 0.25018 0.08791 0.30428 0.1961l5.4028 12.043c0.10821 0.22991-0.03378 0.46657-0.30428 0.46657h-0.71676c-0.16229 0-0.27047-0.10818-0.30428-0.1961l-1.3253-2.955h-6.3494l-1.3051 2.955c-0.03378 0.0879-0.142 0.1961-0.30428 0.1961h-0.71676c-0.27047 0-0.41248-0.23667-0.30428-0.46657zm8.4997-3.7934c-0.87905-1.9474-1.7378-3.9219-2.6101-5.8693h-0.142l-2.6101 5.8693z" class="st0"/><path d="m46.312 11.017c0-0.17581 0.142-0.3381 0.33809-0.3381h3.9219c2.1841 0 3.6717 1.4132 3.6717 3.2931 0 1.3794-0.91286 2.3802-1.7513 2.8603 0.94667 0.39219 2.1503 1.2712 2.1503 2.9144 0 2.0015-1.5958 3.4553-3.9016 3.4553h-4.0774c-0.1961 0-0.3381-0.16229-0.3381-0.3381v-11.847zm4.5643 10.988c1.305 0 2.2517-0.98724 2.2517-2.272 0-1.2712-1.163-2.2044-2.556-2.2044h-2.955v4.4764zm-0.3043-5.7071c1.3794 0 2.1503-0.98724 2.1503-2.2382 0-1.2915-0.77086-2.1503-2.1503-2.1503h-2.9144v4.3817h2.9144z" class="st0"/></g><g fill="#e8e8e8"><path d="m59.437 10.821c0-0.17581 0.16229-0.32457 0.3381-0.32457h0.44629l8.0737 10.055h0.03381v-9.5343c0-0.17581 0.142-0.3381 0.3381-0.3381h0.62886c0.17581 0 0.3381 0.16229 0.3381 0.3381v12.043c0 0.17581-0.16229 0.32457-0.3381 0.32457h-0.32457l-8.209-10.251h-0.02027v9.7372c0 0.17581-0.142 0.3381-0.3381 0.3381h-0.62886c-0.1758 0-0.33809-0.16228-0.33809-0.3381z" class="st1"/><path d="m78.803 10.503c3.5771 0 6.4441 2.8806 6.4441 6.4576s-2.8603 6.4238-6.4441 6.4238-6.4238-2.8468-6.4238-6.4238c0-3.5771 2.84-6.4576 6.4238-6.4576zm0 11.63c2.8468 0 5.1864-2.3261 5.1864-5.1729s-2.3464-5.2067-5.1864-5.2067-5.1729 2.3599-5.1729 5.2067 2.3261 5.1729 5.1729 5.1729z" class="st1"/><path d="m86.748 11.111c-0.07438-0.25019 0.07438-0.43276 0.32457-0.43276h0.75057c0.142 0 0.284 0.12848 0.32457 0.25019l2.4884 9.2706h0.07438l2.9888-9.5005c0.0338-0.1082 0.142-0.1961 0.30429-0.1961h0.32457c0.142 0 0.27048 0.08791 0.30429 0.1961l3.0429 9.5005h0.0744l2.4343-9.2706c0.0338-0.12848 0.17581-0.25019 0.32457-0.25019h0.75057c0.25019 0 0.3922 0.17581 0.32457 0.43276l-3.3809 12.023c-0.0338 0.142-0.17581 0.25019-0.32457 0.25019h-0.284c-0.12848 0-0.25019-0.08791-0.30429-0.1961l-3.097-9.6831h-0.0879l-3.0429 9.6831c-0.05409 0.10818-0.17581 0.1961-0.30428 0.1961h-0.284c-0.142 0-0.284-0.1082-0.32457-0.25019z" class="st1"/></g><path fill="#f3a628" d="m17.391 23.121c-0.27047 0-0.52066-0.18257-0.58828-0.45981-0.08119-0.32457 0.11496-0.6559 0.44628-0.73705 2.3126-0.57476 3.9287-2.6507 3.9287-5.0309 0-2.8603-2.3261-5.1864-5.1864-5.1864s-5.1864 2.3261-5.1864 5.1864c0 2.387 1.6161 4.4561 3.9287 5.0309 0.32458 0.08114 0.52743 0.41248 0.44629 0.73705-0.08118 0.32457-0.41248 0.52743-0.73705 0.44629-2.8535-0.71-4.8483-3.2728-4.8483-6.2142 0-3.5297 2.8738-6.4103 6.4103-6.4103s6.4103 2.8738 6.4103 6.4103c0 2.9482-1.9948 5.5042-4.8483 6.2142-0.07443 0.0068-0.12172 0.01352-0.17581 0.01352z" class="st0"/></g></svg>
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.7 KiB |
@ -1,2 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="384" height="128" version="1.1" viewBox="0 0 101.6 33.867" xmlns="http://www.w3.org/2000/svg"><g stroke-width=".067619"><g fill="#f3a628"><path class="st0" d="m-5.0944e-4 11.111c0-0.2299 0.17581-0.43276 0.43277-0.43276h0.52066c0.2299 0 0.43276 0.1961 0.43276 0.43276v5.0647l5.5853-5.3149c0.07443-0.08791 0.2299-0.17581 0.3381-0.17581h0.87904c0.32458 0 0.50039 0.35838 0.21638 0.62886l-5.653 5.2811 5.9234 6.0654c0.12847 0.12848 0.08794 0.55448-0.30428 0.55448h-0.91285c-0.12849 0-0.28401-0.07438-0.32458-0.12848l-5.7476-5.9978v5.6935c0 0.2299-0.1961 0.43276-0.43276 0.43276h-0.52066c-0.25019 0-0.43277-0.1961-0.43277-0.43276z"/><path class="st0" d="m25.106 11.017c0-0.17581 0.142-0.3381 0.3381-0.3381h0.69647c0.17581 0 0.3381 0.16229 0.3381 0.3381v10.988h5.1526c0.1961 0 0.3381 0.16229 0.3381 0.3381v0.52067c0 0.17581-0.142 0.3381-0.3381 0.3381h-6.1939c-0.19609 0-0.3381-0.16229-0.3381-0.3381v-11.847z"/><path class="st0" d="m32.734 22.742 5.4433-12.043c0.05405-0.1082 0.142-0.1961 0.30428-0.1961h0.17581c0.16229 0 0.25018 0.08791 0.30428 0.1961l5.4028 12.043c0.10821 0.22991-0.03378 0.46657-0.30428 0.46657h-0.71676c-0.16229 0-0.27047-0.10818-0.30428-0.1961l-1.3253-2.955h-6.3494l-1.3051 2.955c-0.03378 0.0879-0.142 0.1961-0.30428 0.1961h-0.71676c-0.27047 0-0.41248-0.23667-0.30428-0.46657zm8.4997-3.7934c-0.87905-1.9474-1.7378-3.9219-2.6101-5.8693h-0.142l-2.6101 5.8693z"/><path class="st0" d="m46.312 11.017c0-0.17581 0.142-0.3381 0.33809-0.3381h3.9219c2.1841 0 3.6717 1.4132 3.6717 3.2931 0 1.3794-0.91286 2.3802-1.7513 2.8603 0.94667 0.39219 2.1503 1.2712 2.1503 2.9144 0 2.0015-1.5958 3.4553-3.9016 3.4553h-4.0774c-0.1961 0-0.3381-0.16229-0.3381-0.3381v-11.847zm4.5643 10.988c1.305 0 2.2517-0.98724 2.2517-2.272 0-1.2712-1.163-2.2044-2.556-2.2044h-2.955v4.4764zm-0.3043-5.7071c1.3794 0 2.1503-0.98724 2.1503-2.2382 0-1.2915-0.77086-2.1503-2.1503-2.1503h-2.9144v4.3817h2.9144z"/></g><g fill="#575756"><path class="st1" d="m59.437 10.821c0-0.17581 0.16229-0.32457 0.3381-0.32457h0.44629l8.0737 10.055h0.03381v-9.5343c0-0.17581 0.142-0.3381 0.3381-0.3381h0.62886c0.17581 0 0.3381 0.16229 0.3381 0.3381v12.043c0 0.17581-0.16229 0.32457-0.3381 0.32457h-0.32457l-8.209-10.251h-0.02027v9.7372c0 0.17581-0.142 0.3381-0.3381 0.3381h-0.62886c-0.1758 0-0.33809-0.16228-0.33809-0.3381z"/><path class="st1" d="m78.803 10.503c3.5771 0 6.4441 2.8806 6.4441 6.4576s-2.8603 6.4238-6.4441 6.4238-6.4238-2.8468-6.4238-6.4238c0-3.5771 2.84-6.4576 6.4238-6.4576zm0 11.63c2.8468 0 5.1864-2.3261 5.1864-5.1729s-2.3464-5.2067-5.1864-5.2067-5.1729 2.3599-5.1729 5.2067 2.3261 5.1729 5.1729 5.1729z"/><path class="st1" d="m86.748 11.111c-0.07438-0.25019 0.07438-0.43276 0.32457-0.43276h0.75057c0.142 0 0.284 0.12848 0.32457 0.25019l2.4884 9.2706h0.07438l2.9888-9.5005c0.0338-0.1082 0.142-0.1961 0.30429-0.1961h0.32457c0.142 0 0.27048 0.08791 0.30429 0.1961l3.0429 9.5005h0.0744l2.4343-9.2706c0.0338-0.12848 0.17581-0.25019 0.32457-0.25019h0.75057c0.25019 0 0.3922 0.17581 0.32457 0.43276l-3.3809 12.023c-0.0338 0.142-0.17581 0.25019-0.32457 0.25019h-0.284c-0.12848 0-0.25019-0.08791-0.30429-0.1961l-3.097-9.6831h-0.0879l-3.0429 9.6831c-0.05409 0.10818-0.17581 0.1961-0.30428 0.1961h-0.284c-0.142 0-0.284-0.1082-0.32457-0.25019z"/></g><path class="st0" d="m17.391 23.121c-0.27047 0-0.52066-0.18257-0.58828-0.45981-0.08119-0.32457 0.11496-0.6559 0.44628-0.73705 2.3126-0.57476 3.9287-2.6507 3.9287-5.0309 0-2.8603-2.3261-5.1864-5.1864-5.1864s-5.1864 2.3261-5.1864 5.1864c0 2.387 1.6161 4.4561 3.9287 5.0309 0.32458 0.08114 0.52743 0.41248 0.44629 0.73705-0.08118 0.32457-0.41248 0.52743-0.73705 0.44629-2.8535-0.71-4.8483-3.2728-4.8483-6.2142 0-3.5297 2.8738-6.4103 6.4103-6.4103s6.4103 2.8738 6.4103 6.4103c0 2.9482-1.9948 5.5042-4.8483 6.2142-0.07443 0.0068-0.12172 0.01352-0.17581 0.01352z" fill="#f3a628"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="384" height="128" version="1.1" viewBox="0 0 101.6 33.867"><g stroke-width=".068"><g fill="#f3a628"><path d="m-5.0944e-4 11.111c0-0.2299 0.17581-0.43276 0.43277-0.43276h0.52066c0.2299 0 0.43276 0.1961 0.43276 0.43276v5.0647l5.5853-5.3149c0.07443-0.08791 0.2299-0.17581 0.3381-0.17581h0.87904c0.32458 0 0.50039 0.35838 0.21638 0.62886l-5.653 5.2811 5.9234 6.0654c0.12847 0.12848 0.08794 0.55448-0.30428 0.55448h-0.91285c-0.12849 0-0.28401-0.07438-0.32458-0.12848l-5.7476-5.9978v5.6935c0 0.2299-0.1961 0.43276-0.43276 0.43276h-0.52066c-0.25019 0-0.43277-0.1961-0.43277-0.43276z" class="st0"/><path d="m25.106 11.017c0-0.17581 0.142-0.3381 0.3381-0.3381h0.69647c0.17581 0 0.3381 0.16229 0.3381 0.3381v10.988h5.1526c0.1961 0 0.3381 0.16229 0.3381 0.3381v0.52067c0 0.17581-0.142 0.3381-0.3381 0.3381h-6.1939c-0.19609 0-0.3381-0.16229-0.3381-0.3381v-11.847z" class="st0"/><path d="m32.734 22.742 5.4433-12.043c0.05405-0.1082 0.142-0.1961 0.30428-0.1961h0.17581c0.16229 0 0.25018 0.08791 0.30428 0.1961l5.4028 12.043c0.10821 0.22991-0.03378 0.46657-0.30428 0.46657h-0.71676c-0.16229 0-0.27047-0.10818-0.30428-0.1961l-1.3253-2.955h-6.3494l-1.3051 2.955c-0.03378 0.0879-0.142 0.1961-0.30428 0.1961h-0.71676c-0.27047 0-0.41248-0.23667-0.30428-0.46657zm8.4997-3.7934c-0.87905-1.9474-1.7378-3.9219-2.6101-5.8693h-0.142l-2.6101 5.8693z" class="st0"/><path d="m46.312 11.017c0-0.17581 0.142-0.3381 0.33809-0.3381h3.9219c2.1841 0 3.6717 1.4132 3.6717 3.2931 0 1.3794-0.91286 2.3802-1.7513 2.8603 0.94667 0.39219 2.1503 1.2712 2.1503 2.9144 0 2.0015-1.5958 3.4553-3.9016 3.4553h-4.0774c-0.1961 0-0.3381-0.16229-0.3381-0.3381v-11.847zm4.5643 10.988c1.305 0 2.2517-0.98724 2.2517-2.272 0-1.2712-1.163-2.2044-2.556-2.2044h-2.955v4.4764zm-0.3043-5.7071c1.3794 0 2.1503-0.98724 2.1503-2.2382 0-1.2915-0.77086-2.1503-2.1503-2.1503h-2.9144v4.3817h2.9144z" class="st0"/></g><g fill="#575756"><path d="m59.437 10.821c0-0.17581 0.16229-0.32457 0.3381-0.32457h0.44629l8.0737 10.055h0.03381v-9.5343c0-0.17581 0.142-0.3381 0.3381-0.3381h0.62886c0.17581 0 0.3381 0.16229 0.3381 0.3381v12.043c0 0.17581-0.16229 0.32457-0.3381 0.32457h-0.32457l-8.209-10.251h-0.02027v9.7372c0 0.17581-0.142 0.3381-0.3381 0.3381h-0.62886c-0.1758 0-0.33809-0.16228-0.33809-0.3381z" class="st1"/><path d="m78.803 10.503c3.5771 0 6.4441 2.8806 6.4441 6.4576s-2.8603 6.4238-6.4441 6.4238-6.4238-2.8468-6.4238-6.4238c0-3.5771 2.84-6.4576 6.4238-6.4576zm0 11.63c2.8468 0 5.1864-2.3261 5.1864-5.1729s-2.3464-5.2067-5.1864-5.2067-5.1729 2.3599-5.1729 5.2067 2.3261 5.1729 5.1729 5.1729z" class="st1"/><path d="m86.748 11.111c-0.07438-0.25019 0.07438-0.43276 0.32457-0.43276h0.75057c0.142 0 0.284 0.12848 0.32457 0.25019l2.4884 9.2706h0.07438l2.9888-9.5005c0.0338-0.1082 0.142-0.1961 0.30429-0.1961h0.32457c0.142 0 0.27048 0.08791 0.30429 0.1961l3.0429 9.5005h0.0744l2.4343-9.2706c0.0338-0.12848 0.17581-0.25019 0.32457-0.25019h0.75057c0.25019 0 0.3922 0.17581 0.32457 0.43276l-3.3809 12.023c-0.0338 0.142-0.17581 0.25019-0.32457 0.25019h-0.284c-0.12848 0-0.25019-0.08791-0.30429-0.1961l-3.097-9.6831h-0.0879l-3.0429 9.6831c-0.05409 0.10818-0.17581 0.1961-0.30428 0.1961h-0.284c-0.142 0-0.284-0.1082-0.32457-0.25019z" class="st1"/></g><path fill="#f3a628" d="m17.391 23.121c-0.27047 0-0.52066-0.18257-0.58828-0.45981-0.08119-0.32457 0.11496-0.6559 0.44628-0.73705 2.3126-0.57476 3.9287-2.6507 3.9287-5.0309 0-2.8603-2.3261-5.1864-5.1864-5.1864s-5.1864 2.3261-5.1864 5.1864c0 2.387 1.6161 4.4561 3.9287 5.0309 0.32458 0.08114 0.52743 0.41248 0.44629 0.73705-0.08118 0.32457-0.41248 0.52743-0.73705 0.44629-2.8535-0.71-4.8483-3.2728-4.8483-6.2142 0-3.5297 2.8738-6.4103 6.4103-6.4103s6.4103 2.8738 6.4103 6.4103c0 2.9482-1.9948 5.5042-4.8483 6.2142-0.07443 0.0068-0.12172 0.01352-0.17581 0.01352z" class="st0"/></g></svg>
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 298 B |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.6 KiB |