initial commit

This commit is contained in:
ycc
2026-01-20 19:49:41 +01:00
commit 30a59d7e4e
30 changed files with 12607 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
public/

45
config.toml Normal file
View File

@@ -0,0 +1,45 @@
# The URL the site will be built for
base_url = "https://www.o-cloud.io"
title = "OpenCloud"
description = "Open-source sovereign distributed cloud for trusted peer-to-peer infrastructures."
default_language = "en"
compile_sass = true
theme = "opencloud"
generate_sitemap = true
build_search_index = true
[markdown]
highlight_code = true
highlight_theme = "base16-ocean-dark"
[extra]
project_name = "OpenCloud"
project_short = " "
tagline = "A sovereign, peer-to-peer distributed cloud for trusted partners."
repo_url = "https://cloud.o-forge.io/explore/repos"
primary_cta_label = "Explore the project"
primary_cta_url = "/project"
secondary_cta_label = "View the source"
secondary_cta_url = "https://cloud.o-forge.io"
[[extra.nav_items]]
name = "Project"
url = "/project"
[[extra.nav_items]]
name = "Architecture"
url = "/project/architecture"
[[extra.nav_items]]
name = "Roadmap"
url = "/project/roadmap"
[[extra.nav_items]]
name = "Documentation"
url = "/documentation"
[[extra.nav_items]]
name = "Downloads"
url = "/downloads"

427
content/_index.md Normal file
View File

