Merge branch 'master' into PRWLR-7160-findings-page-scan-id-filter-improvement

# Conflicts:
#	ui/CHANGELOG.md
#	ui/app/(prowler)/findings/page.tsx
#	ui/components/ui/custom/custom-dropdown-filter.tsx
#	ui/types/filters.ts
This commit is contained in:
sumit_chaturvedi committed 2025-05-28 17:58:39 +05:30
commit 97d216c49f
126 files changed
+35995 -710

No files matched your search

+13 -4
View File
@@ -3,7 +3,7 @@
import { Card, CardBody, Progress } from "@nextui-org/react";
import Image from "next/image";
import { useSearchParams } from "next/navigation";
import React from "react";
import React, { useState } from "react";
import { DownloadIconButton, toast } from "@/components/ui";
import { downloadComplianceCsv } from "@/lib/helper";
@@ -31,6 +31,7 @@ export const ComplianceCard: React.FC<ComplianceCardProps> = ({
}) => {
const searchParams = useSearchParams();
const hasRegionFilter = searchParams.has("filter[region__in]");
const [isDownloading, setIsDownloading] = useState<boolean>(false);
const formatTitle = (title: string) => {
return title.split("-").join(" ");
@@ -67,6 +68,15 @@ export const ComplianceCard: React.FC<ComplianceCardProps> = ({
return "success";
};
const handleDownload = async () => {
setIsDownloading(true);
try {
await downloadComplianceCsv(scanId, complianceId, toast);
} finally {
setIsDownloading(false);
}
};
return (
<Card fullWidth isHoverable shadow="sm">
<CardBody className="flex flex-row items-center justify-between space-x-4 dark:bg-prowler-blue-800">
@@ -104,11 +114,10 @@ export const ComplianceCard: React.FC<ComplianceCardProps> = ({
<DownloadIconButton
paramId={complianceId}
onDownload={() =>
downloadComplianceCsv(scanId, complianceId, toast)
}
onDownload={handleDownload}
textTooltip="Download compliance CSV report"
isDisabled={hasRegionFilter}
isDownloading={isDownloading}
/>
{/* <small>{getScanChange()}</small> */}
</div>
+20 -5
View File
@@ -30,6 +30,11 @@ export const filterScans = [
labelCheckboxGroup: "Trigger",
values: ["scheduled", "manual"],
},
{
key: "provider_uid__in",
labelCheckboxGroup: "Provider UID",
values: [],
},
// Add more filter categories as needed
];
@@ -38,21 +43,31 @@ export const filterFindings = [
key: "severity__in",
labelCheckboxGroup: "Severity",
values: ["critical", "high", "medium", "low", "informational"],
index: 1,
},
{
key: "status__in",
labelCheckboxGroup: "Status",
values: ["PASS", "FAIL", "MANUAL"],
},
{
key: "delta__in",
labelCheckboxGroup: "Delta",
values: ["new", "changed"],
index: 2,
},
{
key: "provider_type__in",
labelCheckboxGroup: "Cloud Provider",
values: ["aws", "azure", "m365", "gcp", "kubernetes"],
index: 4,
},
{
key: "provider_uid__in",
labelCheckboxGroup: "Provider UID",
values: [],
index: 8,
},
{
key: "delta__in",
labelCheckboxGroup: "Delta",
values: ["new", "changed"],
index: 3,
},
// Add more filter categories as needed
];
@@ -8,9 +8,12 @@ import GDPRLogo from "./gdpr.svg";
import GxPLogo from "./gxp-aws.svg";
import HIPAALogo from "./hipaa.svg";
import ISOLogo from "./iso-27001.svg";
import KISALogo from "./kisa.svg";
import MITRELogo from "./mitre-attack.svg";
import NIS2Logo from "./nis2.svg";
import NISTLogo from "./nist.svg";
import PCILogo from "./pci-dss.svg";
import PROWLERTHREATLogo from "./prowlerThreat.svg";
import RBILogo from "./rbi.svg";
import SOC2Logo from "./soc2.svg";
@@ -60,4 +63,13 @@ export const getComplianceIcon = (complianceTitle: string) => {
if (complianceTitle.toLowerCase().includes("soc2")) {
return SOC2Logo;
}
if (complianceTitle.toLowerCase().includes("kisa")) {
return KISALogo;
}
if (complianceTitle.toLowerCase().includes("prowlerthreatscore")) {
return PROWLERTHREATLogo;
}
if (complianceTitle.toLowerCase().includes("nis2")) {
return NIS2Logo;
}
};
+439
View File
@@ -0,0 +1,439 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1080" height="1080" viewBox="0 0 1080 1080" xml:space="preserve">
<desc>Created with Fabric.js 5.2.4</desc>
<defs>
</defs>
<g transform="matrix(1 0 0 1 540 540)" id="74f42152-6f02-4d0a-be12-5b1faa59fc6f">
<rect style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(255,255,255); fill-rule: nonzero; opacity: 1; visibility: hidden;" vector-effect="non-scaling-stroke" x="-540" y="-540" rx="0" ry="0" width="1080" height="1080"/>
</g>
<g transform="matrix(1 0 0 1 540 540)" id="4956e1a7-550f-44b5-81c0-bf11feddee72">
</g>
<g transform="matrix(0.91 0 0 0.49 493.98 422.65)">
<path style="stroke: none; stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(0,0,0); fill-opacity: 0; fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-512, -512)" d="M 0 0 C 337.92 0 675.84 0 1024 0 C 1024 337.92 1024 675.84 1024 1024 C 686.08 1024 348.16 1024 0 1024 C 0 686.08 0 348.16 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 831.32 406.8)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(11,85,148); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-10.32, -103.28)" d="M 0 0 C 0.73286224 -0.00807175 1.46572449 -0.01614349 2.22079468 -0.02445984 C 3.77591589 -0.03830264 5.33106751 -0.04902393 6.88623047 -0.05688477 C 9.24376853 -0.07400332 11.5998689 -0.11787242 13.95703125 -0.16210938 C 15.4713439 -0.17224516 16.98566844 -0.18075849 18.5 -0.1875 C 19.1961441 -0.20500809 19.89228821 -0.22251617 20.60952759 -0.24055481 C 25.96097105 -0.2173141 30.3239752 0.99106902 34.6484375 4.23828125 C 36.39334374 6.71944191 37.53507716 8.64538908 38.71875 11.359375 C 39.04658478 12.06219101 39.37441956 12.76500702 39.71218872 13.48912048 C 43.05042635 20.7947573 45.88796386 28.3006562 48.63067627 35.84597778 C 50.22648151 40.23392396 51.85485577 44.60985754 53.4765625 48.98828125 C 53.81615997 49.90791153 54.15575745 50.82754181 54.50564575 51.77503967 C 58.34164807 62.15015591 62.30553043 72.47555983 66.2734375 82.80078125 C 67.79336722 86.76026378 69.31267042 90.71998664 70.83203125 94.6796875 C 71.41225288 96.19134239 71.41225288 96.19134239 72.00419617 97.73353577 C 74.98888966 105.51193107 77.96333136 113.29420859 80.93359375 121.078125 C 81.60165794 122.82865425 81.60165794 122.82865425 82.28321838 124.61454773 C 84.52210361 130.4819615 86.75957154 136.34991188 88.99536133 142.21850586 C 93.06616024 152.89779676 97.15523174 163.56888267 101.3125 174.21484375 C 102.02526011 176.04552868 102.73791014 177.87625648 103.45043945 179.70703125 C 104.7523659 183.05184453 106.06477573 186.39226622 107.38354492 189.73046875 C 107.95794326 191.20426201 108.5319441 192.67821028 109.10546875 194.15234375 C 109.36683624 194.80482086 109.62820374 195.45729797 109.89749146 196.12954712 C 111.24622953 199.62672164 111.93831801 202.48631017 111.6484375 206.23828125 C 106.16756418 206.36194716 100.68750393 206.45265068 95.20556641 206.51293945 C 93.34116469 206.53807272 91.4768614 206.57218508 89.61279297 206.61547852 C 86.93171919 206.67618477 84.25194848 206.70450183 81.5703125 206.7265625 C 80.73788025 206.75236893 79.905448 206.77817535 79.04779053 206.80476379 C 75.2347995 206.80660874 73.32459464 206.8028154 70.33398438 204.3059082 C 68.08551107 200.21377797 66.38714706 196.03885228 64.7578125 191.66796875 C 64.40833557 190.74992462 64.05885864 189.83188049 63.6987915 188.88601685 C 62.96508212 186.95284123 62.23581621 185.01797399 61.51074219 183.08154297 C 60.39819889 180.11264451 59.27057393 177.14981182 58.140625 174.1875 C 57.42879329 172.30632771 56.71782558 170.4248282 56.0078125 168.54296875 C 55.67038025 167.65543915 55.332948 166.76790955 54.98529053 165.85348511 C 54.67786926 165.02897858 54.370448 164.20447205 54.05371094 163.35498047 C 53.78153748 162.63059784 53.50936401 161.90621521 53.22894287 161.15988159 C 52.6484375 159.23828125 52.6484375 159.23828125 52.6484375 156.23828125 C 24.9284375 156.23828125 -2.7915625 156.23828125 -31.3515625 156.23828125 C -31.8465625 159.20828125 -31.8465625 159.20828125 -32.3515625 162.23828125 C -32.80943629 163.68435486 -33.31436492 165.11657539 -33.87036133 166.52783203 C -34.17770706 167.31529816 -34.4850528 168.10276428 -34.80171204 168.91409302 C -35.133983 169.74552826 -35.46625397 170.5769635 -35.80859375 171.43359375 C -36.32494637 172.73839188 -36.32494637 172.73839188 -36.85173035 174.06954956 C -37.57910718 175.90128572 -38.30966652 177.73176094 -39.04321289 179.56103516 C -40.1613043 182.35638546 -41.26173588 185.1582673 -42.36132812 187.9609375 C -43.07185007 189.74391499 -43.783404 191.52648166 -44.49609375 193.30859375 C -44.98539116 194.56181931 -44.98539116 194.56181931 -45.48457336 195.84036255 C -48.77897934 203.96361418 -48.77897934 203.96361418 -52.3515625 206.23828125 C -55.38062227 206.58718211 -58.03459537 206.70582881 -61.0546875 206.62890625 C -61.89247742 206.62324646 -62.73026733 206.61758667 -63.59344482 206.61175537 C -66.26340416 206.58940454 -68.93201037 206.53921223 -71.6015625 206.48828125 C -73.41404309 206.4682145 -75.22654476 206.44996403 -77.0390625 206.43359375 C -81.47708209 206.38954419 -85.91409306 206.32052691 -90.3515625 206.23828125 C -91.4478821 202.96797427 -91.27441989 201.21568311 -90.03833008 198.01953125 C -89.56325516 196.76706856 -89.56325516 196.76706856 -89.07858276 195.48930359 C -88.72136139 194.58146622 -88.36414001 193.67362885 -87.99609375 192.73828125 C -87.62759308 191.7761824 -87.25909241 190.81408356 -86.87942505 189.8228302 C -85.6512966 186.62389857 -84.40766722 183.4312248 -83.1640625 180.23828125 C -82.29593771 177.9856625 -81.42884842 175.73264443 -80.56274414 173.47924805 C -78.74798671 168.7629726 -76.92691108 164.04921023 -75.10058594 159.33740234 C -72.47634763 152.56568487 -69.86827287 145.78785295 -67.265625 139.0078125 C -63.93968108 130.34580714 -60.60885357 121.68570608 -57.273437Line truncated
</g>
<g transform="matrix(0.91 0 0 0.79 209.76 417.02)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(128,192,55); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(32.32, -111.31)" d="M 0 0 C 1.09090942 -0.00191345 2.18181885 -0.0038269 3.30578613 -0.00579834 C 5.59155511 -0.00715038 7.87733202 -0.00352307 10.16308594 0.00488281 C 13.67400043 0.01567959 17.18441286 0.0049117 20.6953125 -0.0078125 C 22.92187613 -0.00649236 25.14843945 -0.00393297 27.375 0 C 28.42699585 -0.00404846 29.4789917 -0.00809692 30.56286621 -0.01226807 C 32.01578064 -0.00281158 32.01578064 -0.00281158 33.49804688 0.00683594 C 34.35168823 0.00842712 35.20532959 0.01001831 36.08483887 0.01165771 C 38.15625 0.265625 38.15625 0.265625 40.15625 2.265625 C 40.23696455 5.09063442 39.61825368 6.73204329 37.76953125 8.8671875 C 36.55603303 10.06159699 35.32821364 11.24155368 34.08984375 12.41015625 C 32.30366552 14.12416567 30.69859404 15.88309802 29.09375 17.765625 C 25.5951307 21.82497109 21.94611713 25.73214373 18.28125 29.640625 C 13.6055141 34.62913757 8.97914098 39.6526136 4.421875 44.75 C 1.73245677 47.73618162 -0.99013427 50.69029029 -3.71875 53.640625 C -4.22446533 54.18759033 -4.73018066 54.73455566 -5.2512207 55.2980957 C -6.27439092 56.40464379 -7.29758431 57.51117046 -8.32080078 58.61767578 C -12.51140571 63.15223546 -16.68775091 67.69932027 -20.84375 72.265625 C -21.77960938 73.29042969 -21.77960938 73.29042969 -22.734375 74.3359375 C -24.47697856 76.28211625 -26.16433717 78.26462248 -27.84375 80.265625 C -28.26108398 80.74644531 -28.67841797 81.22726562 -29.10839844 81.72265625 C -35.79936919 88.97749595 -35.79936919 88.97749595 -38.78125 98.015625 C -37.40455204 108.01479967 -29.56856329 115.39540352 -23.21191406 122.6796875 C -21.24588754 124.95865044 -19.35818529 127.29800412 -17.46875 129.640625 C -12.28610439 136.00576372 -6.88343006 142.17458967 -1.49462891 148.36474609 C 5.40714085 156.31168182 12.22312286 164.33240399 19.0144043 172.3737793 C 22.3584289 176.33048616 25.72113075 180.27077122 29.09375 184.203125 C 29.5882666 184.7801416 30.0827832 185.3571582 30.59228516 185.95166016 C 33.1783813 188.96723448 35.77069146 191.97722047 38.37109375 194.98046875 C 40.8929027 197.89517662 43.39559468 200.82518404 45.88330078 203.76904297 C 47.00096123 205.08305497 48.13768126 206.38080564 49.27734375 207.67578125 C 52.15980534 211.13074098 53.13185359 212.50933616 53.28125 217.140625 C 52.15625 220.265625 52.15625 220.265625 50.37858582 221.44377136 C 47.92758787 222.35018774 46.08270793 222.52544971 43.47387695 222.5402832 C 42.54803299 222.54981522 41.62218903 222.55934723 40.66828918 222.56916809 C 39.67044907 222.56825668 38.67260895 222.56734528 37.64453125 222.56640625 C 36.08208931 222.57283394 36.08208931 222.57283394 34.48808289 222.57939148 C 32.27648646 222.58513744 30.06487113 222.58563309 27.85327148 222.58129883 C 24.5261841 222.57817886 21.20002168 222.60145432 17.87304688 222.62695312 C -9.56569413 222.70951433 -33.32606691 217.67661127 -53.42089844 197.70947266 C -59.54587242 191.49411642 -65.2161094 184.95585903 -70.60546875 178.09765625 C -72.81685074 175.29965984 -75.06589112 172.53646993 -77.32446289 169.77661133 C -119.40678204 118.30934141 -119.40678204 118.30934141 -117.13964844 92.35009766 C -114.68283307 75.04292798 -93.29645425 59.50405252 -81.61767578 47.79931641 C -78.97354536 45.14543803 -76.34030779 42.48104883 -73.70703125 39.81640625 C -52.66398552 18.64245433 -31.33847713 -0.12248734 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 652.31 406.23)">
<path style="stroke: none; stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(11,85,149); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-9.44, -103.31)" d="M 0 0 C 2.03929138 0.00051955 4.07858326 -0.00000182 6.11787415 -0.00151062 C 10.36308396 -0.00142147 14.60810157 0.00889968 18.85327148 0.02709961 C 24.30197654 0.04994469 29.75040537 0.05029614 35.19914532 0.04358196 C 39.39661634 0.04024951 43.59402392 0.04685572 47.79148293 0.0567112 C 49.80220013 0.06056409 51.81292437 0.06171105 53.82364464 0.06012535 C 56.61914073 0.0597562 59.4142749 0.07232707 62.2097168 0.08862305 C 63.45869751 0.08490692 63.45869751 0.08490692 64.73291016 0.08111572 C 70.44701932 0.13451932 70.44701932 0.13451932 72.67578125 2.36328125 C 72.86315774 5.00444238 72.93147991 7.53882105 72.90625 10.1796875 C 72.90579178 10.9513475 72.90533356 11.72300751 72.90486145 12.51805115 C 72.90183912 14.14966367 72.89395338 15.7812733 72.8815918 17.4128418 C 72.86332912 19.91921125 72.86108213 22.42521158 72.86132812 24.93164062 C 72.85641323 26.51432613 72.85058504 28.09700912 72.84375 29.6796875 C 72.84263718 30.43383438 72.84152435 31.18798126 72.84037781 31.96498108 C 72.79183244 37.24723006 72.79183244 37.24723006 71.67578125 38.36328125 C 69.10701629 38.47774539 66.56403747 38.52811721 63.99414062 38.53686523 C 63.18915131 38.54355225 62.38416199 38.55023926 61.55477905 38.55712891 C 59.79942868 38.57121684 58.04405958 38.58309885 56.28868103 38.59307671 C 53.50525223 38.60945904 50.72196002 38.63270047 47.93859863 38.65797424 C 40.02196053 38.72879251 32.10526357 38.78863185 24.18847656 38.84008789 C 19.35023482 38.8720179 14.5121447 38.91334022 9.67402649 38.96028328 C 7.83379367 38.97623379 5.99352585 38.98858719 4.15324402 38.99719048 C 1.56620062 39.00944941 -1.02049216 39.03364615 -3.60742188 39.06030273 C -4.35895538 39.06089188 -5.11048889 39.06148102 -5.88479614 39.06208801 C -14.96963657 39.0967239 -14.96963657 39.0967239 -22.95813751 42.7134161 C -27.65522651 48.17136046 -27.66320856 53.15630177 -27.609375 60.0546875 C -27.22987195 64.45796257 -26.09030666 67.89713405 -23.32421875 71.36328125 C -20.63565153 73.60902244 -18.37877209 74.86066966 -15.00439453 75.77099609 C -13.72941605 76.1191185 -13.72941605 76.1191185 -12.42868042 76.47427368 C -11.50991119 76.71350555 -10.59114197 76.95273743 -9.64453125 77.19921875 C -8.67669708 77.45690033 -7.70886292 77.71458191 -6.71170044 77.98007202 C 5.78750669 81.25457482 18.41880662 83.95424881 31.04394531 86.69140625 C 66.88573595 94.48545314 66.88573595 94.48545314 76.67578125 105.36328125 C 77.66578125 106.44609375 77.66578125 106.44609375 78.67578125 107.55078125 C 86.96364517 119.20558988 88.09024313 130.42119735 88.05078125 144.42578125 C 88.05056976 145.11448303 88.05035828 145.80318481 88.05014038 146.51275635 C 87.99623045 164.07002027 85.37759825 178.99490995 73.0234375 192.2265625 C 60.27175659 203.8325017 43.35015385 206.51698792 26.72729492 206.50854492 C 25.28436569 206.51358284 25.28436569 206.51358284 23.81228638 206.51872253 C 20.65609421 206.52816547 17.49995538 206.53017165 14.34375 206.53125 C 12.1427661 206.53446498 9.94178241 206.53782924 7.74079895 206.54133606 C 3.14042667 206.54730902 -1.45992686 206.54917762 -6.06030273 206.54858398 C -11.96302786 206.54848195 -17.86563379 206.56218449 -23.76833057 206.57935619 C -28.30725156 206.59045109 -32.84614337 206.59250404 -37.38507652 206.59197426 C -39.56244 206.59315623 -41.73980419 206.59759011 -43.91715431 206.60530663 C -46.9524245 206.6150646 -49.98743097 206.61224613 -53.02270508 206.60620117 C -53.92507401 206.61182068 -54.82744293 206.61744019 -55.75715637 206.62322998 C -56.99550232 206.61693825 -56.99550232 206.61693825 -58.25886536 206.61051941 C -59.33422153 206.61133656 -59.33422153 206.61133656 -60.43130207 206.61217022 C -62.32421875 206.36328125 -62.32421875 206.36328125 -65.32421875 204.36328125 C -65.60358949 201.67959996 -65.69638385 199.22963934 -65.65234375 196.546875 C -65.649534 195.38938499 -65.649534 195.38938499 -65.64666748 194.20851135 C -65.63994191 192.57687054 -65.62601733 190.94524598 -65.60546875 189.3137207 C -65.57429985 186.80730321 -65.56449798 184.30151398 -65.55859375 181.79492188 C -65.5494246 180.21223186 -65.5390491 178.62954829 -65.52734375 177.046875 C -65.52309387 176.29272812 -65.51884399 175.53858124 -65.51446533 174.76158142 C -65.44137522 169.48043772 -65.44137522 169.48043772 -64.32421875 168.36328125 C -61.25654452 168.25385366 -58.21056165 168.20904106 -55.14208984 168.20556641 C -54.17783081 168.20048569 -53.21357178 168.19540497 -52.22009277 168.19017029 C -50.11768895 168.17943938 -48.01527352 168.17082996 -45.91285324 168.16405106 C -42.58390015 168.15229517 -39.25507875 168.13284905 -35.92617798 168.1109314 C -26.45815425 168.04921727 -16.99014179 167.99532088 -7.52197266 167.96191406 C -1.73706524 167.94094995 4.04760602 1Line truncated
</g>
<g transform="matrix(0.91 0 0 0.79 438.39 407.05)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(11,84,149); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(25.23, -103.74)" d="M 0 0 C 0.92515915 0.00565979 1.8503183 0.01131958 2.80351257 0.01715088 C 5.74844861 0.0394802 8.69215261 0.08967014 11.63671875 0.140625 C 13.63735218 0.16069446 15.63800474 0.17894445 17.63867188 0.1953125 C 22.53432639 0.23933375 27.42906393 0.30833753 32.32421875 0.390625 C 32.93505859 2.23999023 32.93505859 2.23999023 33.32421875 4.390625 C 31.55078125 6.80078125 31.55078125 6.80078125 28.94921875 9.453125 C 28.00939352 10.43528025 27.07194283 11.41971246 26.13671875 12.40625 C 25.42322266 13.15358398 25.42322266 13.15358398 24.6953125 13.91601562 C 22.67139889 16.09273183 20.81215422 18.38815372 18.94921875 20.703125 C 15.53428465 24.92828073 12.05288931 29.0840017 8.51171875 33.203125 C 8.00745361 33.78980957 7.50318848 34.37649414 6.98364258 34.98095703 C 4.91150319 37.38932293 2.8370494 39.79569014 0.76269531 42.20214844 C -0.78038592 43.99320757 -2.32231011 45.78525014 -3.86328125 47.578125 C -4.36359863 48.16021729 -4.86391602 48.74230957 -5.37939453 49.34204102 C -8.42729247 52.8999278 -11.41398801 56.50009116 -14.36328125 60.140625 C -17.2285653 63.67309613 -20.17454121 67.09137612 -23.23828125 70.453125 C -26.91382887 74.49303125 -30.38533822 78.64340025 -33.75 82.9453125 C -35.03589886 84.57811714 -36.35152973 86.18792978 -37.6953125 87.7734375 C -42.76734644 93.78893297 -42.76734644 93.78893297 -43.67578125 101.390625 C -40.70386518 107.70150654 -35.70311073 112.73080973 -31.01953125 117.8046875 C -28.70954441 120.35337298 -26.52710318 122.96720733 -24.36328125 125.640625 C -20.90735766 129.90793935 -17.38191221 134.10366184 -13.80078125 138.265625 C -6.54989034 146.69579435 0.69503807 155.12841131 7.69921875 163.765625 C 11.86216414 168.88351127 16.17826656 173.85657434 20.51367188 178.82788086 C 24.54392875 183.46018991 28.45870586 188.16537658 32.30859375 192.94921875 C 34.82097207 195.99231265 37.48444221 198.87868161 40.20703125 201.734375 C 40.57570313 202.2809375 40.944375 202.8275 41.32421875 203.390625 C 40.99421875 204.380625 40.66421875 205.370625 40.32421875 206.390625 C 33.51147877 206.64535977 26.69997608 206.81977303 19.88354492 206.93994141 C 17.56797402 206.99005849 15.25271689 207.05817516 12.93823242 207.14501953 C -6.2485909 207.84662417 -6.2485909 207.84662417 -12.06152344 204.35961914 C -14.36605915 201.82160642 -16.0172605 199.38157316 -17.67578125 196.390625 C -18.61912689 195.17852036 -19.58282959 193.98172894 -20.57421875 192.80859375 C -21.4027435 191.73408039 -22.22827732 190.65725406 -23.05078125 189.578125 C -27.96171098 183.23715615 -33.07683949 177.10005874 -38.29199219 171.00830078 C -40.63639696 168.26764693 -42.96944589 165.51739846 -45.30078125 162.765625 C -45.7596875 162.22413818 -46.21859375 161.68265137 -46.69140625 161.12475586 C -50.29903329 156.85809267 -53.8360945 152.53652586 -57.36328125 148.203125 C -59.93724947 145.07262311 -62.55169319 141.97909329 -65.17578125 138.890625 C -72.16240837 130.65793679 -78.9861889 122.30399468 -85.67578125 113.828125 C -86.15724609 113.21976807 -86.63871094 112.61141113 -87.13476562 111.98461914 C -91.00083768 107.06346645 -92.19769819 104.75801165 -91.67578125 98.390625 C -89.15119075 93.40543131 -86.16481818 89.32077934 -82.48828125 85.140625 C -81.50311532 83.9993802 -80.51875124 82.85744276 -79.53515625 81.71484375 C -79.04982422 81.1532959 -78.56449219 80.59174805 -78.06445312 80.01318359 C -76.07969567 77.69414386 -74.15867428 75.32558135 -72.23828125 72.953125 C -67.8266507 67.53491921 -63.28254483 62.2379165 -58.7265625 56.94140625 C -52.48150804 49.68031497 -46.27946975 42.38509071 -40.23828125 34.953125 C -36.28637296 30.09630748 -32.22532455 25.34236682 -28.1328125 20.60424805 C -24.21240365 16.05368374 -20.43106503 11.41177476 -16.7109375 6.6953125 C -11.33402714 0.60629693 -7.85836733 -0.1816984 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 126.27 332.16)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(11,84,149); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-57.9, -75.08)" d="M 0 0 C 5.94072787 -0.0746515 11.8811773 -0.12883772 17.82226562 -0.16479492 C 19.83956667 -0.17979884 21.85683556 -0.20020855 23.87402344 -0.22631836 C 26.78849263 -0.26307353 29.70252726 -0.27981068 32.6171875 -0.29296875 C 33.95062698 -0.31619453 33.95062698 -0.31619453 35.31100464 -0.33988953 C 43.29343148 -0.3419924 51.41168375 0.97288928 57.6875 6.25 C 58.42226562 6.86746094 59.15703125 7.48492187 59.9140625 8.12109375 C 65.35773577 13.02447735 70.04553783 18.16758712 74.5703125 23.93359375 C 77.64222447 27.81052445 80.78780666 31.62367944 83.9375 35.4375 C 85.16410909 36.92444073 86.39067239 38.41141925 87.6171875 39.8984375 C 88.20081055 40.60581055 88.78443359 41.31318359 89.38574219 42.04199219 C 92.14519027 45.38905413 94.89486313 48.74398474 97.63671875 52.10546875 C 99.53028088 54.42469113 101.42987608 56.73861901 103.33203125 59.05078125 C 104.51314388 60.49208667 105.69413369 61.93349276 106.875 63.375 C 107.71526733 64.39315796 107.71526733 64.39315796 108.57250977 65.43188477 C 116.89029422 75.60957789 116.89029422 75.60957789 116.49504089 83.26812744 C 114.83364297 92.43651626 104.104272 100.2392783 97.73046875 106.640625 C 96.64335345 107.73673268 95.55630333 108.83290501 94.46931458 109.92913818 C 92.20285525 112.21197477 89.93214013 114.49048292 87.65893555 116.76660156 C 84.76578216 119.66514977 81.88916577 122.57954136 79.01620007 125.49808121 C 76.78118155 127.76301274 74.53482369 130.01643995 72.28530312 132.26696014 C 71.22039693 133.33603454 70.15955311 134.40917337 69.10313988 135.48664093 C 62.25560103 142.45979498 55.60157388 149.035588 45.56738281 150.50146484 C 44.53967773 150.44684082 43.51197266 150.3922168 42.453125 150.3359375 C 41.26396484 150.29049805 40.07480469 150.24505859 38.84960938 150.19824219 C 37.57923828 150.13282227 36.30886719 150.06740234 35 150 C 32.88804143 149.95002541 30.77625171 149.91826477 28.66394043 149.88702393 C 25.76019125 149.83978006 22.85761719 149.76186743 19.95458984 149.68261719 C 18.46348134 149.64364691 16.9722565 149.60893299 15.48095703 149.578125 C 13.29425125 149.53273608 11.10819991 149.47485873 8.921875 149.4140625 C 7.63893555 149.3826416 6.35599609 149.3512207 5.03417969 149.31884766 C 2 149 2 149 0 147 C 0.33722142 143.78555852 1.48977446 142.14247409 3.75634766 139.91894531 C 4.33430084 139.34444641 4.91225403 138.76994751 5.50772095 138.17803955 C 6.13681366 137.56756775 6.76590637 136.95709595 7.4140625 136.328125 C 8.38585953 135.36625275 8.38585953 135.36625275 9.37728882 134.38494873 C 11.45288695 132.33275105 13.53833383 130.29093762 15.625 128.25 C 17.68856118 126.22172576 19.74989959 124.1912666 21.80844116 122.15789795 C 23.08853865 120.89450656 24.3717206 119.63422943 25.65859985 118.37774658 C 29.43403459 114.66403922 32.9651723 110.80935181 36.42474365 106.800354 C 38.30582914 104.65046913 40.28482747 102.63233754 42.33203125 100.640625 C 43.06744141 99.91746094 43.80285156 99.19429688 44.56054688 98.44921875 C 46.07965728 96.96568162 47.60053252 95.48394979 49.12304688 94.00390625 C 49.85201172 93.28589844 50.58097656 92.56789063 51.33203125 91.828125 C 51.98921143 91.1877832 52.6463916 90.54744141 53.32348633 89.88769531 C 55.86061019 87.03098326 56.9114078 84.86521209 57.30078125 81.0625 C 56.04759826 68.30281869 39.48015728 53.45174685 31.27294922 43.97167969 C 27.7602657 39.91110447 24.38036205 35.76652222 21.0546875 31.55078125 C 19.0724551 29.08994901 17.03947091 26.68428029 14.98364258 24.28515625 C 10.81182717 19.41170757 6.6935207 14.49820763 2.75 9.4375 C 2.00234375 8.48746094 1.2546875 7.53742188 0.484375 6.55859375 C -1 4 -1 4 -0.59277344 1.84008789 C -0.3971582 1.23285889 -0.20154297 0.62562988 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 352.06 407.18)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(11,85,149); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-19.7, -103.52)" d="M 0 0 C 28 0 28 0 35 3 C 39.10485524 7.37851226 39.14730821 11.77107551 39.14044189 17.50228882 C 39.14341302 18.27311566 39.14638414 19.0439425 39.1494453 19.83812773 C 39.15813838 22.42904268 39.15964105 25.01991146 39.16113281 27.61083984 C 39.16576051 29.46521605 39.1707851 31.31959131 39.17617798 33.17396545 C 39.18930757 38.21735075 39.19574788 43.26072273 39.20018864 48.30412245 C 39.20311811 51.4535296 39.20722265 54.6029331 39.21169281 57.75233841 C 39.22536844 67.60185523 39.23503511 77.45136372 39.2388947 87.30088937 C 39.24337751 98.67888363 39.26093547 110.05675787 39.2898953 121.43471563 C 39.31149298 130.22459294 39.32159794 139.01443643 39.32293582 147.80434 C 39.32398511 153.05661226 39.32991931 158.30877171 39.34775543 163.56101608 C 39.36420331 168.5005605 39.36640761 173.43990692 39.35761642 178.37946892 C 39.35684432 180.19311617 39.36121152 182.00677392 39.37107468 183.82039452 C 39.38374451 186.29508159 39.37794474 188.7690621 39.36749268 191.2437439 C 39.37554908 191.96252256 39.38360548 192.68130122 39.39190602 193.42186105 C 39.34882676 197.77870247 38.75596345 200.58465642 36 204 C 25.250323 209.3748385 12.01850425 206 0 206 C 0 138.02 0 70.04 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 538.67 406.77)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(11,84,148); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-18.5, -103)" d="M 0 0 C 12.21 0 24.42 0 37 0 C 37 67.98 37 135.96 37 206 C 24.79 206 12.58 206 0 206 C 0 138.02 0 70.04 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 832.07 388.69)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(253,253,254); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2.5, -41)" d="M 0 0 C 0.66 0 1.32 0 2 0 C 2.24419678 0.69818848 2.48839355 1.39637695 2.73999023 2.11572266 C 3.9685032 5.62022639 5.20162505 9.12308728 6.4375 12.625 C 6.67088074 13.28651062 6.90426147 13.94802124 7.14471436 14.62957764 C 10.51204298 24.15721161 13.96464275 33.65114996 17.48046875 43.125 C 17.86373825 44.15813324 18.24700775 45.19126648 18.64189148 46.25570679 C 20.56305588 51.43007919 22.49015581 56.60217075 24.42358398 61.77197266 C 25.13923134 63.69430944 25.85481062 65.61667157 26.5703125 67.5390625 C 26.90214035 68.42118408 27.2339682 69.30330566 27.57585144 70.2121582 C 27.8809816 71.03369385 28.18611176 71.85522949 28.50048828 72.70166016 C 28.76709259 73.41423981 29.0336969 74.12681946 29.30838013 74.86099243 C 30.06076831 77.1879412 30.52038563 79.60192815 31 82 C 12.19 82 -6.62 82 -26 82 C -24.1680927 75.28300656 -22.32388586 68.63617077 -20.21484375 62.01171875 C -19.95729309 61.19741394 -19.69974243 60.38310913 -19.43438721 59.54412842 C -18.60467444 56.92442459 -17.77134463 54.30589133 -16.9375 51.6875 C -16.51121811 50.34511765 -16.51121811 50.34511765 -16.07632446 48.97561646 C -10.87399478 32.59746583 -5.50782323 16.27783778 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 825.27 534.11)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(15,14,14); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(2.96, -16.01)" d="M 0 0 C 0.99 0.66 1.98 1.32 3 2 C 3.33 1.34 3.66 0.68 4 0 C 5.32 0 6.64 0 8 0 C 8.08729047 4.06236402 8.14048992 8.12448589 8.1875 12.1875 C 8.21263672 13.33798828 8.23777344 14.48847656 8.26367188 15.67382812 C 8.27333984 16.78564453 8.28300781 17.89746094 8.29296875 19.04296875 C 8.3086792 20.06414795 8.32438965 21.08532715 8.34057617 22.13745117 C 7.94575908 25.45589588 6.93635895 27.30410939 5 30 C 1.9686367 32.35772701 -1.25785471 32.359505 -5.03125 32.25390625 C -7.96188605 31.87594724 -9.76198688 30.89892022 -12 29 C -12.8125 26.8125 -12.8125 26.8125 -13 25 C -11.35 25 -9.7 25 -8 25 C -8 25.66 -8 26.32 -8 27 C -6.52093108 27.02689216 -5.04172517 27.04634621 -3.5625 27.0625 C -2.32693359 27.07990234 -2.32693359 27.07990234 -1.06640625 27.09765625 C 0.99163938 27.23267348 0.99163938 27.23267348 2 26 C 2.04063832 24.33382885 2.042721 22.66611905 2 21 C 1.34 21.66 0.68 22.32 0 23 C -3.00922309 23.34532068 -5.09325299 23.56241657 -8 23 C -11.16158752 20.44382286 -13.73038953 18.20992185 -14.23828125 14.046875 C -14.41774475 8.49295197 -13.73664814 5.39605663 -10 1 C -6.87293041 -0.5635348 -3.42017557 -0.39958487 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 606.43 527.84)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(14,13,13); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(2.14, -16.03)" d="M 0 0 C 2.4375 1.125 2.4375 1.125 4 3 C 4.51924297 6.48634568 4.39852706 8.31163508 2.625 11.375 C 2.08875 11.91125 1.5525 12.4475 1 13 C 0.34 13 -0.32 13 -1 13 C 0.98 15.97 0.98 15.97 3 19 C 3.33 18.34 3.66 17.68 4 17 C 5.32 17 6.64 17 8 17 C 7.7525 18.216875 7.505 19.43375 7.25 20.6875 C 6.7775115 24.24061354 6.84380159 24.76318305 8.9375 27.9375 C 9.618125 28.618125 10.29875 29.29875 11 30 C 11 30.33 11 30.66 11 31 C 9.35 31 7.7 31 6 31 C 5.67 30.01 5.34 29.02 5 28 C 3.989375 28.66 2.97875 29.32 1.9375 30 C -1.85002985 32.14244113 -4.61351705 32.64984933 -9 32 C -11.75329021 30.20437595 -13.52627461 28.94745078 -15 26 C -15.375 22.6875 -15.375 22.6875 -15 19 C -12.625 16.0625 -12.625 16.0625 -10 14 C -9.34 14 -8.68 14 -8 14 C -8.515625 13.319375 -9.03125 12.63875 -9.5625 11.9375 C -11.42105712 8.13957894 -11.06681329 6.03865032 -10 2 C -6.28986601 -0.47342266 -4.38939738 -0.38503486 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 800.64 527.03)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(19,18,18); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-3, -16)" d="M 0 0 C 1.98 0 3.96 0 6 0 C 12.72414839 17.16924407 12.72414839 17.16924407 15.4375 24.4375 C 15.89962891 25.67306641 15.89962891 25.67306641 16.37109375 26.93359375 C 17 29 17 29 17 32 C 15.35 32 13.7 32 12 32 C 10.74335022 29.09399739 10 27.20395416 10 24 C 5.38 24 0.76 24 -4 24 C -4.66 26.64 -5.32 29.28 -6 32 C -7.65 32 -9.3 32 -11 32 C -9.63722131 25.0291373 -7.53160243 18.6660917 -4.9375 12.0625 C -4.57333984 11.11826172 -4.20917969 10.17402344 -3.83398438 9.20117188 C -1.20076885 2.4015377 -1.20076885 2.4015377 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 367.76 530.85)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(19,18,18); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(4.07, -11.86)" d="M 0 0 C 3.02508145 1.73602105 5.41790069 3.83580137 7 7 C 7.43281664 11.23660902 7.44858706 14.91394711 5.8125 18.875 C 3.6014525 21.46726259 2.19989543 22.74786701 -1 24 C -5.4644466 24.19966219 -8.88489471 23.83632897 -12.5 21.125 C -15.52936562 16.8333987 -15.79593285 12.07839765 -15 7 C -11.5671274 0.81314379 -6.91341533 -1.18002636 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 641.85 527.39)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(21,20,20); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(5.27, -16.45)" d="M 0 0 C 3.0625 1.625 3.0625 1.625 5 4 C 5.8125 7.25 5.8125 7.25 6 10 C 3.6875 10.3125 3.6875 10.3125 1 10 C 0.319375 8.7625 0.319375 8.7625 -0.375 7.5 C -0.91125 6.675 -1.4475 5.85 -2 5 C -5.58428147 4.49968794 -5.58428147 4.49968794 -9 5 C -10.29633621 6.06645115 -10.29633621 6.06645115 -10.0625 8.5625 C -10.041875 9.366875 -10.02125 10.17125 -10 11 C -9.19175781 11.23074219 -8.38351562 11.46148438 -7.55078125 11.69921875 C 3.86307461 15.18257886 3.86307461 15.18257886 7 20 C 7.625 23.5 7.625 23.5 7 27 C 4.31468263 30.25064734 2.11248047 32.73404023 -2.171875 33.2734375 C -9.99749297 33.58171942 -9.99749297 33.58171942 -13.5 30.9375 C -16.43141058 27.49309256 -17.14280444 25.37169735 -18 21 C -16.02 21 -14.04 21 -12 21 C -11.71125 21.969375 -11.4225 22.93875 -11.125 23.9375 C -10.35785318 27.10664203 -10.35785318 27.10664203 -8 28 C -3.94857881 28.25860135 -2.45662331 28.30441554 1 26 C 1.00261339 23.56518244 1.00261339 23.56518244 0 21 C -2.87910631 19.40153555 -2.87910631 19.40153555 -6.375 18.375 C -13.98838897 15.85971185 -13.98838897 15.85971185 -16 13 C -16.46061269 9.82689033 -16.69832854 8.01630983 -16 5 C -11.61351059 -0.54082872 -6.83615467 -1.21911425 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 344.59 527.4)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(15,14,15); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-13.5, -15.46)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 5.33 4.29 5.66 8.58 6 13 C 6.85722656 12.0615625 7.71445312 11.123125 8.59765625 10.15625 C 9.75164267 8.93658956 10.90664454 7.71788932 12.0625 6.5 C 12.90458008 5.56994141 12.90458008 5.56994141 13.76367188 4.62109375 C 16.94685397 1.31058438 18.19925963 0.08269811 22.93359375 -0.40625 C 23.94550781 -0.2721875 24.95742188 -0.138125 26 0 C 25.29875 0.70125 24.5975 1.4025 23.875 2.125 C 23.20210938 2.80755859 23.20210938 2.80755859 22.515625 3.50390625 C 21.46802315 4.53800807 20.39276517 5.54456151 19.296875 6.52734375 C 17.39344434 8.22449849 17.39344434 8.22449849 15 11 C 15.28859812 14.14630848 16.62591496 16.15896579 18.50390625 18.63671875 C 18.99697266 19.29607422 19.49003906 19.95542969 19.99804688 20.63476562 C 20.51431641 21.31216797 21.03058594 21.98957031 21.5625 22.6875 C 22.58660411 24.04408897 23.60884716 25.4020856 24.62890625 26.76171875 C 25.08338135 27.35944092 25.53785645 27.95716309 26.00610352 28.57299805 C 27 30 27 30 27 31 C 23.83984375 31.4375 23.83984375 31.4375 20 31 C 17.68668535 28.99607162 16.1788087 26.58011682 14.5625 24 C 14.11712891 23.33226562 13.67175781 22.66453125 13.21289062 21.9765625 C 12.12033222 20.33185092 11.0571836 18.6676699 10 17 C 7.9291485 18.12393047 7.9291485 18.12393047 6 20 C 5.30250411 22.72489473 5.30250411 22.72489473 5.25 25.6875 C 5.19328125 26.68136719 5.1365625 27.67523437 5.078125 28.69921875 C 5.05234375 29.45847656 5.0265625 30.21773437 5 31 C 3.35 31 1.7 31 0 31 C 0 20.77 0 10.54 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 425.97 530.81)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(19,18,18); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(3.19, -11.81)" d="M 0 0 C 2.734375 1.5390625 2.734375 1.5390625 5 4 C 5.37398847 6.81239326 5.48293015 8.97592155 5.3125 11.75 C 5.28994141 12.44738281 5.26738281 13.14476562 5.24414062 13.86328125 C 5.18547048 15.57644935 5.09579256 17.28850623 5 19 C 5.99 19.33 6.98 19.66 8 20 C 7.67 21.32 7.34 22.64 7 24 C 5.35 24 3.7 24 2 24 C 1.67 23.01 1.34 22.02 1 21 C 0.154375 21.515625 -0.69125 22.03125 -1.5625 22.5625 C -5.62818269 24.26269458 -7.77082542 24.05729365 -12 23 C -14 21 -14 21 -14.375 17.0625 C -14.24646576 13.32147708 -14.24646576 13.32147708 -12.5625 11.125 C -8.8315187 9.48700821 -4.99739907 8.72602333 -1 8 C -1 7.01 -1 6.02 -1 5 C -3.31 5 -5.62 5 -8 5 C -8.33 5.66 -8.66 6.32 -9 7 C -10.65 7 -12.3 7 -14 7 C -12.56521739 2.45652174 -12.56521739 2.45652174 -10.375 0.6875 C -6.92335108 -0.31166153 -3.51135885 -0.77158351 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 403.57 530.67)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(14,13,13); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(3.77, -11.63)" d="M 0 0 C 3.4173873 2.12637432 5.71409142 4.14227427 7 8 C 7 9.65 7 11.3 7 13 C 1.39 13 -4.22 13 -10 13 C -9.01 14.65 -8.02 16.3 -7 18 C -3.37400578 18.41725678 -3.37400578 18.41725678 0 18 C 0.33 17.34 0.66 16.68 1 16 C 2.65 16 4.3 16 6 16 C 4.75023244 19.65316671 4.32901247 20.78065836 1 23 C -3.87122145 23.78434922 -7.79195939 23.67650274 -12.125 21.25 C -14.98710153 16.28902401 -14.85046559 11.58987836 -14 6 C -10.60452999 0.0286562 -6.60113015 -0.56906294 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 665.18 530.6)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(10,9,9); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(3.66, -11.54)" d="M 0 0 C 3.44905576 2.09942525 5.7111527 4.1334581 7 8 C 7 9.65 7 11.3 7 13 C 1.39 13 -4.22 13 -10 13 C -9.01 14.65 -8.02 16.3 -7 18 C -3.37400578 18.41725678 -3.37400578 18.41725678 0 18 C 0.33 17.34 0.66 16.68 1 16 C 2.65 16 4.3 16 6 16 C 4.75023244 19.65316671 4.32901247 20.78065836 1 23 C -3.59271203 23.73965025 -7.02462089 23.60961194 -11 21.125 C -14.65867139 17.23766165 -14.32678029 13.86667294 -14.29296875 8.70703125 C -13.90428228 5.11556825 -12.68553733 3.36959176 -10 1 C -6.79386153 -0.60306924 -3.47860003 -0.48740461 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 503.03 530.62)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(27,26,27); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(3.62, -11.56)" d="M 0 0 C 2.97239241 1.78476241 5.42604027 3.85208055 7 7 C 7 8.98 7 10.96 7 13 C 1.72 13 -3.56 13 -9 13 C -8.34 14.65 -7.68 16.3 -7 18 C -3.58343976 18.16677282 -3.58343976 18.16677282 0 18 C 0.66 17.34 1.32 16.68 2 16 C 3.32 16 4.64 16 6 16 C 4.75023244 19.65316671 4.32901247 20.78065836 1 23 C -3.59271203 23.73965025 -7.02462089 23.60961194 -11 21.125 C -14.51487778 17.39044236 -14.27590722 14.43171254 -14.21875 9.48046875 C -13.93537507 6.26719951 -13.12264382 4.42587865 -11 2 C -7.57080428 -0.57189679 -4.16060514 -0.502142 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 848.28 530.56)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(15,14,14); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(3.71, -11.48)" d="M 0 0 C 3.97692795 2.3342838 5.77945708 4.56166211 7 9 C 7 10.32 7 11.64 7 13 C 1.39 13 -4.22 13 -10 13 C -9.01 14.65 -8.02 16.3 -7 18 C -4.95714939 18.60024521 -4.95714939 18.60024521 -2.8125 18.3125 C -1.554375 18.209375 -0.29625 18.10625 1 18 C 1 17.34 1 16.68 1 16 C 2.65 16 4.3 16 6 16 C 4.60042311 19.38231081 3.26935579 21.27928642 0 23 C -3.62443543 23.48474959 -6.88521634 23.35203695 -10.375 22.25 C -12.42825882 20.67057014 -13.02196348 19.39950486 -14 17 C -14.6651079 11.81061159 -14.85240019 7.42066699 -12.125 2.875 C -8.39242089 -0.41845216 -4.84062106 -0.66895339 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 560.43 530.62)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(16,15,15); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(3.62, -11.56)" d="M 0 0 C 3.375 2 3.375 2 6 5 C 6.33 7.64 6.66 10.28 7 13 C 1.39 13 -4.22 13 -10 13 C -9.01 14.65 -8.02 16.3 -7 18 C -3.45769191 18.58342353 -3.45769191 18.58342353 0 18 C 0.66 17.34 1.32 16.68 2 16 C 3.32 16 4.64 16 6 16 C 4.75023244 19.65316671 4.32901247 20.78065836 1 23 C -3.59271203 23.73965025 -7.02462089 23.60961194 -11 21.125 C -14.51487778 17.39044236 -14.27590722 14.43171254 -14.21875 9.48046875 C -13.93537507 6.26719951 -13.12264382 4.42587865 -11 2 C -7.57080428 -0.57189679 -4.16060514 -0.502142 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 766.92 534.14)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(19,19,19); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-11, -16.05)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 6.98 5.28 8.96 10.56 11 16 C 12.98 10.72 14.96 5.44 17 0 C 18.65 0 20.3 0 22 0 C 19.97491452 5.86523493 17.9303308 11.72323175 15.85888672 17.57226562 C 15.16234887 19.54110371 14.47270202 21.51237876 13.78515625 23.484375 C 13.30369141 24.79148437 13.30369141 24.79148437 12.8125 26.125 C 12.55082031 26.84945312 12.28914062 27.57390625 12.01953125 28.3203125 C 10.67918576 30.52854453 9.39486103 31.10931165 7 32 C 4.25 32.125 4.25 32.125 2 32 C 2 30.68 2 29.36 2 28 C 3.65 27.34 5.3 26.68 7 26 C 6.47227674 20.05476322 5.16826458 15.14238988 2.9375 9.625 C 0 2.2173913 0 2.2173913 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 538.42 530.46)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(19,18,18); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-10.22, -11.36)" d="M 0 0 C 1.32 0 2.64 0 4 0 C 4 0.99 4 1.98 4 3 C 4.70125 2.505 5.4025 2.01 6.125 1.5 C 9.51250333 -0.26739304 11.2335258 -0.6277457 15 0 C 17.7818436 2.03241575 19.73300431 3.60258162 20.40087891 7.09814453 C 20.49186155 9.52112924 20.43672028 11.89116006 20.3125 14.3125 C 20.28994141 15.14845703 20.26738281 15.98441406 20.24414062 16.84570312 C 20.1855061 18.89791149 20.09583215 20.94919202 20 23 C 18.35 23 16.7 23 15 23 C 14.93941406 21.78441406 14.87882813 20.56882812 14.81640625 19.31640625 C 14.73201668 17.73175772 14.6473679 16.14712298 14.5625 14.5625 C 14.52318359 13.76005859 14.48386719 12.95761719 14.44335938 12.13085938 C 14.5945704 8.24760439 14.5945704 8.24760439 13 5 C 10.69 5 8.38 5 6 5 C 5.67 10.94 5.34 16.88 5 23 C 3.35 23 1.7 23 0 23 C 0 15.41 0 7.82 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 912.26 534.16)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(19,18,18); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-10.5, -16.07)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 5.84161854 2.08000011 6.67300763 4.16414146 7.5 6.25 C 7.9640625 7.41015625 8.428125 8.5703125 8.90625 9.765625 C 10 13 10 13 10 17 C 10.66 17 11.32 17 12 17 C 12.1546875 15.576875 12.1546875 15.576875 12.3125 14.125 C 12.9910919 9.26508446 14.5085476 4.66196126 16 0 C 17.65 0 19.3 0 21 0 C 19.37579526 7.02275193 17.10234573 13.76444527 14.5625 20.5 C 14.27431396 21.28938965 13.98612793 22.0787793 13.68920898 22.89208984 C 10.94273905 30.01677855 10.94273905 30.01677855 7 32 C 4.25 32.1875 4.25 32.1875 2 32 C 2 30.68 2 29.36 2 28 C 2.639375 27.773125 3.27875 27.54625 3.9375 27.3125 C 6.21661857 26.17357541 6.21661857 26.17357541 6.71850586 23.70385742 C 7.02824509 20.72869525 6.65466457 19.18593333 5.56640625 16.42578125 C 5.24736328 15.59369141 4.92832031 14.76160156 4.59960938 13.90429688 C 4.25736328 13.04900391 3.91511719 12.19371094 3.5625 11.3125 C 2.89454716 9.60126845 2.22905683 7.889073 1.56640625 6.17578125 C 1.26677979 5.42208252 0.96715332 4.66838379 0.65844727 3.8918457 C 0 2 0 2 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 869.62 530.47)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(40,39,39); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-9.7, -11.37)" d="M 0 0 C 1.32 0 2.64 0 4 0 C 4.33 0.66 4.66 1.32 5 2 C 5.99 1.34 6.98 0.68 8 0 C 11.69111884 -0.40266751 14.03013376 -0.62140102 17.20703125 1.4140625 C 19.94527153 5.36333279 19.42974759 9.06964936 19.25 13.75 C 19.23195313 14.63816406 19.21390625 15.52632812 19.1953125 16.44140625 C 19.14827374 18.62870848 19.08257009 20.81379816 19 23 C 17.35 23 15.7 23 14 23 C 13.67 17.06 13.34 11.12 13 5 C 11.02 5 9.04 5 7 5 C 4.88074396 7.11925604 5.58168983 11.6196093 5.4375 14.5625 C 5.39431641 15.36880859 5.35113281 16.17511719 5.30664062 17.00585938 C 5.20024738 19.00368805 5.09959112 21.0018207 5 23 C 3.35 23 1.7 23 0 23 C 0 15.41 0 7.82 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 707.99 530.67)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(15,15,15); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-9.32, -11.63)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 5 5.94 5 11.88 5 18 C 7.31 18 9.62 18 12 18 C 14.11925604 15.88074396 13.41831017 11.3803907 13.5625 8.4375 C 13.60568359 7.63119141 13.64886719 6.82488281 13.69335938 5.99414062 C 13.79975262 3.99631195 13.90040888 1.9981793 14 0 C 15.65 0 17.3 0 19 0 C 19 7.59 19 15.18 19 23 C 17.68 23 16.36 23 15 23 C 15 22.01 15 21.02 15 20 C 14.29875 20.495 13.5975 20.99 12.875 21.5 C 9.52678113 23.2468968 7.7241837 23.55466566 4 23 C 1.83203125 21.58203125 1.83203125 21.58203125 0 19 C -0.49281528 15.73684534 -0.37637124 12.5405128 -0.25 9.25 C -0.23195313 8.36183594 -0.21390625 7.47367188 -0.1953125 6.55859375 C -0.14827374 4.37129152 -0.08257009 2.18620184 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 467.79 530.49)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(17,15,16); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-9.71, -11.39)" d="M 0 0 C 1.32 0 2.64 0 4 0 C 4 0.99 4 1.98 4 3 C 4.70125 2.505 5.4025 2.01 6.125 1.5 C 9.45800237 -0.23895776 11.29065683 -0.47353317 15 0 C 17.15917969 1.23168945 17.15917969 1.23168945 19 3 C 19.45410156 5.17651367 19.45410156 5.17651367 19.390625 7.66796875 C 19.37128906 9.00698242 19.37128906 9.00698242 19.3515625 10.37304688 C 19.31804687 11.30181641 19.28453125 12.23058594 19.25 13.1875 C 19.23195313 14.12787109 19.21390625 15.06824219 19.1953125 16.03710938 C 19.1481655 18.35909889 19.08238231 20.6790369 19 23 C 17.68 23 16.36 23 15 23 C 14.93941406 21.86820313 14.87882812 20.73640625 14.81640625 19.5703125 C 14.73200083 18.08852855 14.64735283 16.6067584 14.5625 15.125 C 14.52318359 14.37863281 14.48386719 13.63226562 14.44335938 12.86328125 C 14.28426376 8.80013136 14.28426376 8.80013136 13 5 C 11.00045254 4.95745644 8.99958364 4.95919217 7 5 C 4.88074396 7.11925604 5.58168983 11.6196093 5.4375 14.5625 C 5.39431641 15.36880859 5.35113281 16.17511719 5.30664062 17.00585938 C 5.20024738 19.00368805 5.09959112 21.0018207 5 23 C 3.35 23 1.7 23 0 23 C 0 15.41 0 7.82 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 686.61 530.57)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(21,20,20); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(5.15, -11.5)" d="M 0 0 C 3.0625 2.3125 3.0625 2.3125 5 5 C 5 5.99 5 6.98 5 8 C 2.525 7.505 2.525 7.505 0 7 C 0 6.34 0 5.68 0 5 C -2.97 5 -5.94 5 -9 5 C -9.02696365 6.79158489 -9.04637917 8.58328473 -9.0625 10.375 C -9.07410156 11.37273438 -9.08570313 12.37046875 -9.09765625 13.3984375 C -9.18006602 15.98432453 -9.18006602 15.98432453 -8 18 C -5.08365871 18.2502157 -5.08365871 18.2502157 -2 18 C -1.34 17.01 -0.68 16.02 0 15 C 2.625 14.8125 2.625 14.8125 5 15 C 4.63515574 17.55390984 3.94055033 19.0891745 2.5 21.25 C -0.72291508 23.50604056 -2.94255755 23.56649662 -6.80859375 23.39453125 C -10.06711174 22.80788184 -11.79600354 21.41062113 -14 19 C -15.67967818 13.96096545 -15.87064828 8.94859377 -13.6875 4.0625 C -9.8517462 -0.62564354 -5.68216178 -0.99512466 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 891.51 530.63)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(19,17,18); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(4.27, -11.57)" d="M 0 0 C 3.03965634 1.8108591 4.60422231 2.90400023 5.8125 6.25 C 5.874375 6.8275 5.93625 7.405 6 8 C 3.625 8.1875 3.625 8.1875 1 8 C 0.34 7.01 -0.32 6.02 -1 5 C -4.08365871 4.7497843 -4.08365871 4.7497843 -7 5 C -9.09429461 8.40322874 -9.33706208 11.03952054 -9 15 C -8.01 16.485 -8.01 16.485 -7 18 C -4 18.5 -4 18.5 -1 18 C -0.34 17.01 0.32 16.02 1 15 C 3.625 14.8125 3.625 14.8125 6 15 C 5.1342843 17.66929007 4.27808762 19.67741836 2.4375 21.8125 C -1.3679409 23.66643275 -4.85861182 23.73690181 -9 23 C -12.0625 21.25 -12.0625 21.25 -14 18 C -14.85879959 12.44847407 -15.01160935 7.7197359 -12.125 2.8125 C -8.36559692 -0.39404968 -4.81393768 -0.67321351 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 485.82 528.69)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(26,25,25); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-3.5, -15.1)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 5 2.31 5 4.62 5 7 C 6.32 7 7.64 7 9 7 C 9 8.32 9 9.64 9 11 C 7.68 11 6.36 11 5 11 C 5 15.62 5 20.24 5 25 C 6.65 25 8.3 25 10 25 C 9.67 26.65 9.34 28.3 9 30 C 3.60674157 30.35955056 3.60674157 30.35955056 1.3125 29 C -0.76763714 25.83026721 -0.31199229 22.46746606 -0.1875 18.8125 C -0.16719727 17.68811523 -0.16719727 17.68811523 -0.14648438 16.54101562 C -0.11118539 14.69370233 -0.05737917 12.84675934 0 11 C -0.99 11 -1.98 11 -3 11 C -3 9.68 -3 8.36 -3 7 C -2.01 7 -1.02 7 0 7 C 0 4.69 0 2.38 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 749.16 528.33)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(12,11,11); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-3.5, -14.65)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 5 1.98 5 3.96 5 6 C 6.65 6 8.3 6 10 6 C 10 7.32 10 8.64 10 10 C 8.35 10 6.7 10 5 10 C 5.33 14.62 5.66 19.24 6 24 C 7.32 24.33 8.64 24.66 10 25 C 10 26.32 10 27.64 10 29 C 8.72125 29.061875 7.4425 29.12375 6.125 29.1875 C 5.04605469 29.23970703 5.04605469 29.23970703 3.9453125 29.29296875 C 3.30335938 29.19628906 2.66140625 29.09960938 2 29 C -0.45391569 25.31912647 -0.22802759 22.55644412 -0.125 18.3125 C -0.11597656 17.61060547 -0.10695313 16.90871094 -0.09765625 16.18554688 C -0.07413704 14.45688475 -0.03826713 12.72839855 0 11 C -0.99 11 -1.98 11 -3 11 C -3 9.35 -3 7.7 -3 6 C -2.01 6 -1.02 6 0 6 C 0 4.02 0 2.04 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 576.94 528.64)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(33,33,33); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2.5, -15.05)" d="M 0 0 C 1.32 0 2.64 0 4 0 C 4 2.31 4 4.62 4 7 C 5.65 7 7.3 7 9 7 C 9 7.99 9 8.98 9 10 C 7.35 10 5.7 10 4 10 C 4 14.95 4 19.9 4 25 C 5.65 25 7.3 25 9 25 C 9 26.65 9 28.3 9 30 C 5.625 30.125 5.625 30.125 2 30 C 0 28 0 28 -0.1953125 24.0859375 C -0.18200376 22.51550649 -0.15813602 20.94513779 -0.125 19.375 C -0.11597656 18.57320312 -0.10695313 17.77140625 -0.09765625 16.9453125 C -0.07406223 14.96341477 -0.03819065 12.98167019 0 11 C -1.32 11 -2.64 11 -4 11 C -4 9.68 -4 8.36 -4 7 C -3.01 6.67 -2.02 6.34 -1 6 C -0.67 4.02 -0.34 2.04 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 367.83 530.79)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(248,248,248); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-0.01, -8.22)" d="M 0 0 C 3 0.4375 3 0.4375 4.875 1.9375 C 6.4752025 5.49350556 6.69773981 8.60385094 6 12.4375 C 4.375 15 4.375 15 2 16.4375 C -1.125 16.375 -1.125 16.375 -4 15.4375 C -6.06520632 12.33969052 -6.29477024 11.4834519 -6.3125 7.9375 C -6.32925781 7.1640625 -6.34601563 6.390625 -6.36328125 5.59375 C -5.69575952 1.63168551 -3.83072377 0.55864722 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 641.67 534.25)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(22,21,22); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(7.47, -8.17)" d="M 0 0 C 2.60314669 2.18328432 3.89677366 3.71460954 5.0625 6.9375 C 5 10 5 10 2.6875 12.8125 C -1.47041803 16.19685188 -4.19241974 16.40826333 -9.453125 16.33984375 C -13.74214868 15.76753538 -15.19725173 14.29322922 -18 11 C -19.0074676 8.63294019 -19.50026587 6.54864406 -20 4 C -18.02 4 -16.04 4 -14 4 C -13.71125 4.969375 -13.4225 5.93875 -13.125 6.9375 C -12.35785318 10.10664203 -12.35785318 10.10664203 -10 11 C -5.94857881 11.25860135 -4.45662331 11.30441554 -1 9 C -1.20625 8.071875 -1.4125 7.14375 -1.625 6.1875 C -2 3 -2 3 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 452.11 527.43)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(15,15,15); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2.5, -15.5)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 5 10.23 5 20.46 5 31 C 3.35 31 1.7 31 0 31 C 0 20.77 0 10.54 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 825.24 530.66)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(250,250,250); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(3, -7.61)" d="M 0 0 C 1.875 1 1.875 1 3 3 C 3.39174433 7.11331542 3.56377991 9.74715576 1.875 13.5 C 0 15 0 15 -3 15.5 C -6 15 -6 15 -7.875 13.5 C -9.56377991 9.74715576 -9.39174433 7.11331542 -9 3 C -6.89283346 -0.74607384 -4.00604938 -0.50075617 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 387.42 530.57)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(20,19,19); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-6.5, -11.5)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 5.33 0.66 5.66 1.32 6 2 C 6.99 1.34 7.98 0.68 9 0 C 10.32 0 11.64 0 13 0 C 13 1.32 13 2.64 13 4 C 11.02 4.33 9.04 4.66 7 5 C 5.8838344 8.71429898 5.6875805 12.39161508 5.4375 16.25 C 5.31181641 18.14492188 5.31181641 18.14492188 5.18359375 20.078125 C 5.12300781 21.04234375 5.06242187 22.0065625 5 23 C 3.35 23 1.7 23 0 23 C 0 15.41 0 7.82 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 521.36 530.57)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(19,18,18); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-6.5, -11.5)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 5.33 0.66 5.66 1.32 6 2 C 6.99 1.34 7.98 0.68 9 0 C 10.32 0 11.64 0 13 0 C 13 1.32 13 2.64 13 4 C 12.030625 4.28875 11.06125 4.5775 10.0625 4.875 C 6.89335797 5.64214682 6.89335797 5.64214682 6 8 C 5.76827173 10.54615009 5.58105471 13.07396225 5.4375 15.625 C 5.39431641 16.33140625 5.35113281 17.0378125 5.30664062 17.765625 C 5.20055249 19.51018537 5.09977111 21.25506697 5 23 C 3.35 23 1.7 23 0 23 C 0 15.41 0 7.82 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 848.47 526.05)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(17,15,15); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(1.53, -6.3)" d="M 0 0 C 3.18621407 0.89592554 4.41407093 2.94476009 6.16015625 5.6328125 C 6.97265625 7.5546875 6.97265625 7.5546875 6.97265625 11.5546875 C 5.97265625 11.5546875 4.97265625 11.5546875 3.97265625 11.5546875 C 2.98265625 12.0496875 2.98265625 12.0496875 1.97265625 12.5546875 C 0.2656289 12.62464764 -1.44402378 12.63908904 -3.15234375 12.6171875 C -4.06242188 12.60816406 -4.9725 12.59914063 -5.91015625 12.58984375 C -6.60882812 12.57824219 -7.3075 12.56664062 -8.02734375 12.5546875 C -8.68734375 9.5846875 -9.34734375 6.6146875 -10.02734375 3.5546875 C -7.04426168 0.57160543 -4.21459559 -0.14179948 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 727.29 530.52)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(24,22,23); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-6.5, -11.44)" d="M 0 0 C 1.32 0 2.64 0 4 0 C 4 0.99 4 1.98 4 3 C 4.556875 2.505 5.11375 2.01 5.6875 1.5 C 8.38162983 -0.24754367 9.85375007 -0.26218749 13 0 C 13 1.32 13 2.64 13 4 C 12.030625 4.28875 11.06125 4.5775 10.0625 4.875 C 6.89335797 5.64214682 6.89335797 5.64214682 6 8 C 5.76827173 10.54615009 5.58105471 13.07396225 5.4375 15.625 C 5.39431641 16.33140625 5.35113281 17.0378125 5.30664062 17.765625 C 5.20055249 19.51018537 5.09977111 21.25506697 5 23 C 3.35 23 1.7 23 0 23 C 0 15.41 0 7.82 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 404.32 526.56)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(21,20,20); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(2.95, -6.4)" d="M 0 0 C 3.4173873 2.12637432 5.71409142 4.14227427 7 8 C 7.125 10.75 7.125 10.75 7 13 C 6.01 13 5.02 13 4 13 C 3.34 11.68 2.68 10.36 2 9 C -1.96 9 -5.92 9 -10 9 C -9.67 8.01 -9.34 7.02 -9 6 C -10.32 6 -11.64 6 -13 6 C -12.06896676 3.67241689 -11.34617872 2.25642868 -9.3125 0.75 C -6.01294404 -0.32012626 -3.44962955 -0.3631189 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 504.49 526.15)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(17,16,16); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(2.02, -5.88)" d="M 0 0 C 3.40723075 1.84051304 5.6372552 3.96013157 6.9375 7.6875 C 7 10 7 10 6 12 C 4.68 11.67 3.36 11.34 2 11 C 2.33 10.01 2.66 9.02 3 8 C 2.67 7.67 2.34 7.34 2 7 C 2 7.66 2 8.32 2 9 C -1.63 9 -5.26 9 -9 9 C -9.66 6.69 -10.32 4.38 -11 2 C -7.32751381 -0.35039116 -4.28842905 -0.51756902 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 664.81 532.3)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(15,14,14); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-8.93, -9.7)" d="M 0 0 C 1.98 0.495 1.98 0.495 4 1 C 3.814375 1.78375 3.62875 2.5675 3.4375 3.375 C 2.74037734 5.97089775 2.74037734 5.97089775 4 8 C 3.34 8 2.68 8 2 8 C 3.75454385 11.18234105 3.75454385 11.18234105 6 14 C 8.33297433 14.04092937 10.66705225 14.04241723 13 14 C 13.33 13.34 13.66 12.68 14 12 C 15.65 12 17.3 12 19 12 C 17.75023244 15.65316671 17.32901247 16.78065836 14 19 C 9.40728797 19.73965025 5.97537911 19.60961194 2 17.125 C -1.09996134 13.83129108 -1.13666554 11.93290705 -1.125 7.5 C -1.12757813 6.5203125 -1.13015625 5.540625 -1.1328125 4.53125 C -1 2 -1 2 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 703.87 530.64)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(19,18,18); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-4.8, -11.59)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 5 5.94 5 11.88 5 18 C 6.32 18.66 7.64 19.32 9 20 C 9.33 20.99 9.66 21.98 10 23 C 6.67198026 23.30254725 4.66827906 23.42960797 1.8125 21.59375 C -0.94935467 17.64144073 -0.43029937 13.94471818 -0.25 9.25 C -0.23195313 8.36183594 -0.21390625 7.47367188 -0.1953125 6.55859375 C -0.14827374 4.37129152 -0.08257009 2.18620184 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 424.6 534.55)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(15,15,14); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(1.69, -6.56)" d="M 0 0 C 0.33 0.66 0.66 1.32 1 2 C -1.31 2.33 -3.62 2.66 -6 3 C -6 4.65 -6 6.3 -6 8 C -3.75124253 8.86850174 -3.75124253 8.86850174 -1 9 C 1.81099414 7.1687189 1.81099414 7.1687189 4 5 C 4.33 7.31 4.66 9.62 5 12 C 5.99 12.33 6.98 12.66 8 13 C 6.68 13 5.36 13 4 13 C 4 12.34 4 11.68 4 11 C 3.154375 11.515625 2.30875 12.03125 1.4375 12.5625 C -2.62818269 14.26269458 -4.77082542 14.05729365 -9 13 C -11 11 -11 11 -11.375 7.0625 C -11.28653877 3.30630006 -11.28653877 3.30630006 -9.1875 1.0625 C -5.70635981 -0.62833952 -3.66655869 -1.34440485 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 737.31 530.57)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(33,32,31); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2.5, -11.5)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 5 7.59 5 15.18 5 23 C 3.35 23 1.7 23 0 23 C 0 15.41 0 7.82 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 606.54 534.6)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(13,13,13); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(6.02, -7.63)" d="M 0 0 C 1.32 0 2.64 0 4 0 C 3.7525 1.216875 3.505 2.43375 3.25 3.6875 C 2.7775115 7.24061354 2.84380159 7.76318305 4.9375 10.9375 C 5.618125 11.618125 6.29875 12.29875 7 13 C 7 13.33 7 13.66 7 14 C 5.35 14 3.7 14 2 14 C 1.67 13.01 1.34 12.02 1 11 C -0.010625 11.66 -1.02125 12.32 -2.0625 13 C -5.85002985 15.14244113 -8.61351705 15.64984933 -13 15 C -15.75329021 13.20437595 -17.52627461 11.94745078 -19 9 C -19.04022391 6.6670134 -19.04320247 4.33293334 -19 2 C -18.34 1.67 -17.68 1.34 -17 1 C -16.95101562 1.62648438 -16.90203125 2.25296875 -16.8515625 2.8984375 C -16.77679687 3.71570313 -16.70203125 4.53296875 -16.625 5.375 C -16.55539062 6.18710937 -16.48578125 6.99921875 -16.4140625 7.8359375 C -16.17107412 10.20334191 -16.17107412 10.20334191 -14 12 C -13.01 11.67 -12.02 11.34 -11 11 C -9.69135103 10.6318585 -8.37848383 10.27849389 -7.0625 9.9375 C -6.39347656 9.76089844 -5.72445312 9.58429687 -5.03515625 9.40234375 C -3 9 -3 9 1 9 C 1.08886184 5.80097361 0.91058531 3.07322544 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 469.42 328.43)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(15,77,143); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-8.92, -3.63)" d="M 0 0 C 1.38986115 0.00636726 1.38986115 0.00636726 2.80780029 0.01286316 C 5.76278934 0.02963553 8.71709261 0.0672852 11.671875 0.10546875 C 13.67707347 0.12051745 15.68228265 0.13420553 17.6875 0.14648438 C 22.59922196 0.17953437 27.51043226 0.23130693 32.421875 0.29296875 C 32.916875 2.27296875 32.916875 2.27296875 33.421875 4.29296875 C 32.101875 5.28296875 30.781875 6.27296875 29.421875 7.29296875 C 30.081875 5.64296875 30.741875 3.99296875 31.421875 2.29296875 C 25.53143405 2.33714611 19.64206248 2.40700601 13.75219727 2.50048828 C 11.74935424 2.52868136 9.7464003 2.54990417 7.7434082 2.56396484 C 4.86091393 2.58541729 1.97975091 2.63207931 -0.90234375 2.68359375 C -1.79523605 2.68482239 -2.68812836 2.68605103 -3.608078 2.68731689 C -8.86490791 2.81064613 -11.74589123 3.32596752 -15.578125 7.29296875 C -12.42815192 -0.3194662 -7.38271198 -0.12728957 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 560.09 534.65)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(26,25,25); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-9, -6.69)" d="M 0 0 C 0.66 0 1.32 0 2 0 C 2.103125 0.763125 2.20625 1.52625 2.3125 2.3125 C 3.07608041 5.29740522 3.40538567 6.35674426 6 8 C 9.54199641 8.41673207 9.54199641 8.41673207 13 8 C 13.66 7.34 14.32 6.68 15 6 C 16.32 6 17.64 6 19 6 C 17.75023244 9.65316671 17.32901247 10.78065836 14 13 C 9.47098739 13.72939154 5.98627422 13.57532663 2 11.25 C -0.03313551 8.96272256 -0.81744956 8.01208226 -1 5 C -0.5625 2.25 -0.5625 2.25 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 607.07 523.89)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(26,25,25); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(1.44, -9)" d="M 0 0 C 1.32 0.33 2.64 0.66 4 1 C 4.2295711 4.36704285 4.33943529 6.41370268 2.625 9.375 C 2.08875 9.91125 1.5525 10.4475 1 11 C 0.34 11 -0.32 11 -1 11 C -0.67 13.31 -0.34 15.62 0 18 C -0.598125 17.38125 -1.19625 16.7625 -1.8125 16.125 C -4.00811144 13.86323046 -4.00811144 13.86323046 -7 12 C -6.34 12 -5.68 12 -5 12 C -5.33 8.7 -5.66 5.4 -6 2 C -4.68 1.67 -3.36 1.34 -2 1 C -1.34 1.66 -0.68 2.32 0 3 C 0 2.01 0 1.02 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 802.92 534.5)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(18,18,18); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(5.5, -6.5)" d="M 0 0 C 0.66 0 1.32 0 2 0 C 2.67305018 1.60149886 3.33822227 3.20631029 4 4.8125 C 4.37125 5.70582031 4.7425 6.59914063 5.125 7.51953125 C 6 10 6 10 6 13 C 4.35 13 2.7 13 1 13 C -0.25664978 10.09399739 -1 8.20395416 -1 5 C -5.62 5 -10.24 5 -15 5 C -15.66 6.32 -16.32 7.64 -17 9 C -16.125 4.125 -16.125 4.125 -15 3 C -11.37733706 2.71471529 -7.75469566 2.55087772 -4.125 2.37890625 C -3.09375 2.25386719 -2.0625 2.12882813 -1 2 C -0.67 1.34 -0.34 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 874.94 530.57)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(17,16,16); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2.55, -11.5)" d="M 0 0 C 4.875 1.75 4.875 1.75 6 4 C 6.08342159 5.44848582 6.10732861 6.90070869 6.09765625 8.3515625 C 6.09443359 9.20234375 6.09121094 10.053125 6.08789062 10.9296875 C 6.07951172 11.81914063 6.07113281 12.70859375 6.0625 13.625 C 6.05798828 14.5221875 6.05347656 15.419375 6.04882812 16.34375 C 6.03702591 18.56256648 6.02056155 20.78125018 6 23 C 4.68 23 3.36 23 2 23 C 1.98018066 22.43490723 1.96036133 21.86981445 1.93994141 21.28759766 C 1.84481764 18.73292003 1.73508942 16.17907459 1.625 13.625 C 1.57859375 12.29082031 1.57859375 12.29082031 1.53125 10.9296875 C 1.49257813 10.07890625 1.45390625 9.228125 1.4140625 8.3515625 C 1.3826416 7.56604004 1.3512207 6.78051758 1.31884766 5.97119141 C 1.1600535 3.76997061 1.1600535 3.76997061 -1 2 C -0.67 1.34 -0.34 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 348.24 523.3)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(14,13,13); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(5.5, -10.75)" d="M 0 0 C 1.485 0.2475 1.485 0.2475 3 0.5 C 2.29875 1.20125 1.5975 1.9025 0.875 2.625 C 0.20017578 3.30755859 0.20017578 3.30755859 -0.48828125 4.00390625 C -1.52782169 5.03270209 -2.58931662 6.03963185 -3.66796875 7.02734375 C -5.18519024 8.4436574 -6.5989762 9.9686484 -8 11.5 C -8 12.82 -8 14.14 -8 15.5 C -8.99 15.5 -9.98 15.5 -11 15.5 C -10.01 16.985 -10.01 16.985 -9 18.5 C -9.33 19.49 -9.66 20.48 -10 21.5 C -12 18.5 -12 18.5 -12 15.5 C -12.66 15.17 -13.32 14.84 -14 14.5 C -12.69171328 7.95856642 -7.34108151 -0.02990257 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 604.2 532.54)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(244,244,244); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2.42, -6)" d="M 0 0 C 3.7952131 1.49097658 5.61042731 3.75700849 8 7 C 6.125 10.875 6.125 10.875 5 12 C 1.5 11.6875 1.5 11.6875 -2 11 C -3.39935013 8.20129973 -3.25265405 6.09501208 -3 3 C -1.5 1.125 -1.5 1.125 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 544.93 532.14)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(31,30,30); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(0.63, -9.5)" d="M 0 0 C 0.66 0.33 1.32 0.66 2 1 C 2 6.94 2 12.88 2 19 C 0.35 19 -1.3 19 -3 19 C -3.08071788 16.20775927 -3.14035408 13.41783434 -3.1875 10.625 C -3.21263672 9.8309375 -3.23777344 9.036875 -3.26367188 8.21875 C -3.29004405 6.14413852 -3.15486462 4.06899135 -3 2 C -2.01 1.34 -1.02 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 576.94 526.64)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(13,13,13); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2.5, -12.5)" d="M 0 0 C 1.32 0 2.64 0 4 0 C 4 2.31 4 4.62 4 7 C 5.65 7 7.3 7 9 7 C 9 7.99 9 8.98 9 10 C 7.35 10 5.7 10 4 10 C 4 14.95 4 19.9 4 25 C 3.67 25 3.34 25 3 25 C 3 20.05 3 15.1 3 10 C 0.69 10 -1.62 10 -4 10 C -4 9.01 -4 8.02 -4 7 C -3.01 6.67 -2.02 6.34 -1 6 C -0.67 4.02 -0.34 2.04 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 503.59 529)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(11,11,11); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-9, -5.5)" d="M 0 0 C 0.99 0.33 1.98 0.66 3 1 C 3 2.32 3 3.64 3 5 C 6.63 5 10.26 5 14 5 C 13.67 3.68 13.34 2.36 13 1 C 13.99 1.99 14.98 2.98 16 4 C 15.67 4.99 15.34 5.98 15 7 C 15.99 7.33 16.98 7.66 18 8 C 18.33 7.34 18.66 6.68 19 6 C 19 6.99 19 7.98 19 9 C 13.39 9 7.78 9 2 9 C 1.67 9.66 1.34 10.32 1 11 C 1.33 9.35 1.66 7.7 2 6 C 1.01 5.67 0.02 5.34 -1 5 C -0.67 3.35 -0.34 1.7 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 338.21 527.43)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(27,26,26); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-4.5, -14.5)" d="M 0 0 C 0.66 0 1.32 0 2 0 C 2 4.62 2 9.24 2 14 C 3.65 13.01 5.3 12.02 7 11 C 7.66 11.33 8.32 11.66 9 12 C 8.8125 13.875 8.8125 13.875 8 16 C 6.35 16.66 4.7 17.32 3 18 C 2.67 21.63 2.34 25.26 2 29 C 1.34 29 0.68 29 0 29 C 0 19.43 0 9.86 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 800.64 524.68)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(232,233,233); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1, -7)" d="M 0 0 C 2.92586433 1.46293216 3.05946588 3.40270098 4.125 6.4375 C 4.47820313 7.42621094 4.83140625 8.41492188 5.1953125 9.43359375 C 6 12 6 12 6 14 C 2.7 14 -0.6 14 -4 14 C -3.52188823 12.22888156 -3.0424722 10.45811517 -2.5625 8.6875 C -2.29566406 7.70136719 -2.02882813 6.71523438 -1.75390625 5.69921875 C -1.21920575 3.78482474 -0.62855462 1.88566385 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 797.9 526.25)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(19,19,19); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(1, -10)" d="M 0 0 C 1.43410153 3.78819273 0.51009497 6.06521279 -0.9375 9.75 C -1.31777344 10.73484375 -1.69804688 11.7196875 -2.08984375 12.734375 C -2.39019531 13.48203125 -2.69054687 14.2296875 -3 15 C 0.3 15 3.6 15 7 15 C 7 15.33 7 15.66 7 16 C 6.09636719 15.95359375 5.19273437 15.9071875 4.26171875 15.859375 C 3.08222656 15.82328125 1.90273438 15.7871875 0.6875 15.75 C -0.48425781 15.70359375 -1.65601563 15.6571875 -2.86328125 15.609375 C -6.09700569 15.67565396 -6.09700569 15.67565396 -7.91796875 18.015625 C -8.27503906 18.67046875 -8.63210938 19.3253125 -9 20 C -8.46246904 13.81839396 -6.45417612 8.673142 -4 3 C -3.01 4.485 -3.01 4.485 -2 6 C -1.34 4.02 -0.68 2.04 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 667.21 526.49)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(20,18,19); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2.75, -6.69)" d="M 0 0 C 3.20087838 0.08132903 4.20654538 0.38659284 7.0625 2.125 C 9.92354675 5.15434362 11.12197333 6.93341316 11.3125 11.125 C 11.27125 11.8675 11.23 12.61 11.1875 13.375 C 8.2175 12.88 8.2175 12.88 5.1875 12.375 C 5.1875 11.715 5.1875 11.055 5.1875 10.375 C 5.8475 10.375 6.5075 10.375 7.1875 10.375 C 6.59986362 7.8812206 6.59986362 7.8812206 5.1875 5.375 C 2.57611714 4.12484645 2.57611714 4.12484645 -0.4375 3.5625 C -1.94183594 3.21251953 -1.94183594 3.21251953 -3.4765625 2.85546875 C -4.24742187 2.69691406 -5.01828125 2.53835938 -5.8125 2.375 C -3.8125 0.375 -3.8125 0.375 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 798.82 532.93)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(25,24,25); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(10, -8.5)" d="M 0 0 C 0.66 1.32 1.32 2.64 2 4 C 1.34 4 0.68 4 0 4 C -0.33 4.99 -0.66 5.98 -1 7 C -5.62 7.33 -10.24 7.66 -15 8 C -15.66 10.97 -16.32 13.94 -17 17 C -18.65 17 -20.3 17 -22 17 C -21.34 14.03 -20.68 11.06 -20 8 C -19.34 8 -18.68 8 -18 8 C -17.34 7.01 -16.68 6.02 -16 5 C -12.9609375 4.70703125 -12.9609375 4.70703125 -9.375 4.8125 C -8.18648437 4.83957031 -6.99796875 4.86664062 -5.7734375 4.89453125 C -4.85820313 4.92933594 -3.94296875 4.96414063 -3 5 C -2.67 4.34 -2.34 3.68 -2 3 C -1.34 3 -0.68 3 0 3 C 0 2.01 0 1.02 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 424.41 533.71)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(240,240,240); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(4.91, -4.5)" d="M 0 0 C 0.25 2.8125 0.25 2.8125 0 6 C -1.6875 7.9375 -1.6875 7.9375 -4 9 C -6.75 8.6875 -6.75 8.6875 -9 8 C -9.6875 6.1875 -9.6875 6.1875 -10 4 C -8.39556084 1.59334126 -7.23606416 1.06333429 -4.4375 0.3125 C -2 0 -2 0 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 467.02 530.57)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(6,5,5); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(4.13, -11.5)" d="M 0 0 C 0.66 1.98 1.32 3.96 2 6 C 1.34 5.67 0.68 5.34 0 5 C -3.04173894 4.83329727 -3.04173894 4.83329727 -6 5 C -8.11925604 7.11925604 -7.41831017 11.6196093 -7.5625 14.5625 C -7.60568359 15.36880859 -7.64886719 16.17511719 -7.69335938 17.00585938 C -7.79975262 19.00368805 -7.90040888 21.0018207 -8 23 C -8.66 23 -9.32 23 -10 23 C -10.0816082 20.62429457 -10.14077222 18.25144159 -10.1875 15.875 C -10.22520508 14.87726562 -10.22520508 14.87726562 -10.26367188 13.859375 C -10.3332236 9.12985758 -9.53781286 5.98714654 -7 2 C -4 0 -4 0 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 723.64 530.57)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(5,4,4); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2.5, -11.5)" d="M 0 0 C 1.32 0 2.64 0 4 0 C 3.67 1.32 3.34 2.64 3 4 C 3 3.01 3 2.02 3 1 C 2.34 1 1.68 1 1 1 C 1 7.6 1 14.2 1 21 C 1.66 21 2.32 21 3 21 C 2.97679687 20.24074219 2.95359375 19.48148438 2.9296875 18.69921875 C 2.91164063 17.70535156 2.89359375 16.71148438 2.875 15.6875 C 2.85179687 14.70136719 2.82859375 13.71523438 2.8046875 12.69921875 C 3 10 3 10 5 7 C 5 12.28 5 17.56 5 23 C 3.35 23 1.7 23 0 23 C 0 15.41 0 7.82 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 849.84 528.21)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(8,8,8); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(1, -7.5)" d="M 0 0 C 2.57216446 0.3547813 3.79677287 0.8042998 5.6875 2.625 C 7 5 7 5 8 12 C 2.39 12 -3.22 12 -9 12 C -9.33 12.99 -9.66 13.98 -10 15 C -10 13.68 -10 12.36 -10 11 C -4.555 10.505 -4.555 10.505 1 10 C -1.97 9.67 -4.94 9.34 -8 9 C -8 8.67 -8 8.34 -8 8 C -4.37 8 -0.74 8 3 8 C 3.33 7.34 3.66 6.68 4 6 C 4 7.32 4 8.64 4 10 C 4.66 10 5.32 10 6 10 C 3.90408851 4.39667783 3.90408851 4.39667783 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 405.64 536.92)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(24,23,23); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(2.5, -3.58)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 3.75023244 3.65316671 3.32901247 4.78065836 0 7 C -2.48046875 7.1953125 -2.48046875 7.1953125 -5.1875 7.125 C -6.08855469 7.10695313 -6.98960937 7.08890625 -7.91796875 7.0703125 C -8.60503906 7.04710937 -9.29210937 7.02390625 -10 7 C -10 6.01 -10 5.02 -10 4 C -9.04287109 3.81824219 -9.04287109 3.81824219 -8.06640625 3.6328125 C -7.24011719 3.46523438 -6.41382813 3.29765625 -5.5625 3.125 C -4.73878906 2.96257813 -3.91507812 2.80015625 -3.06640625 2.6328125 C -2.38449219 2.42398438 -1.70257813 2.21515625 -1 2 C -0.67 1.34 -0.34 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 862.14 530.57)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(17,16,16); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1.5, -11.5)" d="M 0 0 C 0.99 0 1.98 0 3 0 C 2.67 1.98 2.34 3.96 2 6 C 2.33 6 2.66 6 3 6 C 3 11.28 3 16.56 3 22 C 2.01 22.33 1.02 22.66 0 23 C 0 15.41 0 7.82 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 773.3 526.64)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(16,15,16); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1, -6.5)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 4.43711205 1.98507824 3.84902373 3.96302563 3.25 5.9375 C 2.76273438 7.59072266 2.76273438 7.59072266 2.265625 9.27734375 C 1 12 1 12 -1.140625 12.87890625 C -2.06101562 12.93884766 -2.06101562 12.93884766 -3 13 C -2.52060632 8.28596212 -2.03165952 4.33420699 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 751.39 531.76)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(29,28,27); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-3.95, -9.02)" d="M 0 0 C 0.66 0 1.32 0 2 0 C 2.33 4.62 2.66 9.24 3 14 C 4.65 14.33 6.3 14.66 8 15 C 8 15.99 8 16.98 8 18 C 5.66705225 18.04241723 3.33297433 18.04092937 1 18 C 0 17 0 17 -0.09765625 13.18359375 C -0.09098089 11.60153318 -0.07901875 10.01948841 -0.0625 8.4375 C -0.05798828 7.63119141 -0.05347656 6.82488281 -0.04882812 5.99414062 C -0.03700518 3.99606244 -0.01906914 1.99802217 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 746.47 527.03)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(85,85,85); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-0.55, -13)" d="M 0 0 C 1.32 0.33 2.64 0.66 4 1 C 4.125 3.375 4.125 3.375 4 6 C 3.34 6.66 2.68 7.32 2 8 C 1.63168919 9.93257855 1.63168919 9.93257855 1.5859375 12.1328125 C 1.54726563 12.93847656 1.50859375 13.74414062 1.46875 14.57421875 C 1.4378125 15.41597656 1.406875 16.25773438 1.375 17.125 C 1.33632813 17.97449219 1.29765625 18.82398438 1.2578125 19.69921875 C 1.16343506 21.79911684 1.08062414 23.89952891 1 26 C 0.67 26 0.34 26 0 26 C 0 21.05 0 16.1 0 11 C -0.99 11 -1.98 11 -3 11 C -3 9.35 -3 7.7 -3 6 C -2.01 6 -1.02 6 0 6 C 0 4.02 0 2.04 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 645.28 518.87)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(20,19,19); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(0.5, -4.62)" d="M 0 0 C 2.71097227 0.37392721 3.82000467 0.81357627 5.75 2.8125 C 7 5 7 5 7 9 C 4.6875 9.3125 4.6875 9.3125 2 9 C 1.54625 8.195625 1.0925 7.39125 0.625 6.5625 C 0.08875 5.716875 -0.4475 4.87125 -1 4 C -4.59919423 3.10407917 -4.59919423 3.10407917 -8 3 C -8 2.67 -8 2.34 -8 2 C -5.36 2 -2.72 2 0 2 C 0 1.34 0 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 822.96 544.02)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(19,18,18); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-7.5, -3.6)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 5 0.66 5 1.32 5 2 C 8.3 2.66 11.6 3.32 15 4 C 14.67 4.99 14.34 5.98 14 7 C 5.07081668 7.45402627 5.07081668 7.45402627 1 4 C 0.1875 1.8125 0.1875 1.8125 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 565.55 526.27)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(23,22,22); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-5, -6.03)" d="M 0 0 C 3.04718178 0.33857575 4.7747603 0.83107022 7.25 2.6875 C 9.36769983 5.48588906 9.76849249 7.5273874 10 11 C 9 12 9 12 5.4375 12.0625 C 4.303125 12.041875 3.16875 12.02125 2 12 C 2.33 11.34 2.66 10.68 3 10 C 3.99 10 4.98 10 6 10 C 4.70721467 6.01391188 3.39841019 4.37888713 0 2 C 0 1.34 0 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 908.7 543.22)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(27,27,27); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(1.41, -4.59)" d="M 0 0 C 0.99 0 1.98 0 3 0 C 3.25 2.8125 3.25 2.8125 3 6 C 0.7793949 8.467339 -0.43569203 8.96152446 -3.75 9.1875 C -4.4925 9.125625 -5.235 9.06375 -6 9 C -6 7.68 -6 6.36 -6 5 C -5.38125 4.731875 -4.7625 4.46375 -4.125 4.1875 C -1.7004767 3.04443152 -1.7004767 3.04443152 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 424.72 536.39)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(10,9,9); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-9.44, -4.91)" d="M 0 0 C 0.33 0 0.66 0 1 0 C 1.66 2.31 2.32 4.62 3 7 C 5.64 7 8.28 7 11 7 C 11.433125 6.071875 11.433125 6.071875 11.875 5.125 C 13 3 13 3 15 1 C 15.33 3.31 15.66 5.62 16 8 C 16.99 8.33 17.98 8.66 19 9 C 17.68 9 16.36 9 15 9 C 15 8.34 15 7.68 15 7 C 14.154375 7.515625 13.30875 8.03125 12.4375 8.5625 C 8.37181731 10.26269458 6.22917458 10.05729365 2 9 C 0 7 0 7 -0.125 3.375 C -0.08375 2.26125 -0.0425 1.1475 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 659.41 531.36)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(30,29,30); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-3.01, -8.5)" d="M 0 0 C 1.98 0.495 1.98 0.495 4 1 C 3.814375 1.78375 3.62875 2.5675 3.4375 3.375 C 2.74037734 5.97089775 2.74037734 5.97089775 4 8 C 3.34 8 2.68 8 2 8 C 3.53604696 11.14191424 5.05731159 14.08596738 7 17 C 4.37179596 16.6374891 3.23311153 16.25315798 1.41015625 14.2734375 C -0.20481584 11.66979828 -0.51432738 9.91155102 -0.75 6.875 C -0.82734375 6.00617187 -0.9046875 5.13734375 -0.984375 4.2421875 C -1 2 -1 2 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 561.45 537)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(11,11,11); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(4.5, -3.68)" d="M 0 0 C 1.32 0 2.64 0 4 0 C 2.75023244 3.65316671 2.32901247 4.78065836 -1 7 C -3.15625 7.30078125 -3.15625 7.30078125 -5.5 7.3125 C -6.66015625 7.33763672 -6.66015625 7.33763672 -7.84375 7.36328125 C -10.47015897 6.92078843 -11.33557103 6.02185443 -13 4 C -11.948125 4.2475 -10.89625 4.495 -9.8125 4.75 C -5.96253699 5.38528511 -5.96253699 5.38528511 -3.125 3.125 C -2.42375 2.42375 -1.7225 1.7225 -1 1 C -0.67 0.67 -0.34 0.34 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 664.87 526.49)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(240,241,240); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-3, -2.31)" d="M 0 0 C 3 -0.5 3 -0.5 6 0 C 7.875 1.375 7.875 1.375 9 3 C 9 3.66 9 4.32 9 5 C 5.04 5 1.08 5 -3 5 C -2.01 3.35 -1.02 1.7 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 848.02 526.46)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(245,245,245); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-3, -2.27)" d="M 0 0 C 3 -0.625 3 -0.625 6 0 C 6.99 1.65 7.98 3.3 9 5 C 5.04 5 1.08 5 -3 5 C -2.01 3.35 -1.02 1.7 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 432.52 535.29)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(43,42,42); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-4, -6.5)" d="M 0 0 C 0.99 0 1.98 0 3 0 C 3.16435547 0.84884766 3.16435547 0.84884766 3.33203125 1.71484375 C 3.49058594 2.44832031 3.64914062 3.18179688 3.8125 3.9375 C 3.96332031 4.66839844 4.11414063 5.39929688 4.26953125 6.15234375 C 4.51058594 6.76207031 4.75164062 7.37179687 5 8 C 5.99 8.33 6.98 8.66 8 9 C 7.67 10.32 7.34 11.64 7 13 C 5.35 13 3.7 13 2 13 C 1.66127487 11.58461283 1.32925376 10.16762037 1 8.75 C 0.814375 7.96109375 0.62875 7.1721875 0.4375 6.359375 C 0 4 0 4 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 560.54 526.58)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(245,245,245); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(2.5, -2.43)" d="M 0 0 C 1.8125 1.375 1.8125 1.375 3 3 C 3 3.66 3 4.32 3 5 C -0.63 5 -4.26 5 -8 5 C -7.67 3.68 -7.34 2.36 -7 1 C -4.45132831 -0.27433584 -2.82594567 -0.27570202 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 403.36 526.55)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(244,244,243); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(3, -2.38)" d="M 0 0 C 0.99 1.65 1.98 3.3 3 5 C -0.96 5 -4.92 5 -9 5 C -6.60697304 0.21394609 -5.27346961 -0.77172726 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 649.84 533.32)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(32,31,31); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1.5, -7)" d="M 0 0 C 2.64539841 2.21872125 3.89688903 3.69066708 5 7 C 5 10 5 10 3.0625 12.375 C 2.381875 12.91125 1.70125 13.4475 1 14 C 0 11 0 11 0.0625 7.9375 C 0.33623843 4.87496819 0.33623843 4.87496819 -2 3 C -1.34 2.01 -0.68 1.02 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 918.64 525.85)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(37,37,37); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1.5, -5.5)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 4.01 3.63 3.02 7.26 2 11 C 0.68 10.01 -0.64 9.02 -2 8 C -1.34 5.36 -0.68 2.72 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 503.14 526.54)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(248,249,248); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-0.13, -2.63)" d="M 0 0 C 2.625 0.25 2.625 0.25 4.4375 1.625 C 5.625 3.25 5.625 3.25 5.625 5.25 C 1.995 5.25 -1.635 5.25 -5.375 5.25 C -2.90277778 0.30555556 -2.90277778 0.30555556 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 149.6 381.22)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(110,180,27); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(9.5, -10.5)" d="M 0 0 C 0 3 0 3 -2.140625 5.33203125 C -3.08421875 6.21246094 -4.0278125 7.09289062 -5 8 C -5.95656139 8.93791433 -6.90966503 9.87936746 -7.859375 10.82421875 C -8.33503906 11.29537109 -8.81070313 11.76652344 -9.30078125 12.25195312 C -9.77902344 12.72568359 -10.25726563 13.19941406 -10.75 13.6875 C -11.24371094 14.17283203 -11.73742187 14.65816406 -12.24609375 15.15820312 C -14.96615276 17.81840217 -14.96615276 17.81840217 -17 21 C -17.66 20.67 -18.32 20.34 -19 20 C -13.08218389 12.91529057 -6.56858667 6.47151396 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 633.89 534.11)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(9,7,8); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-4, -4)" d="M 0 0 C 1.98 0 3.96 0 6 0 C 6.66 2.31 7.32 4.62 8 7 C 6 8 6 8 3 8 C 0 2.25 0 2.25 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 805.36 525.46)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(20,19,19); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1.18, -6)" d="M 0 0 C 0.66 0 1.32 0 2 0 C 3.60355101 3.50776784 4.22036864 6.14354879 4 10 C 3.34 10 2.68 10 2 10 C 1.67 10.66 1.34 11.32 1 12 C -2.125 5.375 -2.125 5.375 -1 2 C -0.67 1.34 -0.34 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 870.43 530.52)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(30,29,29); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(0.03, -11.56)" d="M 0 0 C 0.78375 0.04125 1.5675 0.0825 2.375 0.125 C 4.09706188 3.11626319 4.61679923 5.23185713 4.5703125 8.671875 C 4.56064453 9.93837891 4.56064453 9.93837891 4.55078125 11.23046875 C 4.53402344 12.10316406 4.51726563 12.97585938 4.5 13.875 C 4.49097656 14.76316406 4.48195313 15.65132812 4.47265625 16.56640625 C 4.44914577 18.75288058 4.41628499 20.93880094 4.375 23.125 C 4.045 23.125 3.715 23.125 3.375 23.125 C 3.045 17.185 2.715 11.245 2.375 5.125 C 0.065 4.135 -2.245 3.145 -4.625 2.125 C -2.625 0.125 -2.625 0.125 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 599.65 533.32)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(26,25,25); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-3.42, -7)" d="M 0 0 C 0.66 0 1.32 0 2 0 C 1.95875 0.7425 1.9175 1.485 1.875 2.25 C 2.00529816 5.11655953 2.63770164 6.53083422 4 9 C 4 9.66 4 10.32 4 11 C 4.66 11 5.32 11 6 11 C 6.33 11.99 6.66 12.98 7 14 C 2.25 13.25 2.25 13.25 0 11 C -0.1953125 8.3984375 -0.1953125 8.3984375 -0.125 5.375 C -0.10695313 4.37210938 -0.08890625 3.36921875 -0.0703125 2.3359375 C -0.04710937 1.56507813 -0.02390625 0.79421875 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 483.18 520.75)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(14,14,13); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-0.6, -5)" d="M 0 0 C 1.32 0 2.64 0 4 0 C 4.36426713 6.43538595 4.36426713 6.43538595 2.75 8.9375 C 1 10 1 10 -3 10 C -3 9.01 -3 8.02 -3 7 C -2.01 7 -1.02 7 0 7 C 0 4.69 0 2.38 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 849.39 536.96)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(11,11,10); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(3.5, -3.63)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 3.60042311 3.38231081 2.26935579 5.27928642 -1 7 C -3.85549606 7.42688224 -6.06041859 7.27996013 -9 7 C -9.99 6.01 -10.98 5.02 -12 4 C -8.7 4.33 -5.4 4.66 -2 5 C -1.34 3.35 -0.68 1.7 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 709.22 530.18)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(59,59,59); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(3.33, -11)" d="M 0 0 C 0.33 0 0.66 0 1 0 C 1.08710289 3.10398978 1.14042309 6.20766548 1.1875 9.3125 C 1.21263672 10.19357422 1.23777344 11.07464844 1.26367188 11.98242188 C 1.27817383 13.25375977 1.27817383 13.25375977 1.29296875 14.55078125 C 1.31653442 15.72120972 1.31653442 15.72120972 1.34057617 16.9152832 C 0.9095481 19.55366936 0.13858594 20.43445625 -2 22 C -2.99 22 -3.98 22 -5 22 C -5 21.34 -5 20.68 -5 20 C -5.99 19.67 -6.98 19.34 -8 19 C -5.69 18.34 -3.38 17.68 -1 17 C -0.67 11.39 -0.34 5.78 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 503.59 537)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(6,6,6); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(9, -3.68)" d="M 0 0 C -1.24976756 3.65316671 -1.67098753 4.78065836 -5 7 C -8.04358279 7.48204074 -10.9549599 7.47269576 -14 7 C -16.5625 5 -16.5625 5 -18 3 C -17.319375 3.33 -16.63875 3.66 -15.9375 4 C -12.4696014 5.18056122 -9.64053968 5.21003114 -6 5 C -5.67 4.67 -5.34 4.34 -5 4 C -5.66 3.67 -6.32 3.34 -7 3 C -4.49955934 -0.00052879 -4.2621484 0 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 797.9 529.78)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(13,12,13); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-5, -5.5)" d="M 0 0 C 2 3 2 3 3 5 C 5.35599235 5.46751788 5.35599235 5.46751788 8.0625 5.625 C 8.98160156 5.69976563 9.90070312 5.77453125 10.84765625 5.8515625 C 11.55792969 5.90054688 12.26820313 5.94953125 13 6 C 13 6.33 13 6.66 13 7 C 11.64455078 6.93039062 11.64455078 6.93039062 10.26171875 6.859375 C 8.49248047 6.80523438 8.49248047 6.80523438 6.6875 6.75 C 5.51574219 6.70359375 4.34398437 6.6571875 3.13671875 6.609375 C -0.09700569 6.67565396 -0.09700569 6.67565396 -1.91796875 9.015625 C -2.27503906 9.67046875 -2.63210938 10.3253125 -3 11 C -2.53199289 6.94393835 -2.12046792 3.53411321 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 452.57 527.03)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(14,13,13); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2, -15)" d="M 0 0 C 1.32 0 2.64 0 4 0 C 3.67 9.9 3.34 19.8 3 30 C 2.67 30 2.34 30 2 30 C 2 20.76 2 11.52 2 2 C 1.34 2 0.68 2 0 2 C 0 1.34 0 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 692.66 536.47)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(30,29,29); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1.5, -4)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 4.45773019 3.79588866 2.79872437 5.47211993 0 8 C -0.66 7.34 -1.32 6.68 -2 6 C -1.64644564 3.73725212 -1.02455574 2.04911148 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 605.64 520.75)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(239,239,239); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2, -4)" d="M 0 0 C 2.0625 0.4375 2.0625 0.4375 4 1 C 4.6875 2.8125 4.6875 2.8125 5 5 C 3.6875 6.75 3.6875 6.75 2 8 C 1.34 8 0.68 8 0 8 C -0.38063221 5.6739143 -0.71269945 3.33944736 -1 1 C -0.67 0.67 -0.34 0.34 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 905.42 525.07)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(14,13,13); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-3, -4.5)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 5.33 2.31 5.66 4.62 6 7 C 5.34 7 4.68 7 4 7 C 3.67 7.66 3.34 8.32 3 9 C 2.01 6.03 1.02 3.06 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 560.54 525.46)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(7,6,6); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1.5, -5)" d="M 0 0 C 2 0 2 0 4.5625 2.1875 C 7 5 7 5 8 10 C 3.71 10 -0.58 10 -5 10 C -5 9.67 -5 9.34 -5 9 C -1.04 9 2.92 9 7 9 C 4.4837263 4.75425988 4.4837263 4.75425988 0.8125 4.25 C -0.115625 4.1675 -1.04375 4.085 -2 4 C -1.34 2.68 -0.68 1.36 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 346.87 530.57)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(26,24,25); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-4, -4.5)" d="M 0 0 C 2.3125 0.1875 2.3125 0.1875 5 1 C 6.8125 3.5625 6.8125 3.5625 8 6 C 7.360625 6.12375 6.72125 6.2475 6.0625 6.375 C 5.0415625 6.684375 5.0415625 6.684375 4 7 C 3.67 7.66 3.34 8.32 3 9 C 2.01 6.03 1.02 3.06 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 672.16 527.82)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(27,27,27); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-3, -5)" d="M 0 0 C 1.485 0.99 1.485 0.99 3 2 C 3 2.66 3 3.32 3 4 C 3.99 4.33 4.98 4.66 6 5 C 6 6.65 6 8.3 6 10 C 3.03 9.505 3.03 9.505 0 9 C 0 8.34 0 7.68 0 7 C 0.66 7 1.32 7 2 7 C 1.34 4.69 0.68 2.38 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 421.13 534.56)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(31,30,30); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-3.5, -5.57)" d="M 0 0 C 1 3 2 6 3 9 C 4.65 9.33 6.3 9.66 8 10 C 8.33 9.34 8.66 8.68 9 8 C 9 8.99 9 9.98 9 11 C 2.9453125 11.1953125 2.9453125 11.1953125 1 11 C -1.79908133 8.20091867 -1.72362983 5.86918237 -2 2 C -1.34 1.34 -0.68 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 178.76 356.46)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(111,181,28); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(5.5, -7)" d="M 0 0 C 0.66 0.33 1.32 0.66 2 1 C 0.44816214 2.80193989 -1.11531189 4.59095676 -2.6875 6.375 C -3.12255859 6.88289063 -3.55761719 7.39078125 -4.00585938 7.9140625 C -6.7568016 11.01141968 -9.01795535 12.80897403 -13 14 C -8.88380164 9.08064098 -4.59589638 4.47352044 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 370.1 538.46)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(28,27,27); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-0.5, -2.53)" d="M 0 0 C 0.66 0.66 1.32 1.32 2 2 C 3.65 1.34 5.3 0.68 7 0 C 2.18421053 4.97631579 2.18421053 4.97631579 -2.125 5.0625 C -3.07375 5.041875 -4.0225 5.02125 -5 5 C -5.33 4.01 -5.66 3.02 -6 2 C -4.02 2 -2.04 2 0 2 C 0 1.34 0 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 887.2 533.32)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(10,9,9); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2, -7)" d="M 0 0 C 0.33 0 0.66 0 1 0 C 1.10957031 0.61488281 1.21914063 1.22976563 1.33203125 1.86328125 C 1.49058594 2.67152344 1.64914062 3.47976563 1.8125 4.3125 C 1.96332031 5.11300781 2.11414063 5.91351562 2.26953125 6.73828125 C 3.07572236 9.23445587 4.02052002 10.32422106 6 12 C 4.68 12 3.36 12 2 12 C 2.33 12.66 2.66 13.32 3 14 C 1.68 13.67 0.36 13.34 -1 13 C -1.33 11.68 -1.66 10.36 -2 9 C -1.67 9 -1.34 9 -1 9 C -0.67 6.03 -0.34 3.06 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 370.95 525.46)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(10,9,9); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1.43, -4)" d="M 0 0 C 2.71675995 0.36712972 4.61063713 0.72744599 6.875 2.3125 C 8 4 8 4 7.6875 6.1875 C 7.3471875 7.0846875 7.3471875 7.0846875 7 8 C 6.34 6.68 5.68 5.36 5 4 C 4.34 4.66 3.68 5.32 3 6 C 2.34 5.34 1.68 4.68 1 4 C -0.98821313 3.60235737 -2.98944339 3.26224651 -5 3 C -5 2.67 -5 2.34 -5 2 C -3.35 1.67 -1.7 1.34 0 1 C 0 0.67 0 0.34 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 851.21 525.85)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(28,26,26); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1.5, -5.5)" d="M 0 0 C 3.20792369 1.60396185 4.8849773 4.16141691 7 7 C 7 8.32 7 9.64 7 11 C 6.34 11 5.68 11 5 11 C 2.95830515 8.09451118 2 6.59857954 2 3 C -0.97 2.505 -0.97 2.505 -4 2 C -2.125 0.9375 -2.125 0.9375 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 684.46 523.84)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(13,12,12); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(5.5, -2.94)" d="M 0 0 C -0.66 1.32 -1.32 2.64 -2 4 C -3.98 4 -5.96 4 -8 4 C -8.33 4.66 -8.66 5.32 -9 6 C -9 5.34 -9 4.68 -9 4 C -9.66 3.67 -10.32 3.34 -11 3 C -7.48550811 -0.37391222 -4.73940561 -0.27342725 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 389.69 524.28)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(15,14,15); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(4, -3.5)" d="M 0 0 C 0 1.32 0 2.64 0 4 C -0.969375 4.12375 -1.93875 4.2475 -2.9375 4.375 C -4.4534375 4.684375 -4.4534375 4.684375 -6 5 C -6.33 5.66 -6.66 6.32 -7 7 C -7.33 6.01 -7.66 5.02 -8 4 C -4.5 0 -4.5 0 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 410.2 527.82)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(28,26,26); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2.5, -5)" d="M 0 0 C 1.485 0.99 1.485 0.99 3 2 C 3 2.66 3 3.32 3 4 C 3.99 4.33 4.98 4.66 6 5 C 6 6.65 6 8.3 6 10 C 5.01 10 4.02 10 3 10 C 2.71125 9.236875 2.4225 8.47375 2.125 7.6875 C 1.03730987 4.84970692 1.03730987 4.84970692 -1 2 C -0.67 1.34 -0.34 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 216.57 333.63)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(117,185,38); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(8, -2.95)" d="M 0 0 C -0.99 0.66 -1.98 1.32 -3 2 C -3.53625 2.515625 -4.0725 3.03125 -4.625 3.5625 C -8.19348334 5.7223715 -11.89669205 5.74573519 -16 6 C -11.9039822 1.45876288 -6.09426446 -0.57133729 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 730.02 523.86)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(13,13,13); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(1.06, -3.03)" d="M 0 0 C 1.2065625 0.0309375 1.2065625 0.0309375 2.4375 0.0625 C 2.4375 1.3825 2.4375 2.7025 2.4375 4.0625 C 0.1275 4.7225 -2.1825 5.3825 -4.5625 6.0625 C -3.48963568 0.08511307 -3.48963568 0.08511307 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 827.52 543.15)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(9,8,8); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(3.5, -3.5)" d="M 0 0 C 0.99 1.32 1.98 2.64 3 4 C 1.82421875 5.55078125 1.82421875 5.55078125 0 7 C -2.48046875 6.85546875 -2.48046875 6.85546875 -5.1875 6.1875 C -6.08855469 5.97480469 -6.98960937 5.76210938 -7.91796875 5.54296875 C -8.60503906 5.36378906 -9.29210937 5.18460938 -10 5 C -10 4.67 -10 4.34 -10 4 C -6.97265625 3.75585938 -6.97265625 3.75585938 -3.9453125 3.51171875 C -1.60480784 3.12606964 -1.60480784 3.12606964 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 840.75 529.78)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(32,30,29); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1.02, -6.5)" d="M 0 0 C 0.33 0.66 0.66 1.32 1 2 C 1.66 2.33 2.32 2.66 3 3 C 2.67 6.3 2.34 9.6 2 13 C 1.34 12.67 0.68 12.34 0 12 C -0.44921875 9.78515625 -0.44921875 9.78515625 -0.6875 7.0625 C -0.81705078 5.71865234 -0.81705078 5.71865234 -0.94921875 4.34765625 C -1 2 -1 2 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 832.07 539.22)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(33,32,32); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(0.5, -5.5)" d="M 0 0 C 0.33 0 0.66 0 1 0 C 1.33 3.63 1.66 7.26 2 11 C 1.01 10.67 0.02 10.34 -1 10 C -1.73046875 8.15234375 -1.73046875 8.15234375 -2.1875 5.9375 C -2.34605469 5.20402344 -2.50460937 4.47054687 -2.66796875 3.71484375 C -2.77753906 3.14894531 -2.88710938 2.58304688 -3 2 C -2.01 2 -1.02 2 0 2 C 0 1.34 0 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 610.54 532.93)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(32,30,29); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(2.63, -4.5)" d="M 0 0 C 0.98120464 3.05263664 0.98120464 4.94736336 0 8 C -1.98 8.33 -3.96 8.66 -6 9 C -5.67 8.34 -5.34 7.68 -5 7 C -4.34 7 -3.68 7 -3 7 C -3 5.02 -3 3.04 -3 1 C -2.34 1.33 -1.68 1.66 -1 2 C -0.67 1.34 -0.34 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 803.37 519.96)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(28,27,27); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1, -4)" d="M 0 0 C 0.99 0.33 1.98 0.66 3 1 C 3.875 2.875 3.875 2.875 4 5 C 2.5625 6.75 2.5625 6.75 1 8 C 0.34 7.67 -0.32 7.34 -1 7 C -1.75 4.5625 -1.75 4.5625 -2 2 C -1.34 1.34 -0.68 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 375.12 529.39)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(33,32,32); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2, -6)" d="M 0 0 C 3.875 2.625 3.875 2.625 5 6 C 4.0625 9.1875 4.0625 9.1875 3 12 C 2.67 12 2.34 12 2 12 C 1.8046875 9.94921875 1.609375 7.8984375 1.4140625 5.84765625 C 1.27742188 5.23792969 1.14078125 4.62820313 1 4 C 0.34 3.67 -0.32 3.34 -1 3 C -0.67 2.01 -0.34 1.02 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 737.31 516.42)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(28,26,26); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2.5, -2.5)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 5 1.65 5 3.3 5 5 C 3.35 5 1.7 5 0 5 C 0 3.35 0 1.7 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 94.02 370.22)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(6,75,142); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(1.5, -3.5)" d="M 0 0 C 0.33 0.99 0.66 1.98 1 3 C -0.65 4.32 -2.3 5.64 -4 7 C -3.43628586 3.73045798 -2.50037734 2.17424117 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 639.81 537.65)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(15,14,14); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-5.5, -2.5)" d="M 0 0 C 3.63 0.66 7.26 1.32 11 2 C 11 2.33 11 2.66 11 3 C 10.0925 3.144375 9.185 3.28875 8.25 3.4375 C 5.78523044 3.86409473 3.41152893 4.35074221 1 5 C 0.67 3.35 0.34 1.7 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 488.1 538.43)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(59,58,58); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(0, -2.5)" d="M 0 0 C 1.32 0 2.64 0 4 0 C 3.67 1.65 3.34 3.3 3 5 C 1.02 5 -0.96 5 -3 5 C -3.33 4.34 -3.66 3.68 -4 3 C -2.68 2.67 -1.36 2.34 0 2 C 0 1.34 0 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 649.44 530.57)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(9,8,8); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-4.06, -5.5)" d="M 0 0 C 2.97454134 0.32157204 4.59335278 0.62139742 6.8125 2.6875 C 8.3082321 5.60024146 8.22022756 7.76999584 8 11 C 7.67 11 7.34 11 7 11 C 6.71125 9.865625 6.4225 8.73125 6.125 7.5625 C 5.75375 6.386875 5.3825 5.21125 5 4 C 4.34 3.67 3.68 3.34 3 3 C 2.67 3.66 2.34 4.32 2 5 C 1.34 4.67 0.68 4.34 0 4 C 0 2.68 0 1.36 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 824.33 544.72)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(31,29,30); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-5, -2.5)" d="M 0 0 C 1.86323318 0.25288812 3.71708432 0.57690153 5.5625 0.9375 C 6.57441406 1.13214844 7.58632813 1.32679688 8.62890625 1.52734375 C 9.80259766 1.76130859 9.80259766 1.76130859 11 2 C 10.67 2.99 10.34 3.98 10 5 C 8.53984709 4.71758359 7.08190207 4.42373386 5.625 4.125 C 4.81289063 3.96257813 4.00078125 3.80015625 3.1640625 3.6328125 C 1 3 1 3 -1 1 C -0.67 0.67 -0.34 0.34 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 907.69 528.21)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(33,32,31); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(0.51, -4.5)" d="M 0 0 C 2 3 2 3 1.625 6.1875 C 1.41875 7.115625 1.2125 8.04375 1 9 C 0.01 9 -0.98 9 -2 9 C -3.125 5.25 -3.125 5.25 -2 3 C -1.34 3 -0.68 3 0 3 C 0 2.01 0 1.02 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 803.37 529)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(34,33,34); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(5, -3.5)" d="M 0 0 C 0.66 1.32 1.32 2.64 2 4 C 1.34 4 0.68 4 0 4 C -0.33 4.99 -0.66 5.98 -1 7 C -4.63 7 -8.26 7 -12 7 C -12 6.67 -12 6.34 -12 6 C -11.04287109 5.92652344 -11.04287109 5.92652344 -10.06640625 5.8515625 C -9.24011719 5.77679687 -8.41382813 5.70203125 -7.5625 5.625 C -6.73878906 5.55539062 -5.91507813 5.48578125 -5.06640625 5.4140625 C -4.38449219 5.27742187 -3.70257812 5.14078125 -3 5 C -2.67 4.34 -2.34 3.68 -2 3 C -1.34 3 -0.68 3 0 3 C 0 2.01 0 1.02 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 649.84 519.17)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(13,12,12); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1.5, -4)" d="M 0 0 C 2 1.75 2 1.75 4 4 C 4 5.32 4 6.64 4 8 C 2.35 8 0.7 8 -1 8 C -0.67 6.68 -0.34 5.36 0 4 C 0 4.66 0 5.32 0 6 C 0.66 6 1.32 6 2 6 C 1.34 4.02 0.68 2.04 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 633.44 533.32)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(66,65,65); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-3.5, -3)" d="M 0 0 C 1.98 0 3.96 0 6 0 C 6.33 1.65 6.66 3.3 7 5 C 5.68 5.33 4.36 5.66 3 6 C 2 4 1 2 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 510.43 528.21)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(33,32,32); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2.5, -3.5)" d="M 0 0 C 0.66 0 1.32 0 2 0 C 2 0.66 2 1.32 2 2 C 2.99 2 3.98 2 5 2 C 4.67 3.65 4.34 5.3 4 7 C 2.68 6.67 1.36 6.34 0 6 C 0.33 5.01 0.66 4.02 1 3 C 0.67 2.01 0.34 1.02 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 817.95 533.32)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(30,29,29); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1, -4)" d="M 0 0 C 2.0625 1.75 2.0625 1.75 4 4 C 3.75 6.25 3.75 6.25 3 8 C 1 8 1 8 -0.625 6.625 C -2 5 -2 5 -2 3 C -1.34 3 -0.68 3 0 3 C 0 2.01 0 1.02 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 919.55 523.89)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(11,11,11); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2.5, -3)" d="M 0 0 C 1.65 0 3.3 0 5 0 C 4.34 1.98 3.68 3.96 3 6 C 2.34 5.67 1.68 5.34 1 5 C 0.375 2.4375 0.375 2.4375 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 824.33 538.04)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(26,25,26); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-4, -2)" d="M 0 0 C 2.64 0.66 5.28 1.32 8 2 C 8 2.66 8 3.32 8 4 C 5.36 4 2.72 4 0 4 C 0 2.68 0 1.36 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 469.42 523.89)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(12,11,11); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-2.5, -3)" d="M 0 0 C 1.32 0 2.64 0 4 0 C 4.66 1.98 5.32 3.96 6 6 C 3.69 5.01 1.38 4.02 -1 3 C -0.67 2.01 -0.34 1.02 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 603.37 518.07)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(32,32,32); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(1.69, -3.22)" d="M 0 0 C 0.928125 0.20625 1.85625 0.4125 2.8125 0.625 C 1.4925 0.955 0.1725 1.285 -1.1875 1.625 C -1.5175 3.275 -1.8475 4.925 -2.1875 6.625 C -2.620625 5.6659375 -2.620625 5.6659375 -3.0625 4.6875 C -4.01573451 2.47293921 -4.01573451 2.47293921 -6.1875 1.625 C -3.1875 -0.375 -3.1875 -0.375 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 763.73 543.15)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(33,32,32); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(1.5, -2.5)" d="M 0 0 C 0.99 0.99 1.98 1.98 3 3 C 2.34 3.66 1.68 4.32 1 5 C -1.33333333 5 -3.66666667 5 -6 5 C -5.01 4.67 -4.02 4.34 -3 4 C -2.67 3.34 -2.34 2.68 -2 2 C -1.34 1.34 -0.68 0.68 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 848.47 537.28)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(33,33,32); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(2.5, -2.04)" d="M 0 0 C 0.66 0.99 1.32 1.98 2 3 C -0.70879335 4.35439668 -3.00933268 4.06501451 -6 4 C -6.33 3.34 -6.66 2.68 -7 2 C -4.66682784 1.22227595 -2.38564077 0.57584432 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 396.07 532.93)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(32,31,30); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1, -4.5)" d="M 0 0 C 2.76223278 2.76223278 2.57856291 5.20706617 3 9 C 1.68 8.67 0.36 8.34 -1 8 C -0.67 5.36 -0.34 2.72 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 770.23 532.93)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(31,30,30); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1.63, -3.5)" d="M 0 0 C 0.99 0 1.98 0 3 0 C 3.33 1.32 3.66 2.64 4 4 C 2.68 4.99 1.36 5.98 0 7 C -0.93423645 3.98968256 -1.04449911 3.13349732 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 608.83 531.36)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(10,9,9); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-1.5, -4.5)" d="M 0 0 C 1.485 0.99 1.485 0.99 3 2 C 3.1875 5.625 3.1875 5.625 3 9 C 1.5 7.875 1.5 7.875 0 6 C -0.1875 2.8125 -0.1875 2.8125 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 499.04 525.07)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(35,35,35); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-3, -2.5)" d="M 0 0 C 1.98 0 3.96 0 6 0 C 4.625 2.5 4.625 2.5 3 5 C 2.34 5 1.68 5 1 5 C 0.67 3.35 0.34 1.7 0 0 Z" stroke-linecap="round"/>
</g>
<g transform="matrix(0.91 0 0 0.79 805.08 523.89)">
<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(10,10,9); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-0.87, -4)" d="M 0 0 C 0.66 0 1.32 0 2 0 C 4.125 4.625 4.125 4.625 3 8 C 2.67 6.68 2.34 5.36 2 4 C 0.68 4 -0.64 4 -2 4 C -1.33333333 2.66666667 -0.66666667 1.33333333 0 0 Z" stroke-linecap="round"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 126 KiB

File diff suppressed because it is too large. Load diff

After

Width:  |  Height:  |  Size: 1.6 MiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="200.000000pt" height="200.000000pt" viewBox="0 0 200.000000 200.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,200.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M423 1492 l157 -157 0 -503 0 -502 175 0 175 0 0 250 c0 138 4 250 8
250 4 0 30 -23 57 -51 l50 -51 160 4 c156 3 162 4 228 35 138 65 241 201 267
350 38 230 -113 458 -344 519 -40 11 -163 14 -571 14 l-520 0 158 -158z m870
-213 c29 -13 57 -58 57 -91 0 -40 -36 -86 -77 -98 -23 -7 -98 -10 -188 -8
l-150 3 -3 103 -3 102 170 0 c101 0 180 -4 194 -11z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 790 B

@@ -5,15 +5,14 @@ import { ColumnDef } from "@tanstack/react-table";
import { useSearchParams } from "next/navigation";
import { InfoIcon } from "@/components/icons";
import { DownloadIconButton, toast } from "@/components/ui";
import { DateWithTime, EntityInfoShort } from "@/components/ui/entities";
import { TriggerSheet } from "@/components/ui/sheet";
import { DataTableColumnHeader, StatusBadge } from "@/components/ui/table";
import { downloadScanZip } from "@/lib/helper";
import { ProviderType, ScanProps } from "@/types";
import { LinkToFindingsFromScan } from "../../link-to-findings-from-scan";
import { TriggerIcon } from "../../trigger-icon";
import { DataTableDownloadDetails } from "./data-table-download-details";
import { DataTableRowActions } from "./data-table-row-actions";
import { DataTableRowDetails } from "./data-table-row-details";
@@ -130,15 +129,10 @@ export const ColumnGetScans: ColumnDef<ScanProps>[] = [
</div>
),
cell: ({ row }) => {
const scanId = row.original.id;
const scanState = row.original.attributes?.state;
return (
<DownloadIconButton
paramId={scanId}
onDownload={() => downloadScanZip(scanId, toast)}
isDisabled={scanState !== "completed"}
/>
<div className="mx-auto w-fit">
<DataTableDownloadDetails row={row} />
</div>
);
},
},
@@ -0,0 +1,34 @@
import { Row } from "@tanstack/react-table";
import { useState } from "react";
import { DownloadIconButton, useToast } from "@/components/ui";
import { downloadScanZip } from "@/lib";
interface DataTableDownloadDetailsProps<ScanProps> {
row: Row<ScanProps>;
}
export function DataTableDownloadDetails<ScanProps>({
row,
}: DataTableDownloadDetailsProps<ScanProps>) {
const { toast } = useToast();
const [isDownloading, setIsDownloading] = useState(false);
const scanId = (row.original as { id: string }).id;
const scanState = (row.original as any).attributes?.state;
const handleDownload = async () => {
setIsDownloading(true);
await downloadScanZip(scanId, toast);
setIsDownloading(false);
};
return (
<DownloadIconButton
paramId={scanId}
onDownload={handleDownload}
isDownloading={isDownloading}
isDisabled={scanState !== "completed"}
/>
);
}
@@ -23,9 +23,10 @@ export const CustomAlertModal: React.FC<CustomAlertModalProps> = ({
size="xl"
classNames={{
base: "dark:bg-prowler-blue-800",
closeButton: "right-0",
closeButton: "rounded-md",
}}
backdrop="blur"
placement="center"
>
<ModalContent className="py-4">
{(_onClose) => (
@@ -0,0 +1,52 @@
"use client";
import { Input } from "@nextui-org/react";
import React from "react";
interface CustomServerInputProps {
name: string;
label?: string;
labelPlacement?: "inside" | "outside";
variant?: "flat" | "bordered" | "underlined" | "faded";
type?: string;
placeholder?: string;
isRequired?: boolean;
isInvalid?: boolean;
errorMessage?: string;
}
/**
* Custom input component that is used to display a server input without useForm hook.
*/
export const CustomServerInput = ({
name,
type = "text",
label,
labelPlacement = "outside",
placeholder,
variant = "bordered",
isRequired = false,
isInvalid = false,
errorMessage,
}: CustomServerInputProps) => {
return (
<div className="flex flex-col">
<Input
id={name}
name={name}
type={type}
label={label}
labelPlacement={labelPlacement}
placeholder={placeholder}
variant={variant}
isRequired={isRequired}
isInvalid={isInvalid}
errorMessage={errorMessage}
classNames={{
label: "tracking-tight font-light !text-default-500 text-xs !z-0",
input: "text-default-500 text-small",
}}
/>
</div>
);
};
+1
View File
@@ -6,4 +6,5 @@ export * from "./custom-dropdown-selection";
export * from "./custom-input";
export * from "./custom-loader";
export * from "./custom-radio";
export * from "./custom-server-input";
export * from "./custom-textarea";
@@ -11,6 +11,7 @@ interface DownloadIconButtonProps {
ariaLabel?: string;
isDisabled?: boolean;
textTooltip?: string;
isDownloading?: boolean;
}
export const DownloadIconButton = ({
@@ -19,20 +20,24 @@ export const DownloadIconButton = ({
ariaLabel = "Download report",
isDisabled,
textTooltip = "Download report",
isDownloading = false,
}: DownloadIconButtonProps) => {
return (
<div className="flex items-center justify-end">
<Tooltip content={textTooltip} className="text-xs">
<CustomButton
variant="ghost"
isDisabled={isDisabled}
isDisabled={isDisabled || isDownloading}
onPress={() => onDownload(paramId)}
className="p-0 text-default-500 hover:text-primary disabled:opacity-30"
isIconOnly
ariaLabel={ariaLabel}
size="sm"
>
<DownloadIcon size={16} />
<DownloadIcon
className={isDownloading ? "animate-download-icon" : ""}
size={16}
/>
</CustomButton>
</Tooltip>
</div>
+26 -2
View File
@@ -5,9 +5,10 @@ import { InfoIcon } from "lucide-react";
interface InfoFieldProps {
label: string;
children: React.ReactNode;
variant?: "default" | "simple";
variant?: "default" | "simple" | "transparent";
className?: string;
tooltipContent?: string;
inline?: boolean;
}
<Tooltip
@@ -25,7 +26,28 @@ export const InfoField = ({
variant = "default",
tooltipContent,
className,
inline = false,
}: InfoFieldProps) => {
if (inline) {
return (
<div className={clsx("flex items-center gap-2", className)}>
<span className="text-xs font-bold text-gray-500 dark:text-prowler-theme-pale/70">
<span className="flex items-center gap-1">
{label}:
{tooltipContent && (
<Tooltip className="text-xs" content={tooltipContent}>
<div className="flex cursor-pointer items-center gap-2">
<InfoIcon className="mb-1 text-primary" size={12} />
</div>
</Tooltip>
)}
</span>
</span>
<div className="text-sm">{children}</div>
</div>
);
}
return (
<div className={clsx("flex flex-col gap-1", className)}>
<span className="text-xs font-bold text-gray-500 dark:text-prowler-theme-pale/70">
@@ -45,8 +67,10 @@ export const InfoField = ({
<div className="text-small text-gray-900 dark:text-prowler-theme-pale">
{children}
</div>
) : variant === "transparent" ? (
<div className="text-sm">{children}</div>
) : (
<div className="rounded-lg bg-gray-50 px-3 py-2 text-small text-gray-900 dark:bg-slate-800 dark:text-prowler-theme-pale">
<div className="rounded-lg bg-gray-50 px-3 py-2 text-sm text-gray-900 dark:bg-slate-800 dark:text-prowler-theme-pale">
{children}
</div>
)}
@@ -1,7 +1,7 @@
"use client";
import React, { useState } from "react";
import { useCallback } from "react";
import { useCallback, useMemo } from "react";
import { CustomFilterIcon } from "@/components/icons";
import { CustomButton, CustomDropdownFilter } from "@/components/ui/custom";
@@ -20,6 +20,21 @@ export const DataTableFilterCustom = ({
const { updateFilter } = useUrlFilters();
const [showFilters, setShowFilters] = useState(defaultOpen);
// Sort filters by index property, with fallback to original order for filters without index
const sortedFilters = useMemo(() => {
return [...filters].sort((a, b) => {
// If both have index, sort by index
if (a.index !== undefined && b.index !== undefined) {
return a.index - b.index;
}
// If only one has index, prioritize the one with index
if (a.index !== undefined) return -1;
if (b.index !== undefined) return 1;
// If neither has index, maintain original order
return 0;
});
}, [filters]);
const pushDropdownFilter = useCallback(
(key: string, values: string[]) => {
updateFilter(key, values.length > 0 ? values : null);
@@ -30,7 +45,7 @@ export const DataTableFilterCustom = ({
return (
<div
className={`flex ${
filters.length > 4 ? "flex-col" : "flex-col md:flex-row"
sortedFilters.length > 4 ? "flex-col" : "flex-col md:flex-row"
} gap-4`}
>
<CustomButton
@@ -56,12 +71,12 @@ export const DataTableFilterCustom = ({
>
<div
className={`grid gap-4 ${
filters.length > 4
sortedFilters.length >= 4
? "grid-cols-1 md:grid-cols-4"
: "grid-cols-1 md:grid-cols-3"
}`}
>
{filters.map((filter) => (
{sortedFilters.map((filter) => (
<CustomDropdownFilter
key={filter.key}
filter={{
@@ -0,0 +1,95 @@
"use client";
import { Dispatch, SetStateAction, useEffect } from "react";
import { useFormState, useFormStatus } from "react-dom";
import { updateTenantName } from "@/actions/users/tenants";
import { SaveIcon } from "@/components/icons";
import { useToast } from "@/components/ui";
import { CustomButton, CustomServerInput } from "@/components/ui/custom";
const SubmitButton = () => {
const { pending } = useFormStatus();
return (
<CustomButton
type="submit"
ariaLabel="Save"
className="w-full"
variant="solid"
color="action"
size="lg"
isLoading={pending}
startContent={!pending && <SaveIcon size={24} />}
>
{pending ? <>Loading</> : <span>Save</span>}
</CustomButton>
);
};
export const EditTenantForm = ({
tenantId,
tenantName,
setIsOpen,
}: {
tenantId: string;
tenantName?: string;
setIsOpen: Dispatch<SetStateAction<boolean>>;
}) => {
const [state, formAction] = useFormState(updateTenantName, null);
const { toast } = useToast();
useEffect(() => {
if (state?.success) {
toast({
title: "Changed successfully",
description: state.success,
});
setIsOpen(false);
} else if (state?.errors?.general) {
toast({
variant: "destructive",
title: "Oops! Something went wrong",
description: state.errors.general,
});
}
}, [state, toast, setIsOpen]);
return (
<form action={formAction} className="flex flex-col space-y-4">
<div className="text-md">
Current name: <span className="font-bold">{tenantName}</span>
</div>
<CustomServerInput
name="name"
label="Organization name"
placeholder="Enter the new name"
labelPlacement="outside"
variant="bordered"
isRequired={true}
isInvalid={!!state?.errors?.name}
errorMessage={state?.errors?.name}
/>
{/* Hidden inputs for Server Action */}
<input type="hidden" name="tenantId" value={tenantId} />
<input type="hidden" name="currentName" value={tenantName || ""} />
<div className="flex w-full justify-center space-x-6">
<CustomButton
type="button"
ariaLabel="Cancel"
className="w-full bg-transparent"
variant="faded"
size="lg"
onPress={() => setIsOpen(false)}
>
<span>Cancel</span>
</CustomButton>
<SubmitButton />
</div>
</form>
);
};
+1
View File
@@ -1,2 +1,3 @@
export * from "./delete-form";
export * from "./edit-form";
export * from "./edit-tenant-form";
+67 -17
View File
@@ -1,27 +1,77 @@
import { Chip } from "@nextui-org/react";
"use client";
import { DateWithTime } from "@/components/ui/entities";
import { Chip } from "@nextui-org/react";
import { useState } from "react";
import { CustomAlertModal, CustomButton } from "@/components/ui/custom";
import { DateWithTime, InfoField } from "@/components/ui/entities";
import { MembershipDetailData } from "@/types/users/users";
import { EditTenantForm } from "../forms";
export const MembershipItem = ({
membership,
tenantName,
tenantId,
isOwner,
}: {
membership: MembershipDetailData;
tenantName: string;
}) => (
<div className="rounded-lg bg-gray-50 p-2 dark:bg-gray-800">
<div className="flex flex-col space-y-2 sm:flex-row sm:items-center sm:justify-between sm:space-y-0">
<div className="mb-2 flex items-center gap-2">
<Chip size="sm" variant="flat" color="secondary">
{membership.attributes.role}
</Chip>
<p className="text-xs font-medium">{tenantName}</p>
tenantId: string;
isOwner: boolean;
}) => {
const [isEditOpen, setIsEditOpen] = useState(false);
return (
<>
<CustomAlertModal
isOpen={isEditOpen}
onOpenChange={setIsEditOpen}
title=""
>
<EditTenantForm
tenantId={tenantId}
tenantName={tenantName}
setIsOpen={setIsEditOpen}
/>
</CustomAlertModal>
<div className="min-w-[320px] rounded-lg bg-gray-50 p-2 dark:bg-gray-800">
<div className="flex w-full items-center gap-4">
<Chip size="sm" variant="flat" color="secondary">
{membership.attributes.role}
</Chip>
<div className="flex flex-col gap-1 md:flex-row md:gap-x-4">
<InfoField label="Name" inline variant="transparent">
<span className="whitespace-nowrap font-semibold">
{tenantName}
</span>
</InfoField>
<InfoField label="Joined on" inline variant="transparent">
<DateWithTime
inline
showTime={false}
dateTime={membership.attributes.date_joined}
/>
</InfoField>
</div>
{isOwner && (
<CustomButton
type="button"
ariaLabel="Change name"
className="ml-auto text-blue-500"
variant="flat"
color="transparent"
size="sm"
onPress={() => setIsEditOpen(true)}
>
Change name
</CustomButton>
)}
</div>
</div>
</div>
<div className="flex items-center gap-2 text-xs text-gray-500">
<span className="">Joined on:</span>
<DateWithTime inline dateTime={membership.attributes.date_joined} />
</div>
</div>
);
</>
);
};
@@ -7,9 +7,11 @@ import { MembershipItem } from "./membership-item";
export const MembershipsCard = ({
memberships,
tenantsMap,
isOwner,
}: {
memberships: MembershipDetailData[];
tenantsMap: Record<string, TenantDetailData>;
isOwner: boolean;
}) => {
return (
<Card className="dark:bg-prowler-blue-400">
@@ -26,16 +28,18 @@ export const MembershipsCard = ({
<div className="text-sm text-gray-500">No memberships found.</div>
) : (
<div className="space-y-2">
{memberships.map((membership) => (
<MembershipItem
key={membership.id}
membership={membership}
tenantName={
tenantsMap[membership.relationships.tenant.data.id]
?.attributes.name
}
/>
))}
{memberships.map((membership) => {
const tenantId = membership.relationships.tenant.data.id;
return (
<MembershipItem
key={membership.id}
membership={membership}
tenantId={tenantId}
tenantName={tenantsMap[tenantId]?.attributes.name}
isOwner={isOwner}
/>
);
})}
</div>
)}
</CardBody>
+1 -1
View File
@@ -35,7 +35,7 @@ export const RoleItem = ({
role: RoleData;
roleDetail?: RoleDetail;
}) => {
const [isExpanded, setIsExpanded] = useState(false);
const [isExpanded, setIsExpanded] = useState(true);
if (!roleDetail) {
return (
@@ -1,17 +1,15 @@
"use client";
import { Card, CardBody, Divider } from "@nextui-org/react";
import { CircleUserRound } from "lucide-react";
import { DateWithTime, SnippetChip } from "@/components/ui/entities";
import { DateWithTime, InfoField, SnippetChip } from "@/components/ui/entities";
import { UserDataWithRoles } from "@/types/users/users";
import { ProwlerShort } from "../../icons";
const TenantIdCopy = ({ id }: { id: string }) => {
return (
<div className="flex items-center justify-between">
<p className="text-sm font-semibold text-default-600">
Active organization ID:
</p>
<div className="flex items-center gap-2 whitespace-nowrap md:flex-col md:items-start md:justify-start">
<SnippetChip value={id} />
</div>
);
@@ -29,30 +27,32 @@ export const UserBasicInfoCard = ({
return (
<Card className="dark:bg-prowler-blue-400">
<CardBody>
<div className="space-y-3">
<CircleUserRound className="h-8 w-8" />
<div className="flex items-center justify-between">
<p className="text-sm font-semibold text-default-600">Name:</p>
<span className="text-sm">{name}</span>
<div className="flex items-center gap-4">
<div className="flex h-10 w-10 items-center justify-center rounded-full border-3 border-black p-1 dark:border-white">
<ProwlerShort />
</div>
<div className="flex items-center justify-between">
<p className="text-sm font-semibold text-default-600">Email:</p>
<span className="text-sm">{email}</span>
</div>
<div className="flex items-center justify-between">
<p className="text-sm font-semibold text-default-600">Company:</p>
<span className="text-sm">{company_name}</span>
</div>
<div className="flex items-center justify-between">
<p className="text-sm font-semibold text-default-600">
Date Joined:
</p>
<span className="text-sm">
<DateWithTime inline dateTime={date_joined} />
<div className="flex flex-col">
<span className="text-md font-bold">{name}</span>
<span className="text-xs font-light">
{email}
{company_name && ` | ${company_name}`}
</span>
</div>
<Divider className="my-2" />
<TenantIdCopy id={tenantId} />
</div>
<Divider className="my-4" />
<div className="flex flex-row gap-4 md:items-start md:justify-start md:gap-8">
<div className="flex gap-2 whitespace-nowrap md:flex-col md:items-start md:justify-start">
<div className="flex items-center gap-2">
<InfoField label="Date Joined" variant="simple">
<DateWithTime inline dateTime={date_joined} />
</InfoField>
</div>
</div>
<div className="flex flex-col gap-2">
<InfoField label="Organization ID" variant="transparent">
<TenantIdCopy id={tenantId} />
</InfoField>
</div>
</div>
</CardBody>
</Card>