@@ -0,0 +1,427 @@
+++
title = "OpenCloud"
description = "Open-source distributed cloud to share, sell, or rent infrastructure resources across trusted peers."
template = "index.html"
+++
<div class="oc-diagram">
<svg
width="181.59599mm"
height="57.816002mm"
viewBox="-1 -1 181.59599 57.816002"
version="1.1"
id="svg1"
xml:space="preserve"
sodipodi:docname="public-ditributed.svg"
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="currentColor"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="1.120037"
inkscape:cx="259.81284"
inkscape:cy="199.54697"
inkscape:window-width="1910"
inkscape:window-height="1166"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" /><defs
id="defs1"><linearGradient
id="linearGradient3796"
inkscape:collect="always"><stop
id="stop3798"
style="stop-color:#aa8800"
offset="0" /><stop
id="stop3804"
style="stop-color:#d4aa00"
offset=".13846" /><stop
id="stop3806"
style="stop-color:#ffcc00"
offset=".56154" /><stop
id="stop3808"
style="stop-color:#ffd42a"
offset=".83846" /><stop
id="stop3800"
style="stop-color:#ffd42a"
offset="1" /></linearGradient><linearGradient
id="linearGradient2884"
inkscape:collect="always"><stop
id="stop2886"
style="stop-color:#b3b3b3"
offset="0" /><stop
id="stop2888"
style="stop-color:#999999"
offset="1" /></linearGradient><clipPath
id="clipPath3746"
clipPathUnits="userSpaceOnUse"><path
id="path3748"
style="fill:url(#radialGradient3750);fill-rule:evenodd"
d="m 157.9,245.13 c -25.384,0 -46.017,20.585 -46.156,45.938 -4.7e-4,0.0856 -0.0312,0.16432 -0.0312,0.25 0,0.10823 -0.001,-0.0188 0,0.0625 a 3.6973,3.6973 0 0 0 0,0.0625 3.6973,3.6973 0 0 0 0,0.25 v 56.625 a 3.6973,3.6973 0 0 0 3.6875,3.6875 h 10.75 a 3.6973,3.6973 0 0 0 3.6875,-3.6875 l 0.0312,-56.625 a 3.6973,3.6973 0 0 0 0,-0.0625 c -0.0102,-0.65463 -0.0312,-0.74405 -0.0312,-0.3125 0,-1.9295 0.21811,-3.8205 0.59375,-5.6562 0.37382,-1.8268 0.91445,-3.5701 1.625,-5.25 0.70721,-1.672 1.5845,-3.2873 2.5938,-4.7812 1.0053,-1.488 2.1616,-2.8491 3.4375,-4.125 1.2759,-1.2759 2.637,-2.4322 4.125,-3.4375 1.4939,-1.0093 3.1092,-1.8865 4.7812,-2.5938 1.6799,-0.71055 3.4232,-1.2512 5.25,-1.625 1.8357,-0.37564 3.7267,-0.59375 5.6562,-0.59375 1.9295,0 3.8205,0.21811 5.6562,0.59375 1.8268,0.37382 3.5701,0.91445 5.25,1.625 1.672,0.70721 3.2873,1.5845 4.7812,2.5938 1.488,1.0053 2.8491,2.1616 4.125,3.4375 1.2759,1.2759 2.4322,2.637 3.4375,4.125 1.0093,1.4939 1.8865,3.1092 2.5938,4.7812 0.71055,1.6799 1.2512,3.4232 1.625,5.25 0.37564,1.8357 0.59375,3.7267 0.59375,5.6562 0,-0.44112 -0.0234,-0.3294 -0.0312,0.34375 a 3.6973,3.6973 0 0 0 0,0.0312 l 0.15625,56.625 a 3.6973,3.6973 0 0 0 3.6875,3.6875 h 10.625 a 3.6973,3.6973 0 0 0 3.6875,-3.6875 v -56.625 a 3.6973,3.6973 0 0 0 0,-0.375 c 0,-25.47 -20.717,-46.188 -46.188,-46.188 z" /></clipPath><radialGradient
id="radialGradient3750"
xlink:href="#linearGradient2884"
gradientUnits="userSpaceOnUse"
cy="281.10001"
cx="201"
gradientTransform="matrix(1.4716,0,-4.7868e-6,1.4634,-94.783,-132.99)"
r="46.191002"
inkscape:collect="always" /><clipPath
id="clipPath4076"
clipPathUnits="userSpaceOnUse"><rect
id="rect4078"
style="fill:url(#linearGradient4080);fill-rule:evenodd"
height="91.978996"
width="114.97"
y="317.35999"
x="100.01" /></clipPath><linearGradient
id="linearGradient4080"
y2="369.35999"
xlink:href="#linearGradient3796"
spreadMethod="reflect"
gradientUnits="userSpaceOnUse"
x2="157.5"
gradientTransform="matrix(0.88442,0,0,0.88442,18.205,36.682)"
y1="369.35999"
x1="92.5"
inkscape:collect="always" /></defs><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-22.517292,-19.337906)"><g
id="g7"
transform="translate(-10.37696,3.9911384)"><path
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.377872;stroke-opacity:1"
d="m 54.518636,23.15931 c -0.698672,0 -1.39843,0.08694 -2.080493,0.257349 -2.222276,0.554716 -4.094995,1.9419 -5.27358,3.905704 -1.070734,1.784175 -1.451625,3.849311 -1.096574,5.878711 -2.566833,0.516206 -4.431771,2.749321 -4.431771,5.430676 0,3.056232 2.486056,5.542298 5.542298,5.542298 l 21.367171,-0.0016 c 1.788834,-0.0427 3.45306,-0.778674 4.687569,-2.073259 1.23415,-1.293837 1.890719,-2.991978 1.847949,-4.78007 -0.08275,-3.471514 -2.870197,-6.319481 -6.295223,-6.524666 -0.102035,-0.962441 -0.52863,-1.877447 -1.211812,-2.573487 -0.817716,-0.83321 -1.910733,-1.29191 -3.078365,-1.29191 -0.877038,0 -1.716204,0.26102 -2.426209,0.746207 -1.484669,-2.766026 -4.373436,-4.516003 -7.55096,-4.516003 z"
id="path1-1" /><path
style="fill:#eab9c3;fill-opacity:1;stroke:#000000;stroke-width:0.377872;stroke-opacity:1"
d="m 54.519153,24.293091 c 2.973874,0 5.655952,1.766453 6.832658,4.499984 0.07367,0.171554 0.227544,0.295862 0.410827,0.331762 0.184022,0.03704 0.372515,-0.0203 0.506429,-0.151412 0.598197,-0.587215 1.389132,-0.910538 2.227255,-0.910538 0.860409,0 1.666536,0.338354 2.269629,0.952396 0.602714,0.614043 0.933968,1.459656 0.908988,2.319755 -0.0046,0.155682 0.05532,0.306163 0.164848,0.416512 0.10959,0.109953 0.261377,0.173598 0.415478,0.166398 l 0.134876,-0.0015 c 2.993502,0 5.48645,2.435899 5.5578,5.43016 0.03554,1.485416 -0.509627,2.895392 -1.53479,3.970817 -1.025163,1.075429 -2.407893,1.687235 -3.893302,1.722375 L 68.38704,43.0413 H 47.178516 v 5.17e-4 c -2.430842,0 -4.408759,-1.97794 -4.408,-4.40955 0,-2.304266 1.731575,-4.192468 4.027144,-4.39198 0.165514,-0.01436 0.316038,-0.100213 0.412378,-0.235127 0.09634,-0.135277 0.128537,-0.305662 0.08837,-0.466639 -0.481411,-1.92828 -0.18368,-3.929041 0.839225,-5.633248 1.022904,-1.704202 2.647663,-2.907669 4.575948,-3.389457 0.59212,-0.147755 1.199463,-0.222725 1.805575,-0.222725 z"
id="path7" /></g><g
id="g7-6"
transform="translate(-18.92999,8.8206132)"><path
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.377872;stroke-opacity:1"
d="m 54.518636,23.15931 c -0.698672,0 -1.39843,0.08694 -2.080493,0.257349 -2.222276,0.554716 -4.094995,1.9419 -5.27358,3.905704 -1.070734,1.784175 -1.451625,3.849311 -1.096574,5.878711 -2.566833,0.516206 -4.431771,2.749321 -4.431771,5.430676 0,3.056232 2.486056,5.542298 5.542298,5.542298 l 21.367171,-0.0016 c 1.788834,-0.0427 3.45306,-0.778674 4.687569,-2.073259 1.23415,-1.293837 1.890719,-2.991978 1.847949,-4.78007 -0.08275,-3.471514 -2.870197,-6.319481 -6.295223,-6.524666 -0.102035,-0.962441 -0.52863,-1.877447 -1.211812,-2.573487 -0.817716,-0.83321 -1.910733,-1.29191 -3.078365,-1.29191 -0.877038,0 -1.716204,0.26102 -2.426209,0.746207 -1.484669,-2.766026 -4.373436,-4.516003 -7.55096,-4.516003 z"
id="path1-1-1" /><path
style="fill:#eab9c3;fill-opacity:1;stroke:#000000;stroke-width:0.377872;stroke-opacity:1"
d="m 54.519153,24.293091 c 2.973874,0 5.655952,1.766453 6.832658,4.499984 0.07367,0.171554 0.227544,0.295862 0.410827,0.331762 0.184022,0.03704 0.372515,-0.0203 0.506429,-0.151412 0.598197,-0.587215 1.389132,-0.910538 2.227255,-0.910538 0.860409,0 1.666536,0.338354 2.269629,0.952396 0.602714,0.614043 0.933968,1.459656 0.908988,2.319755 -0.0046,0.155682 0.05532,0.306163 0.164848,0.416512 0.10959,0.109953 0.261377,0.173598 0.415478,0.166398 l 0.134876,-0.0015 c 2.993502,0 5.48645,2.435899 5.5578,5.43016 0.03554,1.485416 -0.509627,2.895392 -1.53479,3.970817 -1.025163,1.075429 -2.407893,1.687235 -3.893302,1.722375 L 68.38704,43.0413 H 47.178516 v 5.17e-4 c -2.430842,0 -4.408759,-1.97794 -4.408,-4.40955 0,-2.304266 1.731575,-4.192468 4.027144,-4.39198 0.165514,-0.01436 0.316038,-0.100213 0.412378,-0.235127 0.09634,-0.135277 0.128537,-0.305662 0.08837,-0.466639 -0.481411,-1.92828 -0.18368,-3.929041 0.839225,-5.633248 1.022904,-1.704202 2.647663,-2.907669 4.575948,-3.389457 0.59212,-0.147755 1.199463,-0.222725 1.805575,-0.222725 z"
id="path7-8" /></g><g
id="g8"
transform="translate(2.660759,-1.8625313)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8" /><g
id="g2"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2" />
</g></g><g
id="g8-2"
transform="translate(24.703048,5.6657368)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-37" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-5" /><g
id="g2-9"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-2" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-2" />
</g></g><g
id="g8-4"
transform="translate(16.412989,22.210047)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-52" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-547" /><g
id="g2-4"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-4" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-3" />
</g></g><g
id="g8-4-0"
transform="translate(62.267741,-8.6100873)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-52-9" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-547-6" /><g
id="g2-4-3"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-4-8" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-3-5" />
</g></g><g
id="g8-8"
transform="translate(39.272733,-9.2479606)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-8" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-4" /><g
id="g2-31"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-49" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-20" />
</g></g><g
id="g8-66"
transform="translate(50.002896,8.78969)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-4" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-95" /><g
id="g2-0"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-48" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-7" />
</g></g><g
id="g8-22"
transform="translate(-28.653809,21.618106)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-6" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-1" /><g
id="g2-06"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-15" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-94" />
</g></g><g
id="g8-7"
transform="translate(-25.526402,2.3650577)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-7" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-11" /><g
id="g2-5"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-9" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-77" />
</g></g><g
id="g8-6"
transform="translate(14.639082,-16.606755)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-12" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-9" /><g
id="g2-3"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-1" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-9" />
</g></g><g
id="g8-5"
transform="translate(-17.151041,-13.905664)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-0" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-3" /><g
id="g2-6"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-10" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-6" />
</g></g><g
id="g8-1"
transform="translate(-5.1273877,12.383023)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-5" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-54" /><g
id="g2-7"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-6" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-5" />
</g></g><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 64.124289,39.911385 39.911381,-9.84481"
id="path9" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 62.793911,43.902524 32.727333,1.862529"
id="path10" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 58.004545,47.361509 34.855941,18.09316"
id="path11" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 108.29289,66.518974 15.96455,-7.450126"
id="path12" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.270274;stroke-dasharray:none;stroke-opacity:1"
d="m 111.48699,47.098313 7.80329,3.010538"
id="path13" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 119.90547,31.396955 7.45013,4.257215"
id="path14" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 111.75188,46.031128 12.50556,-2.926834"
id="path15" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.283847;stroke-dasharray:none;stroke-opacity:1"
d="m 131.79705,35.204853 6.0233,-5.6638"
id="path16" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 138.89162,44.168599 7.18405,4.257215"
id="path17" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 139.68984,61.46353 -8.51443,-3.192909"
id="path18" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 143.94706,58.802772 7.45012,-6.651897"
id="path19" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="M 153.52579,67.051126 C 180.66553,55.343787 180.66553,55.343787 180.66553,55.343787"
id="path20" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 162.04022,50.022267 9.31265,2.394683"
id="path21" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 179.60123,46.031128 8.7805,-8.248351"
id="path22" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 183.32629,35.388094 h -7.18405"
id="path23" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 154.05794,42.838219 7.18405,-6.119747"
id="path24" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 161.24199,33.174652 -9.57873,-4.52329"
id="path25" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 139.68984,42.572143 21.02,-7.982278"
id="path26" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 151.13111,42.306067 -7.7162,-12.505568"
id="path27" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 168.95819,37.516702 6.6519,8.248351"
id="path28" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 136.49693,44.966826 4.52329,14.900251"
id="path29" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.253655;stroke-dasharray:none;stroke-opacity:1"
d="m 112.46197,32.548619 -8.69601,7.101107"
id="path30" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 102.17314,48.957965 -3.725059,9.312656"
id="path31" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 131.97364,56.674165 13.83595,-6.119747"
id="path32" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 116.27517,32.727336 5.32151,16.230629"
id="path33" /><path
id="rect2985"
style="fill:#95a2c0;fill-opacity:1;stroke-width:0.683214"
d="m 77.897813,27.040868 h 4.731004 v 3.621293 l 3.241611,-2.663939 3.241613,-2.663938 -3.241613,-2.663941 -3.241611,-2.663939 v 3.392394 h -4.731004 v 3.642138 z"
inkscape:export-ydpi="90"
inkscape:export-filename="C:\Users\Joshua\Documents\Visual Studio 2010\Projects\Three on Three Round Robin Scheduler\arrowdown.png"
inkscape:connector-curvature="0"
inkscape:export-xdpi="90" /><text
xml:space="preserve"
style="font-size:4.23333px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:currentColor;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
x="28.085234"
y="58.952026"
id="text33"><tspan
sodipodi:role="line"
id="tspan33"
style="font-size:4.23333px;"
x="28.085234"
y="58.952026">Public clouds</tspan></text><text
xml:space="preserve"
style="font-size:4.23333px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:currentColor;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
x="112.09336"
y="74.506088"
id="text34"><tspan
sodipodi:role="line"
style="font-size:4.23333px;"
x="112.09336"
y="74.506088"
id="tspan36">Private infrastructures federation</tspan></text></g></svg>
</div>
OpenCloud is an open-source, **distributed cloud fabric** that lets you selectively **share, sell, or rent** your infrastructure resources — data, algorithms, compute power, and storage — with other OpenCloud peers.
It provides a **peer-to-peer execution layer** that can orchestrate distributed workflows across multiple organizations, while each participant keeps full **sovereign control** over data, infrastructure, and trust relationships.
Distributed execution within the network can be optimized according to your own priorities:
- **Maximal sovereignty**
- **Accelerated computation**
- **Cost minimization**
- **Optimized infrastructure investments**
Each OpenCloud instance includes:
- an **OpenID-based distributed authentication system**
- a fully **decentralized architecture** with **no central authority** and **no single point of failure**
- **transaction tracking and peer-to-peer billing**, ensuring fair compensation for all partners
[Explore the Project →](/project)
[View the Source Code →](https://cloud.o-forge.io)

View File

@@ -0,0 +1,238 @@
+++
title = "Documentation"
description = "OpenCloud Technical Documentation — Work in Progress"
template = "section.html"
+++
# OpenCloud Documentation
*Work in Progress*
This documentation site provides a unified and structured view of all core concepts behind **OpenCloud**, the sovereign, distributed, peer-to-peer cloud platform.
All OpenCloud microservices expose **OpenAPI-compliant specifications**, ensuring that:
- API structures and endpoints are always discoverable
- Code generation can be automated
- Integrators can explore service capabilities
- Implementations remain consistent across deployments
The full set of OpenAPI definitions will be progressively published as the platform stabilizes and services reach higher maturity levels.
---
# Documentation Status
This documentation is currently **under construction**.
Each section below represents a major technical capability of OpenCloud.
Pages will be expanded iteratively to include:
- Concepts & design principles
- Architecture diagrams
- API references (via OpenAPI)
- Usage scenarios
- Configuration guidelines
- Deployment instructions
- Best practices & integration patterns
If you want detailed or early-access drafts for any section, feel free to request them.
---
# Table of Contents
Below is the initial Table of Contents for the OpenCloud documentation.
Every topic listed here will eventually become a dedicated page or section.
---
## 1. Introduction to OpenCloud
- What is OpenCloud?
- Sovereignty principles
- Federated trust model
- Architecture overview
- Glossary of OpenCloud concepts
---
## 2. Resource Catalog
The Catalog is the foundation of all OpenCloud interactions.
- Resource model
- Metadata definitions (`catalog_metadata`)
- Data resources
- Algorithm resources
- Compute Units
- Storage resources
- Workflow templates
- Resource visibility (public / restricted / private)
- Access rules (credentials, payment, agreements)
- API endpoints (OpenAPI)
---
## 3. Peer Discovery & Connectivity
OpenClouds decentralization starts with peer discovery.
- Peer registration
- Peer identities
- Distributed trust graph
- Community/group definitions
- Private federations
- Peer health and presence
- Networking models (P2P overlays, WAN, LAN)
- API endpoints (OpenAPI)
---
## 4. Authentication & Authorization
Identity and access control across distributed partners.
- OpenID-based distributed authentication
- Federation of identity providers
- Session and token management
- Access scopes & privileges
- Fine-grained access control
- Collaborative area rule enforcement
- API endpoints (OpenAPI)
---
## 5. Workspace Management
Organizing data, algorithms, and services for distributed workflows.
- Workspaces lifecycle
- Resource selection
- Project and team organization
- Collaboration patterns
- Integration with workflows
- API endpoints (OpenAPI)
---
## 6. Workflow Design & Distributed Execution
The heart of OpenClouds capabilities.
- Workflow design principles
- Editor interface concepts
- Distributed data flows
- Execution strategies
- Sovereignty-optimized
- Performance-optimized
- Cost-optimized
- Hybrid strategies
- Multi-cloud and edge execution
- Stateless vs. stateful operations
- Error handling & retries
- Workflow templates and sharing
- API endpoints (OpenAPI)
---
## 7. Deployment & Resource Booking
Running services and reserving infrastructure across peers.
- Deployment model
- Resource reservation (compute, storage, algorithms)
- SLA & QoS considerations
- Scheduling and placement policies
- Deployment on datacenter vs. edge nodes
- Public-cloud hybrid deployments
- API endpoints (OpenAPI)
---
## 8. Monitoring & Observability
Understanding system state across distributed deployments.
- Metrics collection
- Execution tracing
- Peer availability & health
- Resource usage dashboards
- Alerts & notifications
- Integration with Prometheus, Loki, Grafana
- API endpoints (OpenAPI)
---
## 9. Accounting & Peer-to-Peer Billing
Tracking distributed resource consumption.
- Transaction capture
- Usage metering models
- Resource pricing
- Peer-to-peer cost settlement
- Billing transparency
- Audit logs
- API endpoints (OpenAPI)
---
## 10. Collaborative Areas
Governance for multi-organization projects.
- Workspace sharing
- Policy rules (open-source only, no personal data, legal restrictions, visibility constraints)
- Auto-enforced vs. manually-reviewed rules
- Community membership
- Compliance workflows
- API endpoints (OpenAPI)
---
## 11. Platform Components & Microservices
Detailed documentation for each service.
- Service overview
- Responsibilities & isolation
- Deployment diagrams
- Configuration parameters
- Inter-service API contracts (OpenAPI)
---
## 12. Deployment Guides
Instructions for various environments.
- Local developer installations
- Bare-metal and VM deployments
- Kubernetes & containerized environments
- Edge deployments (ARM SBCs)
- Cloud provider deployment
- High-availability patterns
---
## 13. Security
Security is an essential dimension of OpenCloud.
- Communication security
- Mutual authentication
- Data confidentiality
- Integrity & non-repudiation
- Threat models
- Secure default configurations
---
## 14. Roadmap & Future Evolutions
- Upcoming features
- Long-term vision
- Governance model
- Community contributions
- API deprecations
---
## 15. API Reference (auto-generated)
All microservices expose:
- REST endpoints
- JSON schema definitions
- Error codes
- Webhooks (if any)
- Tooling for client generation
These pages are directly generated from the OpenAPI contract.
---

View File

@@ -0,0 +1,75 @@
+++
title = "Downloads"
description = "Source code"
+++
Right now OpenCloud is only distributed as source code.
It can be accessed though our forge [https://cloud.o-forge.io](https://cloud.o-forge.io)
---
# Development
OpenCloud relies on a micro services architecture.
Each component could be developed using specific technologies.
However, in order to preserve product consistency and ease maintenance activities, we strongly encourage using the following technological stacks.
## Web services
Web services are developped in Go using Beego stack
### Environment setup
When using pricate repositories like the OpenCloud git forge, you should define it as a private repository
export GOPRIVATE=cloud.o-forge.io
The Beego stack provides the bee cli tool to ease building process :
go get github.com/beego/bee/v2@latest
### Project initialization
New component creation
go mod init oc-mycomponent
Refer to other services component main.go file to write a consitent initialisation process
### Project build
In order to build the software :
bee run -downdoc=true -gendoc=true
The -downdoc=true -gendoc=true will automatically generate swagger documentation in the /swagger path
If default Swagger page is displayed instead of your api, change url in swagger/index.html file to :
url: "swagger.json"
If annotations are modified without any code changed, a rebuild might not reflect the changes.
To force routing information update :
bee generate routers
## GUI components
The GUI are developped using Flutter framework
### Environment setup
* Install Flutter framework
* Install Android Studio
* In "Tools"->"SDK Manager"->"Apparenace & Behaviour/System Settings/Android SDK", go to "SDK tools" and tick the "Android SDK command line tools"
* Run <code>flutter doctor</code> commmand and follow instructions to accept SDK licenses
* Add Vscode flutter plugin and use Vscode Command palette to create a Flutter project
* Also set the target Device using command Palette
### Project build
Depending on your target platform :
flutter build web
flutter build linux
flutter build windows

58
content/project/_index.md Normal file
View File

@@ -0,0 +1,58 @@
+++
title = "The OpenCloud Project"
description = "A sovereign, peer-to-peer distributed cloud fabric for sharing infrastructure and resources across trusted partners."
+++
Each participant can selectively share:
- **Data**
- **Algorithms**
- **Compute power**
- **Storage**
- **Pre-built workflows and services**
with other OpenCloud peers, under rules they fully control.
## What OpenCloud Enables
With OpenCloud, organizations can:
- Build **cross-organization workflows** that run across multiple infrastructures
- **Monetize resources** (share, sell, or rent capacity and services)
- Create **private communities of peers** for sensitive or strategic projects
- Maintain full **control over data location and access policies**
- Track **resource consumption and billing** transparently between partners
## Optimization on Your Own Terms
Distributed execution in OpenCloud is not tied to a single global policy.
Each instance can optimize workflows for its own objectives:
- **Maximal sovereignty** prioritize data locality, compliance, and strategic autonomy
- **Accelerated computation** prioritize time-to-result and performance
- **Cost minimization** route workloads based on cost constraints
- **Optimized infrastructure investments** improve utilization of existing assets
## Key Concepts
OpenCloud instances expose a set of integrated services:
- **Resource Catalog** index and describe data, algorithms, compute units, storage, and workflows
- **Workspace Management** organize resources of interest into project-oriented workspaces
- **Workflow Editor** build distributed workflows and permanent services from catalog elements
- **Collaborative Areas** define rules and constraints for shared workspaces and workflows
- **Peer Management** configure trust relationships and access rights between peers and groups
These services together create a **cooperation framework** that covers both **technical** and **organizational/legal** aspects of distributed projects.
## Who Is OpenCloud For?
OpenCloud targets organizations that:
- Need to collaborate on **data- and compute-intensive projects**
- Care about **sovereignty, compliance, and resilience**
- Want to avoid **vendor lock-in** and opaque proprietary platforms
- Intend to run workloads **from datacenter to edge** and possibly on **public cloud** when appropriate
[Discover the Architecture →](/project/architecture)
[Explore Features and Benefits →](/project/features)

File diff suppressed because one or more lines are too long

17
content/project/faq.md Normal file
View File

@@ -0,0 +1,17 @@
+++
title = "FAQ"
+++
# Frequently Asked Questions
**Is OpenCloud a replacement for traditional cloud providers?**
It might be a substitute for some users with very strong privacy concerns, but generally it complements them by enabling sovereign interconnections between private clouds.
**Who controls the data?**
Each participant retains full control of its own resources and data flows.
**How is trust managed?**
Trust is peer-defined. Nodes explicitly accept or reject partnerships.
**Is the project open-source?**
Yes, under a permissive license — link available on the home page.

204
content/project/features.md Normal file
View File

@@ -0,0 +1,204 @@
+++
title = "Features & Benefits"
description = "Core services, collaboration capabilities, and strategic benefits of the OpenCloud distributed cloud fabric."
+++
# Features & Benefits
Each OpenCloud instance runs a collection of services that allow users to interact with their own deployment and with other OpenCloud participants.
Together, these services form a **federated cloud fabric** that is both technically powerful and strategically aligned with sovereignty goals.
---
## Core Services
### Resource Catalog
The **Resource Catalog** indexes all resources provided by an OpenCloud instance, including:
- **Data**
- **Algorithms**
- **Compute Units**
- **Storages**
- **Processing Workflows**
Every resource is described by metadata (see the `catalog_metadata` definition) and can be:
- **Public** visible to all OpenCloud peers
- **Restricted** visible only to selected partners, projects, entities, or groups
Access to specific resources may require:
- Credentials
- Payment
- Contractual or policy-based agreements
This catalog is the foundation for **discoverability, interoperability, and monetization** of resources.
---
### Workspace Management
Each OpenCloud user can create **workspaces** to organize resources of interest.
Within a workspace, users can:
- Aggregate data, algorithms, and compute/storage units from their own instance and from peers
- Prepare resources that will be used in **processing workflows** or **permanent services**
- Structure projects by theme, partner, or business objective
Workspaces make complex, multi-partner projects more manageable and traceable.
---
### Workflow Editor
Using resources collected in a workspace, users can build:
- **Distributed processing workflows**
- **Permanent services** running on top of the OpenCloud fabric
The **integrated workflow editor** provides a user-friendly interface to define and manage:
- Processing chains spanning multiple peers
- Data flows and storage locations
- Execution policies aligned with sovereignty, cost, or performance objectives
This enables **end-to-end distributed workflows** without central orchestration dependencies.
---
### Collaborative Areas
OpenCloud supports the creation of **Collaborative Areas**, where:
- Workspaces and workflows can be shared with selected partners
- Rules and constraints can be defined and enforced (automatically or via manual review)
Examples of rules include:
- Only **open-source components** allowed in the workflows
- **No personal data** allowed, or strict constraints on its use
- Specific **result visibility** and sharing policies
- **Legal and compliance limitations** tied to jurisdictions or contracts
Collaborative Areas provide a robust framework for **governed, multi-party collaboration**.
---
### Peer Management
OpenCloud allows you to define and manage relationships with other peers, enabling the creation of:
- Private communities of trusted partners
- Thematic or project-based federations
Access rights and trust levels can be configured:
- At a **global peer scope**
- For **specific groups** or communities within the peer network
This supports **fine-grained, community-aware access control** across the distributed cloud.
---
## Strategic Benefits
### Complete Control Over Data Location
OpenCloud encourages users to **host their own data**.
When external storage is required, OpenCloud allows you to:
- Carefully select **where** data is replicated
- Choose **which peers** can host copies
- Ensure **privacy, compliance, and performance** through data locality control
---
### Cooperation Framework
OpenCloud provides a structured **cooperation framework** that covers:
- **Data sharing and common workspaces**
- **Usage and access regulations**
- Alignment between **technical mechanisms** and **legal/contractual rules**
This framework is particularly suited for **cross-organization, regulated, or high-stakes projects**.
---
### Data Redundancy with Sovereignty
Like public clouds, OpenCloud supports **data redundancy** for availability and resilience.
However, it does so with **finer-grained control**:
- You decide on which peers and in which jurisdictions your data is replicated
- Redundancy policies can reflect **regulatory** or **strategic** constraints
---
### Hybrid Compatibility with Public Cloud
When workloads require **massive storage or computational capabilities** beyond what your peer network can provide, you can:
- Deploy an OpenCloud instance on a **public cloud provider**
- Use it as an extension of your federated infrastructure
- Offload **non-sensitive or non-strategic workloads** to public cloud capacity
This enables a **hybrid architecture** where sovereignty-sensitive workloads remain under your control, while others can scale on demand.
---
### Fine-Grained Access Control
OpenCloud offers **fine-grained access control** mechanisms that allow you to:
- Define **who** can access **what**, **from where**, and **under which conditions**
- Apply policies at the level of **resources, workspaces, collaborative areas, and peers**
- Combine **technical controls** with **organizational rules**
---
### Lightweight for Datacenter and Edge
The OpenCloud stack is developed in **Go**, generating:
- **Native binaries**
- Minimal **scratch containers**
All selected COTS components for OpenCloud services follow the same design philosophy.
As a result, OpenCloud can run:
- In **datacenters**, to support large-scale processing workflows
- On **ARM-based single-board computers**, to handle concurrent payloads such as:
- Sensor preprocessing
- Image recognition
- Data filtering
Graphical interfaces are implemented in **Flutter** and rendered as **HTML/JS**, enabling lightweight deployment with standard web technologies.
---
### Fully Distributed and Resilient
OpenCloud has a **fully distributed architecture**:
- No central administrator
- No central registry or authority
- No single point of failure
Partners can join or leave the network without disrupting the broader community, making the system inherently **resilient** and suitable for **long-lived collaborations**.
---
### Open Source and AGPL v3 Licensed
To foster trust and prevent opaque forks, OpenCloud is released as **open-source software** under the **AGPL v3** license.
This ensures that:
- The codebase remains **transparent and auditable**
- Contributions and modifications remain **aligned with the community**
- Closed, private forks cannot undermine the **trust and openness** of the ecosystem
The source code is publicly available for review, security audits, and community contributions.

View File

@@ -0,0 +1,18 @@
+++
title = "Governance"
+++
# Governance
OpenCloud promotes **transparent, community-driven governance**.
## Decision-Making Principles
- Shared control across contributors
- No dependency on a single vendor
- Long-term sustainability
## Participation
Any organization can:
- Host nodes
- Contribute code
- Join working groups

View File

@@ -0,0 +1,31 @@
+++
title = "Roadmap"
+++
## Proofs Of Concept
- 2019-2021: Distributed environemental data processin ecosystem
- 2021: Distributed Space Situation Awareness processing GUI demonstrator
- 2024: Distributed Digital twin factory infrastructure design
- 2025: Resilient and Sovereign Space Edge Computing System Orchestration
## Current Status
- Resource catalog: **Stable**
- Workflow editor: **Stable**
- Distributed Wokflow execution: **Functional**
- Shared workspaces: **Functional**
- Core P2P communication layer: **Under design**
- Resource sharing prototype: **Functional**
- Sovereignty rules engine: **In development**
- Web-based admin console: **In development**
- Services accounting and monitoring: **Under design**
## Next Milestones
- 2026 — Heterogeneous target deployment and operation
- 2026 — Monitoring, accounting and billing demonstration
## Future Evolutions
- Policy-driven data and processing placement
- Advanced cryptographic trust models

4798
static/architecture.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 244 KiB

86
static/favicon.svg Normal file
View File

@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:export-ydpi="300.01099"
inkscape:export-xdpi="300.01099"
inkscape:export-filename="C:\Users\yves.cerezal\Documents\IRT\Plateformes\Projets\OpenCloud\O-cloud.png"
sodipodi:docname="O-cloud.svg"
inkscape:version="1.0beta2 (2b71d25, 2019-12-03)"
version="1.1"
id="svg2"
viewBox="0 0 1052.3622 744.09448"
height="210mm"
width="297mm">
<defs
id="defs4" />
<sodipodi:namedview
inkscape:document-rotation="0"
inkscape:window-maximized="1"
inkscape:window-y="23"
inkscape:window-x="0"
inkscape:window-height="811"
inkscape:window-width="1440"
showgrid="false"
inkscape:current-layer="layer1"
inkscape:document-units="px"
inkscape:cy="479.06704"
inkscape:cx="674.21441"
inkscape:zoom="0.35"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(0,-308.26772)"
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Layer 1">
<path
inkscape:export-filename="C:\Users\yves.cerezal\Documents\IRT\Plateformes\Projets\OpenCloud\text4244.png"
inkscape:export-ydpi="300.01099"
inkscape:export-xdpi="300.01099"
inkscape:connector-curvature="0"
id="path4146"
d="m 589.87014,561.52541 101.65363,0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:28.38233757;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<text
id="text4148"
y="583.65143"
x="375.77676"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-size:180px;line-height:1.25"
y="583.65143"
x="375.77676"
id="tspan4150"
sodipodi:role="line"> </tspan></text>
<path
inkscape:export-filename="C:\Users\yves.cerezal\Documents\IRT\Plateformes\Projets\OpenCloud\text4244.png"
inkscape:export-ydpi="300.01099"
inkscape:export-xdpi="300.01099"
inkscape:connector-curvature="0"
d="m 453.76672,412.20907 q 44.48935,0 77.01376,41.43523 32.69294,41.22909 32.69294,103.07272 0,63.69894 -32.86145,105.75261 -32.86146,42.05368 -79.54158,42.05368 -47.18568,0 -79.37304,-41.02295 -32.01886,-41.02294 -32.01886,-106.1649 0,-66.58497 37.07446,-108.63865 32.18738,-36.48774 77.01377,-36.48774 z m -3.20188,15.04861 q -30.6707,0 -49.20792,27.82964 -23.08729,34.63244 -23.08729,101.42355 0,68.4403 23.92989,105.34033 18.3687,28.03577 48.53383,28.03577 32.18738,0 53.0839,-30.71566 21.06503,-30.71567 21.06503,-96.88836 0,-71.73861 -23.08728,-106.98948 -18.53723,-28.03579 -51.23016,-28.03579 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:125%;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path4203" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -0,0 +1 @@
google-site-verification: google28f3bfdf72dcc3b2.html

115
static/logo.svg Normal file
View File

@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:export-ydpi="300.01099"
inkscape:export-xdpi="300.01099"
inkscape:export-filename="C:\Users\yves.cerezal\Documents\IRT\Plateformes\Projets\OpenCloud\O-cloud.png"
sodipodi:docname="O-cloud.svg"
inkscape:version="1.0beta2 (2b71d25, 2019-12-03)"
version="1.1"
id="svg2"
viewBox="0 0 1052.3622 744.09448"
height="210mm"
width="297mm">
<defs
id="defs4" />
<sodipodi:namedview
inkscape:document-rotation="0"
inkscape:window-maximized="1"
inkscape:window-y="23"
inkscape:window-x="0"
inkscape:window-height="811"
inkscape:window-width="1440"
showgrid="false"
inkscape:current-layer="layer1"
inkscape:document-units="px"
inkscape:cy="479.06704"
inkscape:cx="674.21441"
inkscape:zoom="0.35"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(0,-308.26772)"
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Layer 1">
<path
inkscape:export-filename="C:\Users\yves.cerezal\Documents\IRT\Plateformes\Projets\OpenCloud\text4244.png"
inkscape:export-ydpi="300.01099"
inkscape:export-xdpi="300.01099"
inkscape:connector-curvature="0"
id="path4146"
d="m 589.87014,561.52541 101.65363,0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:28.38233757;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<text
id="text4148"
y="583.65143"
x="375.77676"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-size:180px;line-height:1.25"
y="583.65143"
x="375.77676"
id="tspan4150"
sodipodi:role="line"> </tspan></text>
<path
inkscape:export-filename="C:\Users\yves.cerezal\Documents\IRT\Plateformes\Projets\OpenCloud\text4244.png"
inkscape:export-ydpi="300.01099"
inkscape:export-xdpi="300.01099"
inkscape:connector-curvature="0"
d="m 453.76672,412.20907 q 44.48935,0 77.01376,41.43523 32.69294,41.22909 32.69294,103.07272 0,63.69894 -32.86145,105.75261 -32.86146,42.05368 -79.54158,42.05368 -47.18568,0 -79.37304,-41.02295 -32.01886,-41.02294 -32.01886,-106.1649 0,-66.58497 37.07446,-108.63865 32.18738,-36.48774 77.01377,-36.48774 z m -3.20188,15.04861 q -30.6707,0 -49.20792,27.82964 -23.08729,34.63244 -23.08729,101.42355 0,68.4403 23.92989,105.34033 18.3687,28.03577 48.53383,28.03577 32.18738,0 53.0839,-30.71566 21.06503,-30.71567 21.06503,-96.88836 0,-71.73861 -23.08728,-106.98948 -18.53723,-28.03579 -51.23016,-28.03579 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:125%;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path4203" />
<text
inkscape:export-filename="C:\Users\yves.cerezal\Documents\IRT\Plateformes\Projets\OpenCloud\text4244.png"
inkscape:export-ydpi="300.01099"
inkscape:export-xdpi="300.01099"
transform="scale(1.0549351,0.94792559)"
id="text4240"
y="880.93158"
x="197.83252"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:142.129px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif"
y="880.93158"
x="197.83252"
id="tspan4242"
sodipodi:role="line">CLOUD</tspan></text>
<text
inkscape:export-filename="C:\Users\yves.cerezal\Documents\IRT\Plateformes\Projets\OpenCloud\text4244.png"
inkscape:export-ydpi="300.01099"
inkscape:export-xdpi="300.01099"
id="text4244"
y="685.59955"
x="554.62244"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:90px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif"
y="685.59955"
x="554.62244"
id="tspan4246"
sodipodi:role="line">pen</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

59
static/logo_path.svg Normal file
View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
id="svg2"
viewBox="0 0 491.21571 424.1958"
height="119.71748mm"
width="138.63199mm"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs4" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(-217.84662,-412.20907)"
id="layer1">
<path
style="baseline-shift:baseline;display:inline;overflow:visible;opacity:1;vector-effect:none;fill-rule:evenodd;stroke-linecap:round;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
d="m 589.87109,547.33398 a 14.191169,14.191169 0 0 0 -14.1914,14.19141 14.191169,14.191169 0 0 0 14.1914,14.19141 h 101.65235 a 14.191169,14.191169 0 0 0 14.1914,-14.19141 14.191169,14.191169 0 0 0 -14.1914,-14.19141 z"
id="path4146" />
<text
id="text4148"
y="583.65143"
x="375.77676"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-size:180px;line-height:1.25"
y="583.65143"
x="375.77676"
id="tspan4150"> </tspan></text>
<path
d="m 453.76672,412.20907 q 44.48935,0 77.01376,41.43523 32.69294,41.22909 32.69294,103.07272 0,63.69894 -32.86145,105.75261 -32.86146,42.05368 -79.54158,42.05368 -47.18568,0 -79.37304,-41.02295 -32.01886,-41.02294 -32.01886,-106.1649 0,-66.58497 37.07446,-108.63865 32.18738,-36.48774 77.01377,-36.48774 z m -3.20188,15.04861 q -30.6707,0 -49.20792,27.82964 -23.08729,34.63244 -23.08729,101.42355 0,68.4403 23.92989,105.34033 18.3687,28.03577 48.53383,28.03577 32.18738,0 53.0839,-30.71566 21.06503,-30.71567 21.06503,-96.88836 0,-71.73861 -23.08728,-106.98948 -18.53723,-28.03579 -51.23016,-28.03579 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:125%;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path4203" />
<path
style="font-size:142.129px;line-height:1.25;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;stroke-width:1px"
d="m 255.11051,789.25838 q -16.34484,0 -25.72535,10.94393 -9.38052,10.94393 -9.38052,29.98922 0,18.90315 8.66987,29.98922 8.812,10.94393 26.29387,10.94393 6.68006,0 12.64948,-1.13703 5.96942,-1.13704 11.65458,-2.84258 v 11.08606 q -5.68516,2.13193 -11.79671,3.12684 -5.96942,0.9949 -14.35503,0.9949 -15.49206,0 -25.86748,-6.39581 -10.37541,-6.3958 -15.63419,-18.19251 -5.11664,-11.7967 -5.11664,-27.71515 0,-15.34993 5.54303,-27.00451 5.68516,-11.79671 16.62909,-18.33464 10.94393,-6.68006 26.57812,-6.68006 16.06058,0 27.99942,5.96941 l -5.11665,10.80181 q -4.69025,-2.13194 -10.51754,-3.83749 -5.68516,-1.70554 -12.50735,-1.70554 z m 46.33405,91.6732 v -101.4801 h 12.79161 v 90.10978 h 44.34424 v 11.37032 z M 461.62389,830.0494 q 0,15.77632 -5.4009,27.57302 -5.25877,11.65458 -15.63419,18.19252 -10.37541,6.53793 -25.72535,6.53793 -15.77631,0 -26.29386,-6.53793 -10.37542,-6.53794 -15.49206,-18.33465 -5.11665,-11.7967 -5.11665,-27.57302 0,-15.63419 5.11665,-27.28877 5.11664,-11.65458 15.49206,-18.19251 10.51755,-6.53793 26.43599,-6.53793 15.20781,0 25.58322,6.53793 10.37542,6.3958 15.63419,18.19251 5.4009,11.65458 5.4009,27.4309 z m -80.16075,0 q 0,19.18741 8.10135,30.27347 8.10136,10.94394 25.29896,10.94394 17.33974,0 25.29897,-10.94394 7.95922,-11.08606 7.95922,-30.27347 0,-19.18742 -7.95922,-29.98922 -7.95923,-10.94393 -25.15684,-10.94393 -17.19761,0 -25.44109,10.94393 -8.10135,10.8018 -8.10135,29.98922 z m 179.79321,15.06567 q 0,10.51755 -4.26387,19.04529 -4.26387,8.38561 -13.07587,13.36012 -8.66987,4.83239 -22.17212,4.83239 -18.90316,0 -28.85219,-10.23329 -9.8069,-10.37542 -9.8069,-27.28877 v -65.37933 h 12.79161 v 65.80572 q 0,12.36522 6.53794,19.18742 6.68006,6.82219 20.04018,6.82219 13.78652,0 19.89806,-7.24858 6.25368,-7.39071 6.25368,-18.90316 v -65.66359 h 12.64948 z m 108.01817,-15.91845 q 0,25.72535 -14.07078,38.80122 -13.92864,12.93374 -38.94334,12.93374 h -28.28367 v -101.4801 h 31.26838 q 15.34993,0 26.57812,5.68516 11.22819,5.68515 17.33974,16.77122 6.11155,10.94393 6.11155,27.28876 z m -13.50226,0.42639 q 0,-20.32445 -10.09116,-29.70496 -9.94903,-9.52264 -28.28367,-9.52264 h -16.62909 v 79.59224 h 13.78651 q 41.21741,0 41.21741,-40.36464 z"
id="text4240"
transform="scale(1.0549351,0.94792559)"
aria-label="CLOUD" />
<path
style="font-size:90px;line-height:1.25;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;stroke-width:1px"
d="m 585.22244,636.45955 q 8.91,0 14.31,6.21 5.49,6.21 5.49,18.72 0,12.33 -5.49,18.72 -5.4,6.39 -14.4,6.39 -5.58,0 -9.27,-2.07 -3.6,-2.16 -5.67,-4.95 h -0.54 q 0.18,1.53 0.36,3.87 0.18,2.34 0.18,4.05 v 19.8 h -7.92 v -69.84 h 6.48 l 1.08,6.57 h 0.36 q 2.16,-3.15 5.67,-5.31 3.51,-2.16 9.36,-2.16 z m -1.44,6.66 q -7.38,0 -10.44,4.14 -2.97,4.14 -3.15,12.6 v 1.53 q 0,8.91 2.88,13.77 2.97,4.77 10.89,4.77 4.41,0 7.2,-2.43 2.88,-2.43 4.23,-6.57 1.44,-4.23 1.44,-9.63 0,-8.28 -3.24,-13.23 -3.15,-4.95 -9.81,-4.95 z m 52.46998,-6.66 q 6.21,0 10.62,2.7 4.5,2.7 6.84,7.65 2.43,4.86 2.43,11.43 v 4.77 h -33.03 q 0.18,8.19 4.14,12.51 4.05,4.23 11.25,4.23 4.59,0 8.1,-0.81 3.6,-0.9 7.38,-2.52 v 6.93 q -3.69,1.62 -7.29,2.34 -3.6,0.81 -8.55,0.81 -6.84,0 -12.15,-2.79 -5.22,-2.79 -8.19,-8.28 -2.88,-5.58 -2.88,-13.59 0,-7.92 2.61,-13.59 2.7,-5.67 7.47,-8.73 4.86,-3.06 11.25,-3.06 z m -0.09,6.48 q -5.67,0 -9,3.69 -3.24,3.6 -3.87,10.08 h 24.57 q -0.09,-6.12 -2.88,-9.9 -2.79,-3.87 -8.82,-3.87 z m 55.43993,-6.48 q 8.64,0 13.05,4.23 4.41,4.14 4.41,13.5 v 31.41 h -7.83 v -30.87 q 0,-11.61 -10.8,-11.61 -8.01,0 -11.07,4.5 -3.06,4.5 -3.06,12.96 v 25.02 h -7.92 v -48.24 h 6.39 l 1.17,6.57 h 0.45 q 2.34,-3.78 6.48,-5.58 4.14,-1.89 8.73,-1.89 z"
id="text4244"
aria-label="pen" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@@ -0,0 +1,401 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="181.59599mm"
height="57.816002mm"
viewBox="-1 -1 181.59599 57.816002"
version="1.1"
id="svg1"
xml:space="preserve"
sodipodi:docname="public-ditributed.svg"
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="currentColor"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="1.120037"
inkscape:cx="259.81284"
inkscape:cy="199.54697"
inkscape:window-width="1910"
inkscape:window-height="1166"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" /><defs
id="defs1"><linearGradient
id="linearGradient3796"
inkscape:collect="always"><stop
id="stop3798"
style="stop-color:#aa8800"
offset="0" /><stop
id="stop3804"
style="stop-color:#d4aa00"
offset=".13846" /><stop
id="stop3806"
style="stop-color:#ffcc00"
offset=".56154" /><stop
id="stop3808"
style="stop-color:#ffd42a"
offset=".83846" /><stop
id="stop3800"
style="stop-color:#ffd42a"
offset="1" /></linearGradient><linearGradient
id="linearGradient2884"
inkscape:collect="always"><stop
id="stop2886"
style="stop-color:#b3b3b3"
offset="0" /><stop
id="stop2888"
style="stop-color:#999999"
offset="1" /></linearGradient><clipPath
id="clipPath3746"
clipPathUnits="userSpaceOnUse"><path
id="path3748"
style="fill:url(#radialGradient3750);fill-rule:evenodd"
d="m 157.9,245.13 c -25.384,0 -46.017,20.585 -46.156,45.938 -4.7e-4,0.0856 -0.0312,0.16432 -0.0312,0.25 0,0.10823 -0.001,-0.0188 0,0.0625 a 3.6973,3.6973 0 0 0 0,0.0625 3.6973,3.6973 0 0 0 0,0.25 v 56.625 a 3.6973,3.6973 0 0 0 3.6875,3.6875 h 10.75 a 3.6973,3.6973 0 0 0 3.6875,-3.6875 l 0.0312,-56.625 a 3.6973,3.6973 0 0 0 0,-0.0625 c -0.0102,-0.65463 -0.0312,-0.74405 -0.0312,-0.3125 0,-1.9295 0.21811,-3.8205 0.59375,-5.6562 0.37382,-1.8268 0.91445,-3.5701 1.625,-5.25 0.70721,-1.672 1.5845,-3.2873 2.5938,-4.7812 1.0053,-1.488 2.1616,-2.8491 3.4375,-4.125 1.2759,-1.2759 2.637,-2.4322 4.125,-3.4375 1.4939,-1.0093 3.1092,-1.8865 4.7812,-2.5938 1.6799,-0.71055 3.4232,-1.2512 5.25,-1.625 1.8357,-0.37564 3.7267,-0.59375 5.6562,-0.59375 1.9295,0 3.8205,0.21811 5.6562,0.59375 1.8268,0.37382 3.5701,0.91445 5.25,1.625 1.672,0.70721 3.2873,1.5845 4.7812,2.5938 1.488,1.0053 2.8491,2.1616 4.125,3.4375 1.2759,1.2759 2.4322,2.637 3.4375,4.125 1.0093,1.4939 1.8865,3.1092 2.5938,4.7812 0.71055,1.6799 1.2512,3.4232 1.625,5.25 0.37564,1.8357 0.59375,3.7267 0.59375,5.6562 0,-0.44112 -0.0234,-0.3294 -0.0312,0.34375 a 3.6973,3.6973 0 0 0 0,0.0312 l 0.15625,56.625 a 3.6973,3.6973 0 0 0 3.6875,3.6875 h 10.625 a 3.6973,3.6973 0 0 0 3.6875,-3.6875 v -56.625 a 3.6973,3.6973 0 0 0 0,-0.375 c 0,-25.47 -20.717,-46.188 -46.188,-46.188 z" /></clipPath><radialGradient
id="radialGradient3750"
xlink:href="#linearGradient2884"
gradientUnits="userSpaceOnUse"
cy="281.10001"
cx="201"
gradientTransform="matrix(1.4716,0,-4.7868e-6,1.4634,-94.783,-132.99)"
r="46.191002"
inkscape:collect="always" /><clipPath
id="clipPath4076"
clipPathUnits="userSpaceOnUse"><rect
id="rect4078"
style="fill:url(#linearGradient4080);fill-rule:evenodd"
height="91.978996"
width="114.97"
y="317.35999"
x="100.01" /></clipPath><linearGradient
id="linearGradient4080"
y2="369.35999"
xlink:href="#linearGradient3796"
spreadMethod="reflect"
gradientUnits="userSpaceOnUse"
x2="157.5"
gradientTransform="matrix(0.88442,0,0,0.88442,18.205,36.682)"
y1="369.35999"
x1="92.5"
inkscape:collect="always" /></defs><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-22.517292,-19.337906)"><g
id="g7"
transform="translate(-10.37696,3.9911384)"><path
style="fill:currentColor;fill-opacity:1;stroke:currentColor;stroke-width:0.377872;stroke-opacity:1"
d="m 54.518636,23.15931 c -0.698672,0 -1.39843,0.08694 -2.080493,0.257349 -2.222276,0.554716 -4.094995,1.9419 -5.27358,3.905704 -1.070734,1.784175 -1.451625,3.849311 -1.096574,5.878711 -2.566833,0.516206 -4.431771,2.749321 -4.431771,5.430676 0,3.056232 2.486056,5.542298 5.542298,5.542298 l 21.367171,-0.0016 c 1.788834,-0.0427 3.45306,-0.778674 4.687569,-2.073259 1.23415,-1.293837 1.890719,-2.991978 1.847949,-4.78007 -0.08275,-3.471514 -2.870197,-6.319481 -6.295223,-6.524666 -0.102035,-0.962441 -0.52863,-1.877447 -1.211812,-2.573487 -0.817716,-0.83321 -1.910733,-1.29191 -3.078365,-1.29191 -0.877038,0 -1.716204,0.26102 -2.426209,0.746207 -1.484669,-2.766026 -4.373436,-4.516003 -7.55096,-4.516003 z"
id="path1-1" /><path
style="fill:#eab9c3;fill-opacity:1;stroke:currentColor;stroke-width:0.377872;stroke-opacity:1"
d="m 54.519153,24.293091 c 2.973874,0 5.655952,1.766453 6.832658,4.499984 0.07367,0.171554 0.227544,0.295862 0.410827,0.331762 0.184022,0.03704 0.372515,-0.0203 0.506429,-0.151412 0.598197,-0.587215 1.389132,-0.910538 2.227255,-0.910538 0.860409,0 1.666536,0.338354 2.269629,0.952396 0.602714,0.614043 0.933968,1.459656 0.908988,2.319755 -0.0046,0.155682 0.05532,0.306163 0.164848,0.416512 0.10959,0.109953 0.261377,0.173598 0.415478,0.166398 l 0.134876,-0.0015 c 2.993502,0 5.48645,2.435899 5.5578,5.43016 0.03554,1.485416 -0.509627,2.895392 -1.53479,3.970817 -1.025163,1.075429 -2.407893,1.687235 -3.893302,1.722375 L 68.38704,43.0413 H 47.178516 v 5.17e-4 c -2.430842,0 -4.408759,-1.97794 -4.408,-4.40955 0,-2.304266 1.731575,-4.192468 4.027144,-4.39198 0.165514,-0.01436 0.316038,-0.100213 0.412378,-0.235127 0.09634,-0.135277 0.128537,-0.305662 0.08837,-0.466639 -0.481411,-1.92828 -0.18368,-3.929041 0.839225,-5.633248 1.022904,-1.704202 2.647663,-2.907669 4.575948,-3.389457 0.59212,-0.147755 1.199463,-0.222725 1.805575,-0.222725 z"
id="path7" /></g><g
id="g7-6"
transform="translate(-18.92999,8.8206132)"><path
style="fill:currentColor;fill-opacity:1;stroke:currentColor;stroke-width:0.377872;stroke-opacity:1"
d="m 54.518636,23.15931 c -0.698672,0 -1.39843,0.08694 -2.080493,0.257349 -2.222276,0.554716 -4.094995,1.9419 -5.27358,3.905704 -1.070734,1.784175 -1.451625,3.849311 -1.096574,5.878711 -2.566833,0.516206 -4.431771,2.749321 -4.431771,5.430676 0,3.056232 2.486056,5.542298 5.542298,5.542298 l 21.367171,-0.0016 c 1.788834,-0.0427 3.45306,-0.778674 4.687569,-2.073259 1.23415,-1.293837 1.890719,-2.991978 1.847949,-4.78007 -0.08275,-3.471514 -2.870197,-6.319481 -6.295223,-6.524666 -0.102035,-0.962441 -0.52863,-1.877447 -1.211812,-2.573487 -0.817716,-0.83321 -1.910733,-1.29191 -3.078365,-1.29191 -0.877038,0 -1.716204,0.26102 -2.426209,0.746207 -1.484669,-2.766026 -4.373436,-4.516003 -7.55096,-4.516003 z"
id="path1-1-1" /><path
style="fill:#eab9c3;fill-opacity:1;stroke:currentColor;stroke-width:0.377872;stroke-opacity:1"
d="m 54.519153,24.293091 c 2.973874,0 5.655952,1.766453 6.832658,4.499984 0.07367,0.171554 0.227544,0.295862 0.410827,0.331762 0.184022,0.03704 0.372515,-0.0203 0.506429,-0.151412 0.598197,-0.587215 1.389132,-0.910538 2.227255,-0.910538 0.860409,0 1.666536,0.338354 2.269629,0.952396 0.602714,0.614043 0.933968,1.459656 0.908988,2.319755 -0.0046,0.155682 0.05532,0.306163 0.164848,0.416512 0.10959,0.109953 0.261377,0.173598 0.415478,0.166398 l 0.134876,-0.0015 c 2.993502,0 5.48645,2.435899 5.5578,5.43016 0.03554,1.485416 -0.509627,2.895392 -1.53479,3.970817 -1.025163,1.075429 -2.407893,1.687235 -3.893302,1.722375 L 68.38704,43.0413 H 47.178516 v 5.17e-4 c -2.430842,0 -4.408759,-1.97794 -4.408,-4.40955 0,-2.304266 1.731575,-4.192468 4.027144,-4.39198 0.165514,-0.01436 0.316038,-0.100213 0.412378,-0.235127 0.09634,-0.135277 0.128537,-0.305662 0.08837,-0.466639 -0.481411,-1.92828 -0.18368,-3.929041 0.839225,-5.633248 1.022904,-1.704202 2.647663,-2.907669 4.575948,-3.389457 0.59212,-0.147755 1.199463,-0.222725 1.805575,-0.222725 z"
id="path7-8" /></g><g
id="g8"
transform="translate(2.660759,-1.8625313)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8" /><g
id="g2"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2" />
</g></g><g
id="g8-2"
transform="translate(24.703048,5.6657368)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-37" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-5" /><g
id="g2-9"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-2" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-2" />
</g></g><g
id="g8-4"
transform="translate(16.412989,22.210047)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-52" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-547" /><g
id="g2-4"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-4" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-3" />
</g></g><g
id="g8-4-0"
transform="translate(62.267741,-8.6100873)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-52-9" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-547-6" /><g
id="g2-4-3"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-4-8" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-3-5" />
</g></g><g
id="g8-8"
transform="translate(39.272733,-9.2479606)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-8" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-4" /><g
id="g2-31"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-49" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-20" />
</g></g><g
id="g8-66"
transform="translate(50.002896,8.78969)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-4" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-95" /><g
id="g2-0"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-48" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-7" />
</g></g><g
id="g8-22"
transform="translate(-28.653809,21.618106)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-6" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-1" /><g
id="g2-06"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-15" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-94" />
</g></g><g
id="g8-7"
transform="translate(-25.526402,2.3650577)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-7" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-11" /><g
id="g2-5"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-9" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-77" />
</g></g><g
id="g8-6"
transform="translate(14.639082,-16.606755)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-12" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-9" /><g
id="g2-3"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-1" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-9" />
</g></g><g
id="g8-5"
transform="translate(-17.151041,-13.905664)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-0" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-3" /><g
id="g2-6"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-10" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-6" />
</g></g><g
id="g8-1"
transform="translate(-5.1273877,12.383023)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-5" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-54" /><g
id="g2-7"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-6" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-5" />
</g></g><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 64.124289,39.911385 39.911381,-9.84481"
id="path9" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 62.793911,43.902524 32.727333,1.862529"
id="path10" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 58.004545,47.361509 34.855941,18.09316"
id="path11" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 108.29289,66.518974 15.96455,-7.450126"
id="path12" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.270274;stroke-dasharray:none;stroke-opacity:1"
d="m 111.48699,47.098313 7.80329,3.010538"
id="path13" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 119.90547,31.396955 7.45013,4.257215"
id="path14" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 111.75188,46.031128 12.50556,-2.926834"
id="path15" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.283847;stroke-dasharray:none;stroke-opacity:1"
d="m 131.79705,35.204853 6.0233,-5.6638"
id="path16" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 138.89162,44.168599 7.18405,4.257215"
id="path17" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 139.68984,61.46353 -8.51443,-3.192909"
id="path18" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 143.94706,58.802772 7.45012,-6.651897"
id="path19" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="M 153.52579,67.051126 C 180.66553,55.343787 180.66553,55.343787 180.66553,55.343787"
id="path20" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 162.04022,50.022267 9.31265,2.394683"
id="path21" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 179.60123,46.031128 8.7805,-8.248351"
id="path22" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 183.32629,35.388094 h -7.18405"
id="path23" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 154.05794,42.838219 7.18405,-6.119747"
id="path24" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 161.24199,33.174652 -9.57873,-4.52329"
id="path25" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 139.68984,42.572143 21.02,-7.982278"
id="path26" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 151.13111,42.306067 -7.7162,-12.505568"
id="path27" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 168.95819,37.516702 6.6519,8.248351"
id="path28" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 136.49693,44.966826 4.52329,14.900251"
id="path29" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.253655;stroke-dasharray:none;stroke-opacity:1"
d="m 112.46197,32.548619 -8.69601,7.101107"
id="path30" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 102.17314,48.957965 -3.725059,9.312656"
id="path31" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 131.97364,56.674165 13.83595,-6.119747"
id="path32" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 116.27517,32.727336 5.32151,16.230629"
id="path33" /><path
id="rect2985"
style="fill:#95a2c0;fill-opacity:1;stroke-width:0.683214"
d="m 77.897813,27.040868 h 4.731004 v 3.621293 l 3.241611,-2.663939 3.241613,-2.663938 -3.241613,-2.663941 -3.241611,-2.663939 v 3.392394 h -4.731004 v 3.642138 z"
inkscape:export-ydpi="90"
inkscape:export-filename="C:\Users\Joshua\Documents\Visual Studio 2010\Projects\Three on Three Round Robin Scheduler\arrowdown.png"
inkscape:connector-curvature="0"
inkscape:export-xdpi="90" /><text
xml:space="preserve"
style="font-size:4.23333px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:currentColor;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
x="28.085234"
y="58.952026"
id="text33"><tspan
sodipodi:role="line"
id="tspan33"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:currentColor;fill-opacity:1;stroke-width:0.265"
x="28.085234"
y="58.952026">Public clouds</tspan></text><text
xml:space="preserve"
style="font-size:4.23333px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:currentColor;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
x="112.09336"
y="74.506088"
id="text34"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:currentColor;fill-opacity:1;stroke-width:0.265"
x="112.09336"
y="74.506088"
id="tspan36">Private infrastructures federation</tspan></text></g></svg>

After

Width:  |  Height:  |  Size: 48 KiB

4
static/robots.txt Normal file
View File

@@ -0,0 +1,4 @@
User-agent: *
Allow: /
Sitemap: https://www.o-cloud.io/sitemap.xml

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 KiB

134
templates/base.html Normal file
View File

@@ -0,0 +1,134 @@
<!DOCTYPE html>
<html
lang="{{ config.default_language | default(value="en") }}"
data-theme="light"
>
<head>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-VWE2PKJ3KL"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-VWE2PKJ3KL');
</script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
{# -------------------------
TITLE
------------------------- #}
<title>
{% if page is defined and page.title %}
{{ page.title }} {{ config.title }}
{% elif section is defined and section.title %}
{{ section.title }} {{ config.title }}
{% else %}
{{ config.title }}
{% endif %}
</title>
{# -------------------------
META DESCRIPTION
------------------------- #}
{% if page is defined and page.description %}
<meta name="description" content="{{ page.description }}">
{% elif section is defined and section.description %}
<meta name="description" content="{{ section.description }}">
{% elif config.description %}
<meta name="description" content="{{ config.description }}">
{% endif %}
{# -------------------------
OPEN GRAPH
------------------------- #}
<meta property="og:site_name" content="{{ config.title }}">
<meta property="og:type" content="website">
<meta property="og:title" content="{{ config.title }}">
<meta property="og:description" content="{{ config.description }}">
<meta property="og:url" content="{{ current_url | default(value=config.base_url) }}">
{# Optional: add when you have one #}
{# <meta property="og:image" content="{{ config.base_url }}/img/og-image.png"> #}
{# -------------------------
TWITTER
------------------------- #}
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{{ config.title }}">
<meta name="twitter:description" content="{{ config.description }}">
{# Optional #}
{# <meta name="twitter:image" content="{{ config.base_url }}/img/og-image.png"> #}
{# -------------------------
STRUCTURED DATA (JSON-LD)
------------------------- #}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "{{ config.title }}",
"description": "{{ config.description }}",
"url": "{{ config.base_url }}",
"license": "https://www.gnu.org/licenses/agpl-3.0.html",
"codeRepository": "{{ config.extra.repo_url | default(value="") }}",
"programmingLanguage": "Go",
"operatingSystem": "Linux"
}
</script>
{# -------------------------
STYLES
------------------------- #}
<link rel="stylesheet" href="{{ get_url(path="main.css") }}">
</head>
<body>
{% include "partials/header.html" %}
<main class="oc-main">
{% block content %}{% endblock content %}
</main>
{% include "partials/footer.html" %}
{# -------------------------
THEME TOGGLE SCRIPT
------------------------- #}
<script>
(function () {
const root = document.documentElement;
const stored = localStorage.getItem('oc-theme');
if (stored === 'dark') {
root.setAttribute('data-theme', 'dark');
} else {
root.setAttribute('data-theme', 'light');
}
const btn = document.getElementById('oc-theme-toggle');
if (!btn) return;
const updateLabel = () => {
const current = root.getAttribute('data-theme') || 'light';
btn.innerText = current === 'dark' ? '☀ Light' : '🌙 Dark';
};
updateLabel();
btn.addEventListener('click', () => {
const next = root.getAttribute('data-theme') === 'dark' ? 'light' : 'dark';
root.setAttribute('data-theme', next);
localStorage.setItem('oc-theme', next);
updateLabel();
});
})();
</script>
</body>
</html>

16
templates/page.html Normal file
View File

@@ -0,0 +1,16 @@
{% extends "base.html" %}
{% block content %}
<section class="oc-section">
<div class="oc-container oc-section-header">
<h1>{{ page.title }}</h1>
{% if page.description %}
<p class="oc-section-description">{{ page.description }}</p>
{% endif %}
</div>
<div class="oc-container oc-content">
{{ page.content | safe }}
</div>
</section>
{% endblock content %}

View File

@@ -0,0 +1,30 @@
<footer class="oc-footer">
<div class="oc-container oc-footer-inner">
<div class="oc-footer-left">
<!-- 👇 Add your PNG logo here -->
<a href="https://www.irt-saintexupery.com/">
<img
src="/logo_IRT Saint Exupery_RVB_300x166.png"
alt="OpenCloud footer logo"
class="oc-footer-logo"
/>
</a>
<div class="oc-footer-text">
<p>© {{ now() | date(format="%Y") }} {{ config.extra.project_name | default(value="OpenCloud") }}</p>
<p class="oc-footer-tagline">
{{ config.extra.tagline | default(value="Sovereign, distributed, open-source cloud.") }}
</p>
</div>
</div>
<div class="oc-footer-right">
{% if config.extra.repo_url %}
<a href="{{ config.extra.repo_url | safe }}" class="oc-footer-link" target="_blank" rel="noopener">
Source code
</a>
{% endif %}
</div>
</div>
</footer>

View File

@@ -0,0 +1,57 @@
<header class="oc-header">
<div class="oc-container oc-header-inner">
<a href="{{ config.base_url | safe }}" class="oc-logo">
<svg
class="oc-logo-svg"
viewBox="0 0 550.21571 484.1958"
xmlns="http://www.w3.org/2000/svg"
aria-hidden="true">
<g transform="translate(-200.84662,-412.20907)">
<path
d="m 589.87109,547.33398 a 14.191169,14.191169 0 0 0 -14.1914,14.19141 14.191169,14.191169 0 0 0 14.1914,14.19141 h 101.65235 a 14.191169,14.191169 0 0 0 14.1914,-14.19141 14.191169,14.191169 0 0 0 -14.1914,-14.19141 z"
style="fill:currentColor;fill-rule:evenodd;stroke-linecap:round;" />
<path
d="m 453.76672,412.20907 q 44.48935,0 77.01376,41.43523 32.69294,41.22909 32.69294,103.07272 0,63.69894 -32.86145,105.75261 -32.86146,42.05368 -79.54158,42.05368 -47.18568,0 -79.37304,-41.02295 -32.01886,-41.02294 -32.01886,-106.1649 0,-66.58497 37.07446,-108.63865 32.18738,-36.48774 77.01377,-36.48774 z m -3.20188,15.04861 q -30.6707,0 -49.20792,27.82964 -23.08729,34.63244 -23.08729,101.42355 0,68.4403 23.92989,105.34033 18.3687,28.03577 48.53383,28.03577 32.18738,0 53.0839,-30.71566 21.06503,-30.71567 21.06503,-96.88836 0,-71.73861 -23.08728,-106.98948 -18.53723,-28.03579 -51.23016,-28.03579 z"
style="fill:currentColor;" />
<path
d="m 255.11051,789.25838 q -16.34484,0 -25.72535,10.94393 -9.38052,10.94393 -9.38052,29.98922 0,18.90315 8.66987,29.98922 8.812,10.94393 26.29387,10.94393 6.68006,0 12.64948,-1.13703 5.96942,-1.13704 11.65458,-2.84258 v 11.08606 q -5.68516,2.13193 -11.79671,3.12684 -5.96942,0.9949 -14.35503,0.9949 -15.49206,0 -25.86748,-6.39581 -10.37541,-6.3958 -15.63419,-18.19251 -5.11664,-11.7967 -5.11664,-27.71515 0,-15.34993 5.54303,-27.00451 5.68516,-11.79671 16.62909,-18.33464 10.94393,-6.68006 26.57812,-6.68006 16.06058,0 27.99942,5.96941 l -5.11665,10.80181 q -4.69025,-2.13194 -10.51754,-3.83749 -5.68516,-1.70554 -12.50735,-1.70554 z m 46.33405,91.6732 v -101.4801 h 12.79161 v 90.10978 h 44.34424 v 11.37032 z M 461.62389,830.0494 q 0,15.77632 -5.4009,27.57302 -5.25877,11.65458 -15.63419,18.19252 -10.37541,6.53793 -25.72535,6.53793 -15.77631,0 -26.29386,-6.53793 -10.37542,-6.53794 -15.49206,-18.33465 -5.11665,-11.7967 -5.11665,-27.57302 0,-15.63419 5.11665,-27.28877 5.11664,-11.65458 15.49206,-18.19251 10.51755,-6.53793 26.43599,-6.53793 15.20781,0 25.58322,6.53793 10.37542,6.3958 15.63419,18.19251 5.4009,11.65458 5.4009,27.4309 z m -80.16075,0 q 0,19.18741 8.10135,30.27347 8.10136,10.94394 25.29896,10.94394 17.33974,0 25.29897,-10.94394 7.95922,-11.08606 7.95922,-30.27347 0,-19.18742 -7.95922,-29.98922 -7.95923,-10.94393 -25.15684,-10.94393 -17.19761,0 -25.44109,10.94393 -8.10135,10.8018 -8.10135,29.98922 z m 179.79321,15.06567 q 0,10.51755 -4.26387,19.04529 -4.26387,8.38561 -13.07587,13.36012 -8.66987,4.83239 -22.17212,4.83239 -18.90316,0 -28.85219,-10.23329 -9.8069,-10.37542 -9.8069,-27.28877 v -65.37933 h 12.79161 v 65.80572 q 0,12.36522 6.53794,19.18742 6.68006,6.82219 20.04018,6.82219 13.78652,0 19.89806,-7.24858 6.25368,-7.39071 6.25368,-18.90316 v -65.66359 h 12.64948 z m 108.01817,-15.91845 q 0,25.72535 -14.07078,38.80122 -13.92864,12.93374 -38.94334,12.93374 h -28.28367 v -101.4801 h 31.26838 q 15.34993,0 26.57812,5.68516 11.22819,5.68515 17.33974,16.77122 6.11155,10.94393 6.11155,27.28876 z m -13.50226,0.42639 q 0,-20.32445 -10.09116,-29.70496 -9.94903,-9.52264 -28.28367,-9.52264 h -16.62909 v 79.59224 h 13.78651 q 41.21741,0 41.21741,-40.36464 z"
style="fill:currentColor;" />
<path
d="m 585.22244,636.45955 q 8.91,0 14.31,6.21 5.49,6.21 5.49,18.72 0,12.33 -5.49,18.72 -5.4,6.39 -14.4,6.39 -5.58,0 -9.27,-2.07 -3.6,-2.16 -5.67,-4.95 h -0.54 q 0.18,1.53 0.36,3.87 0.18,2.34 0.18,4.05 v 19.8 h -7.92 v -69.84 h 6.48 l 1.08,6.57 h 0.36 q 2.16,-3.15 5.67,-5.31 3.51,-2.16 9.36,-2.16 z m -1.44,6.66 q -7.38,0 -10.44,4.14 -2.97,4.14 -3.15,12.6 v 1.53 q 0,8.91 2.88,13.77 2.97,4.77 10.89,4.77 4.41,0 7.2,-2.43 2.88,-2.43 4.23,-6.57 1.44,-4.23 1.44,-9.63 0,-8.28 -3.24,-13.23 -3.15,-4.95 -9.81,-4.95 z m 52.46998,-6.66 q 6.21,0 10.62,2.7 4.5,2.7 6.84,7.65 2.43,4.86 2.43,11.43 v 4.77 h -33.03 q 0.18,8.19 4.14,12.51 4.05,4.23 11.25,4.23 4.59,0 8.1,-0.81 3.6,-0.9 7.38,-2.52 v 6.93 q -3.69,1.62 -7.29,2.34 -3.6,0.81 -8.55,0.81 -6.84,0 -12.15,-2.79 -5.22,-2.79 -8.19,-8.28 -2.88,-5.58 -2.88,-13.59 0,-7.92 2.61,-13.59 2.7,-5.67 7.47,-8.73 4.86,-3.06 11.25,-3.06 z m -0.09,6.48 q -5.67,0 -9,3.69 -3.24,3.6 -3.87,10.08 h 24.57 q -0.09,-6.12 -2.88,-9.9 -2.79,-3.87 -8.82,-3.87 z m 55.43993,-6.48 q 8.64,0 13.05,4.23 4.41,4.14 4.41,13.5 v 31.41 h -7.83 v -30.87 q 0,-11.61 -10.8,-11.61 -8.01,0 -11.07,4.5 -3.06,4.5 -3.06,12.96 v 25.02 h -7.92 v -48.24 h 6.39 l 1.17,6.57 h 0.45 q 2.34,-3.78 6.48,-5.58 4.14,-1.89 8.73,-1.89 z"
style="fill:currentColor;" />
</g>
</svg>
<span class="oc-logo-text">{{ config.extra.project_short | default(value="OpenCloud") }}</span>
</a>
<!-- CENTER: Navigation -->
<nav class="oc-nav">
<ul>
{% if config.extra.nav_items %}
{% for item in config.extra.nav_items %}
<li>
<a href="{{ item.url | safe }}"
class="{% if current_url and current_url == item.url %}oc-nav-active{% endif %}">
{{ item.name }}
</a>
</li>
{% endfor %}
{% endif %}
</ul>
</nav>
<!-- RIGHT: Theme Toggle -->
<button id="oc-theme-toggle" class="oc-theme-toggle" type="button">
🌙 Dark
</button>
<!-- MOBILE BURGER -->
<input type="checkbox" id="nav-toggle" class="oc-nav-toggle">
<label for="nav-toggle" class="oc-nav-toggle-label">
<span></span><span></span><span></span>
</label>
</div>
</header>

View File

@@ -0,0 +1,48 @@
<section class="oc-hero">
<div class="oc-container oc-hero-inner">
<div class="oc-hero-text">
<h1>
{% if section is defined and section.title %}
{{ section.title }}
{% else %}
{{ config.extra.project_name | default(value="OpenCloud") }}
{% endif %}
</h1>
<p class="oc-hero-tagline">
{{ config.extra.tagline | default(value="A sovereign, peer-to-peer distributed cloud for trusted partners.") }}
</p>
{% if section is defined and section.content %}
<div class="oc-hero-body">
{{ section.content | safe }}
</div>
{% endif %}
<div class="oc-hero-ctas">
{% if config.extra.primary_cta_label and config.extra.primary_cta_url %}
<a href="{{ config.extra.primary_cta_url | safe }}" class="oc-btn oc-btn-primary">
{{ config.extra.primary_cta_label }}
</a>
{% endif %}
{% if config.extra.secondary_cta_label and config.extra.secondary_cta_url %}
<a href="{{ config.extra.secondary_cta_url | safe }}" class="oc-btn oc-btn-secondary">
{{ config.extra.secondary_cta_label }}
</a>
{% endif %}
</div>
</div>
<div class="oc-hero-visual">
<div class="oc-hero-card">
<h2>Distributed • Sovereign • Resilient</h2>
<ul>
<li>Peer-to-peer federation of private clouds</li>
<li>Trust controlled by each participant</li>
<li>No central authority, no lock-in</li>
<li>Open-source and auditable by design</li>
</ul>
</div>
</div>
</div>
</section>

32
templates/section.html Normal file
View File

@@ -0,0 +1,32 @@
{% extends "base.html" %}
{% block content %}
<section class="oc-section">
<div class="oc-container oc-section-header">
<h1>{{ section.title }}</h1>
{% if section.description %}
<p class="oc-section-description">{{ section.description }}</p>
{% endif %}
</div>
<div class="oc-container oc-content">
{{ section.content | safe }}
</div>
{% if section.pages | length > 0 %}
<div class="oc-container oc-grid-2 oc-section-list">
{% for page in section.pages %}
<article class="oc-card oc-card-link">
<h2><a href="{{ page.permalink }}">{{ page.title }}</a></h2>
{% if page.description %}
<p>{{ page.description }}</p>
{% else %}
<p>{{ page.summary | safe }}</p>
{% endif %}
<a href="{{ page.permalink }}" class="oc-link-arrow">Read more →</a>
</article>
{% endfor %}
</div>
{% endif %}
</section>
{% endblock content %}

View File

@@ -0,0 +1,670 @@
/* --- CSS Variables & Reset --- */
/* Default: LIGHT THEME */
:root {
--oc-header-bg: #ffffff;
--oc-header-border: rgba(0, 0, 0, 0.08);
--oc-footer-bg: #ffffff;
--oc-footer-border: rgba(0, 0, 0, 0.08);
/* Optional: subtle light gradient */
--oc-header-bg-gradient: linear-gradient(
to right,
#ffffff,
#fafafa,
#ffffff
);
--oc-footer-bg-gradient: linear-gradient(
to bottom,
#ffffff,
#f8f8f8
);
--oc-bg: #f3f4f6;
--oc-bg-alt: #ffffff;
--oc-bg-muted: #e5e7eb;
--oc-card-bg: #ffffff;
--oc-accent: #0ea5e9;
--oc-accent-soft: rgba(14, 165, 233, 0.08);
--oc-accent-strong: #0284c7;
--oc-text: #111827;
--oc-text-muted: #6b7280;
--oc-border: #d1d5db;
--oc-radius-lg: 18px;
--oc-radius-xl: 24px;
--oc-shadow-soft: 0 18px 45px rgba(148, 163, 184, 0.4);
--oc-shadow-card: 0 10px 30px rgba(148, 163, 184, 0.35);
}
/* DARK THEME */
[data-theme="dark"] {
--oc-header-bg: rgba(15, 23, 42, 0.92);
--oc-header-border: rgba(148, 163, 184, 0.14);
--oc-footer-bg: rgba(15, 23, 42, 0.96);
--oc-footer-border: rgba(148, 163, 184, 0.18);
--oc-header-bg-gradient: linear-gradient(
to right,
rgba(15, 23, 42, 0.92),
rgba(15, 23, 42, 0.88),
rgba(15, 23, 42, 0.92)
);
--oc-footer-bg-gradient: linear-gradient(
to bottom,
rgba(15, 23, 42, 0.96),
rgba(15, 23, 42, 0.92)
);
--oc-bg: #050816;
--oc-bg-alt: #0a1020;
--oc-bg-muted: #0e1729;
--oc-card-bg: #0f172a;
--oc-accent: #38bdf8;
--oc-accent-soft: rgba(56, 189, 248, 0.15);
--oc-accent-strong: #0ea5e9;
--oc-text: #e5e7eb;
--oc-text-muted: #9ca3af;
--oc-border: #1f2937;
--oc-radius-lg: 18px;
--oc-radius-xl: 24px;
--oc-shadow-soft: 0 18px 45px rgba(15, 23, 42, 0.8);
--oc-shadow-card: 0 10px 30px rgba(15, 23, 42, 0.7);
}
*,
*::before,
*::after {
box-sizing: border-box;
}
html, body {
margin: 0;
padding: 0;
}
body {
font-family: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
background: var(--oc-bg);
color: var(--oc-text);
line-height: 1.6;
}
[data-theme="dark"] body {
background: radial-gradient(circle at top left, #1e293b 0, #020617 45%, #000 100%);
}
/* --- Layout --- */
.oc-container {
width: 100%;
max-width: 1120px;
margin: 0 auto;
padding: 0 1.5rem;
}
.oc-main {
padding-top: 72px;
}
/* --- Header --- */
.oc-header {
position: sticky;
top: 0;
z-index: 40;
backdrop-filter: blur(18px);
background: var(--oc-header-bg-gradient);
border-bottom: 1px solid var(--oc-header-border);
}
.oc-header-inner {
display: flex;
align-items: center;
justify-content: space-between;
height: 72px;
}
.oc-header-right {
display: flex;
align-items: center;
gap: 1rem;
}
.oc-theme-toggle {
border-radius: 999px;
border: 1px solid var(--oc-border);
background: var(--oc-bg-alt);
color: var(--oc-text-muted);
font-size: 0.78rem;
padding: 0.28rem 0.7rem;
cursor: pointer;
white-space: nowrap;
}
.oc-theme-toggle:hover {
color: var(--oc-text);
border-color: var(--oc-accent);
}
/* Logo */
.oc-logo {
display: inline-flex;
align-items: center;
gap: 0.6rem;
text-decoration: none;
color: var(--oc-text);
}
.oc-logo-mark {
width: 32px;
height: 32px;
border-radius: 999px;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 18px;
background: radial-gradient(circle at 20% 20%, #38bdf8, #0ea5e9 40%, #0369a1 100%);
box-shadow: 0 0 30px rgba(56, 189, 248, 0.7);
}
.oc-logo-text {
font-weight: 650;
letter-spacing: 0.03em;
font-size: 1.05rem;
}
.oc-logo-svg {
width: 70px; /* adjust this value to make it bigger/smaller */
height: auto;
display: block;
color: var(--oc-text); /* black in light theme, white in dark theme */
}
/* Navigation */
.oc-nav-toggle {
display: none;
}
.oc-nav-toggle-label {
display: none;
cursor: pointer;
flex-direction: column;
gap: 4px;
}
.oc-nav-toggle-label span {
width: 20px;
height: 2px;
background: var(--oc-text);
border-radius: 999px;
}
.oc-nav ul {
list-style: none;
display: flex;
gap: 1.5rem;
margin: 0;
padding: 0;
}
.oc-nav a {
text-decoration: none;
font-size: 0.95rem;
color: var(--oc-text-muted);
padding: 0.3rem 0;
border-bottom: 2px solid transparent;
transition: color 0.2s ease, border-color 0.2s ease;
}
.oc-nav a:hover {
color: var(--oc-text);
}
.oc-nav-active {
color: var(--oc-accent-strong) !important;
border-color: var(--oc-accent-strong);
}
/* --- Hero --- */
.oc-hero {
padding: 3.5rem 0 2.5rem;
}
.oc-hero-inner {
display: grid;
grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.2fr);
gap: 3rem;
align-items: center;
}
.oc-hero-text h1 {
font-size: clamp(2.1rem, 3vw, 2.7rem);
line-height: 1.15;
margin: 0 0 0.8rem;
}
.oc-hero-tagline {
margin: 0 0 1.5rem;
font-size: 1.05rem;
color: var(--oc-text-muted);
}
.oc-hero-body {
margin-bottom: 1.75rem;
color: var(--oc-text-muted);
}
.oc-hero-ctas {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
}
/* Hero visual */
.oc-hero-visual {
display: flex;
justify-content: center;
}
.oc-hero-card {
background: linear-gradient(145deg, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.98));
border-radius: 24px;
padding: 1.5rem 1.7rem;
box-shadow: var(--oc-shadow-soft);
border: 1px solid rgba(148, 163, 184, 0.22);
position: relative;
overflow: hidden;
}
/* LIGHT THEME hero card */
:root .oc-hero-card {
background: #ffffff;
border-radius: 20px;
border: 1px solid rgba(148, 163, 184, 0.25);
box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
}
/* The glow background is too strong on white → soften it or remove it */
:root .oc-hero-card::before {
opacity: 0.18; /* or set to 0 to disable completely */
}
/* Try a slightly subtler subtitle style on light */
:root .oc-hero-card h2 {
color: var(--oc-text-muted);
}
/* DARK THEME: keep your original look */
[data-theme="dark"] .oc-hero-card {
background: linear-gradient(145deg, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.98));
border-radius: 24px;
border: 1px solid rgba(148, 163, 184, 0.22);
box-shadow: var(--oc-shadow-soft);
}
[data-theme="dark"] .oc-hero-card::before {
opacity: 0.7;
}
.oc-hero-card::before {
content: "";
position: absolute;
inset: -40%;
background: radial-gradient(circle at 10% 0, rgba(56, 189, 248, 0.25), transparent 55%),
radial-gradient(circle at 90% 100%, rgba(129, 140, 248, 0.25), transparent 55%);
opacity: 0.7;
pointer-events: none;
}
.oc-hero-card h2 {
position: relative;
margin: 0 0 1rem;
font-size: 1rem;
text-transform: uppercase;
letter-spacing: 0.18em;
color: var(--oc-text-muted);
}
.oc-hero-card ul {
position: relative;
list-style: none;
padding: 0;
margin: 0;
}
.oc-hero-card li {
display: flex;
align-items: center;
gap: 0.45rem;
margin-bottom: 0.6rem;
font-size: 0.94rem;
}
.oc-hero-card li::before {
content: "";
width: 7px;
height: 7px;
border-radius: 999px;
background: radial-gradient(circle, #22c55e, #22c55e 60%, transparent 100%);
margin-right: 0.1rem;
}
/* --- Sections & Content --- */
.oc-section {
padding: 2.5rem 0;
}
.oc-section-muted {
background: radial-gradient(circle at top center, rgba(15, 23, 42, 0.8), rgba(15, 23, 42, 0.96));
border-top: 1px solid rgba(148, 163, 184, 0.12);
border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}
.oc-section-header {
margin-bottom: 1.75rem;
}
.oc-section-header h1 {
font-size: 2rem;
margin: 0 0 0.5rem;
}
.oc-section-description {
margin: 0;
color: var(--oc-text-muted);
}
.oc-content {
max-width: 760px;
}
.oc-content h2 {
margin-top: 1.8rem;
font-size: 1.35rem;
}
.oc-content h3 {
margin-top: 1.3rem;
font-size: 1.1rem;
}
.oc-content p {
margin: 0.6rem 0;
color: var(--oc-text-muted);
}
.oc-content ul,
.oc-content ol {
margin: 0.4rem 0 0.9rem 1.1rem;
}
/* --- Grid & Cards --- */
.oc-grid-3 {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1.5rem;
}
.oc-grid-2 {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1.5rem;
}
.oc-card {
background: var(--oc-card-bg);
border-radius: var(--oc-radius-lg);
padding: 1.25rem 1.3rem;
border: 1px solid var(--oc-border);
box-shadow: var(--oc-shadow-card);
}
.oc-card h2 {
margin-top: 0;
margin-bottom: 0.5rem;
}
.oc-card p {
margin-top: 0;
margin-bottom: 0.6rem;
color: var(--oc-text-muted);
}
.oc-card-link h2 a {
text-decoration: none;
color: var(--oc-text);
}
.oc-card-link h2 a:hover {
color: var(--oc-accent-strong);
}
/* Split layout */
.oc-split {
display: grid;
grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr);
gap: 2rem;
}
/* Lists */
.oc-list-check {
list-style: none;
padding-left: 0;
}
.oc-list-check li {
position: relative;
padding-left: 1.4rem;
margin-bottom: 0.5rem;
color: var(--oc-text-muted);
}
.oc-list-check li::before {
content: "";
position: absolute;
left: 0;
top: 0;
font-size: 0.9rem;
color: #22c55e;
}
/* Links & Buttons */
.oc-link-arrow {
display: inline-flex;
align-items: center;
gap: 0.1rem;
font-size: 0.92rem;
color: var(--oc-accent);
text-decoration: none;
}
.oc-link-arrow:hover {
color: var(--oc-accent-strong);
}
.oc-btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.55rem 1.1rem;
border-radius: 999px;
font-size: 0.95rem;
font-weight: 500;
text-decoration: none;
border: 1px solid transparent;
cursor: pointer;
transition: background 0.18s ease, border-color 0.18s ease, transform 0.1s ease;
}
.oc-btn-primary {
background: linear-gradient(135deg, var(--oc-accent), var(--oc-accent-strong));
color: #0f172a;
box-shadow: 0 12px 30px rgba(56, 189, 248, 0.55);
}
.oc-btn-primary:hover {
transform: translateY(-1px);
}
.oc-btn-secondary {
background: rgba(15, 23, 42, 0.9);
color: var(--oc-text);
border-color: rgba(148, 163, 184, 0.5);
}
.oc-btn-secondary:hover {
border-color: var(--oc-accent);
color: var(--oc-accent-strong);
}
.oc-btn-outline {
background: transparent;
border-color: rgba(148, 163, 184, 0.45);
color: var(--oc-text);
}
.oc-btn-outline:hover {
border-color: var(--oc-accent);
}
/* --- Footer --- */
.oc-footer {
background: var(--oc-footer-bg-gradient);
border-top: 1px solid var(--oc-footer-border);
padding: 1.3rem 0 1.5rem;
}
.oc-footer-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1.25rem;
}
.oc-footer-left p {
margin: 0;
}
.oc-footer-tagline {
font-size: 0.9rem;
color: var(--oc-text-muted);
}
.oc-footer-link {
color: var(--oc-accent);
text-decoration: none;
font-size: 0.92rem;
}
.oc-footer-link:hover {
color: var(--oc-accent-strong);
}
.oc-footer-left {
display: flex;
align-items: center;
gap: 0.9rem;
}
.oc-footer-logo {
height: 64px; /* adjust size here */
width: auto;
opacity: 0.9; /* looks good in both themes */
}
.oc-footer-text p {
margin: 0;
line-height: 1.3;
}
/* Optional: adapt PNG brightness for dark theme */
[data-theme="dark"] .oc-footer-logo {
filter: brightness(1.3);
}
/* --- Responsive --- */
@media (max-width: 900px) {
.oc-hero-inner {
grid-template-columns: minmax(0, 1fr);
}
.oc-grid-3 {
grid-template-columns: minmax(0, 1fr);
}
.oc-grid-2,
.oc-split {
grid-template-columns: minmax(0, 1fr);
}
.oc-footer-inner {
flex-direction: column;
align-items: flex-start;
}
}
@media (max-width: 720px) {
.oc-nav-toggle-label {
display: flex;
}
.oc-nav {
position: absolute;
top: 72px;
left: 0;
right: 0;
background: rgba(15, 23, 42, 0.98);
border-bottom: 1px solid rgba(148, 163, 184, 0.22);
transform-origin: top;
transform: scaleY(0);
transition: transform 0.15s ease-out;
}
.oc-nav ul {
flex-direction: column;
padding: 0.8rem 1.5rem 1.1rem;
gap: 0.7rem;
}
.oc-nav-toggle:checked ~ .oc-nav {
transform: scaleY(1);
}
}
:root .oc-btn-secondary {
background: #ffffff;
border-color: rgba(148, 163, 184, 0.6);
color: var(--oc-text);
box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}
:root .oc-btn-secondary:hover {
border-color: var(--oc-accent);
color: var(--oc-accent-strong);
box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}
/* DARK THEME: preserve the existing design */
[data-theme="dark"] .oc-btn-secondary {
background: rgba(15, 23, 42, 0.9);
color: var(--oc-text);
border-color: rgba(148, 163, 184, 0.5);
}
[data-theme="dark"] .oc-btn-secondary:hover {
border-color: var(--oc-accent);
color: var(--oc-accent-strong);
}

View File

@@ -0,0 +1,74 @@
<!DOCTYPE html>
<html lang="{{ config.default_language | default(value="en") }}" data-theme="light">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>
{%- if page is defined and page.title -%}
{{ page.title }} {{ config.title }}
{%- elif section is defined and section.title -%}
{{ section.title }} {{ config.title }}
{%- else -%}
{{ config.title }}
{%- endif -%}
</title>
{# Description meta #}
{% if page is defined and page.description %}
<meta name="description" content="{{ page.description }}">
{% elif section is defined and section.description %}
<meta name="description" content="{{ section.description }}">
{% else %}
<meta name="description" content="{{ config.description | default(value="OpenCloud sovereign distributed cloud project") }}">
{% endif %}
<link rel="stylesheet" href="{{ get_url(path="main.css") }}">
</head>
<body>
{% include "partials/header.html" %}
<main class="oc-main">
{% block content %}{% endblock content %}
</main>
{% include "partials/footer.html" %}
<script>
(function () {
const root = document.documentElement;
const stored = localStorage.getItem('oc-theme');
// Default = light
if (stored === 'dark') {
root.setAttribute('data-theme', 'dark');
} else {
root.setAttribute('data-theme', 'light');
}
const btn = document.getElementById('oc-theme-toggle');
if (!btn) return;
const updateLabel = () => {
const current = root.getAttribute('data-theme') || 'light';
btn.dataset.theme = current;
if (current === 'dark') {
btn.innerText = '☀ Light';
} else {
btn.innerText = '🌙 Dark';
}
};
updateLabel();
btn.addEventListener('click', () => {
const current = root.getAttribute('data-theme') === 'dark' ? 'dark' : 'light';
const next = current === 'dark' ? 'light' : 'dark';
root.setAttribute('data-theme', next);
localStorage.setItem('oc-theme', next);
updateLabel();
});
})();
</script>
</body>
</html>

View File

@@ -0,0 +1,66 @@
{% extends "base.html" %}
{% block content %}
{% if section is defined %}
{% include "partials/hero.html" %}
{% endif %}
<section class="oc-section">
<div class="oc-container oc-grid-3">
<div class="oc-card">
<h2>Why OpenCloud?</h2>
<p>
OpenCloud interconnects private clouds with a secure, peer-to-peer control plane.
Each participant keeps full sovereignty while benefiting from shared resilience and capacity.
</p>
<a href="/project" class="oc-link-arrow">Discover the project →</a>
</div>
<div class="oc-card">
<h2>Architecture</h2>
<p>
A distributed mesh overlay connects independent nodes, enabling resource sharing,
trust-based federation, and multi-site fault tolerance.
</p>
<a href="/project/architecture" class="oc-link-arrow">View the architecture →</a>
</div>
<div class="oc-card">
<h2>Open Source</h2>
<p>
OpenCloud is developed in the open, with transparent governance and a commitment
to interoperability and long-term independence.
</p>
{% if config.extra.repo_url %}
<a href="{{ config.extra.repo_url | safe }}" class="oc-link-arrow" target="_blank" rel="noopener">
Browse the source →</a>
{% endif %}
</div>
</div>
</section>
<section class="oc-section oc-section-muted">
<div class="oc-container oc-split">
<div>
<h2>Key benefits for decision-makers</h2>
<ul class="oc-list-check">
<li>Keep strategic control over data and infrastructure</li>
<li>Build resilience across multiple sites and partners</li>
<li>Avoid vendor lock-in and opaque proprietary stacks</li>
<li>Align technical architecture with sovereignty policies</li>
</ul>
</div>
<div>
<h2>From prototype to production</h2>
<p>
OpenCloud is evolving from a research-grade prototype to a production-ready
federated cloud fabric. Follow the roadmap to understand current capabilities
and planned milestones.
</p>
<a href="/project/roadmap" class="oc-btn oc-btn-outline">
View the roadmap
</a>
</div>
</div>
</section>
{% endblock content %}

View File

@@ -0,0 +1,8 @@
name = "opencloud"
description = "A clean, modern theme for the OpenCloud distributed sovereign cloud project."
license = "MIT"
homepage = "https://opencloud.example.com"
min_version = "0.19.0"
[extra]
# You can put theme-specific options here later if needed.