sitelens 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 REVIZE STUDIO sp. z o.o.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,63 @@
1
- # Temporary Holding Version
1
+ # sitelens
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ A website audit anyone can understand. One command checks performance, SEO, accessibility and security on up to 50 pages and writes a PDF report in plain language: what is wrong, why it matters and how to fix it.
4
+
5
+ ```sh
6
+ npx sitelens
7
+ ```
8
+
9
+ On its own, sitelens asks for the report language, the website address and the audit mode; pick with the arrow keys. When the report is ready, sitelens prints its full path and opens it when you press Enter. To skip the questions, give the address and options straight away:
10
+
11
+ ```sh
12
+ npx sitelens https://yourwebsite.com --lang en --out report.pdf
13
+ ```
14
+
15
+ Polski: `npx sitelens` zapyta o język raportu, adres strony i tryb, a raport po polsku zapisze w `raport.pdf`.
16
+
17
+ ## Install without Node.js
18
+
19
+ ```sh
20
+ # macOS and Linux
21
+ curl -fsSL https://sitelens.pl/install.sh | sh
22
+
23
+ # Windows (PowerShell)
24
+ irm https://sitelens.pl/install.ps1 | iex
25
+ ```
26
+
27
+ The installer puts its own Node.js (downloaded from nodejs.org, checksum verified) and sitelens in your user folder, with no administrator rights. Open a new terminal window afterwards and type `sitelens`. To remove it, delete `~/.sitelens` (Windows: `%LOCALAPPDATA%\sitelens`) and the PATH entry it added.
28
+
29
+ ## Requirements
30
+
31
+ - Node.js 22.19 or newer (the installer brings its own)
32
+ - A Chromium-based browser already on the computer (Chrome, Edge, Brave or Chromium). If there is none, `sitelens --install-browser` downloads Chromium once.
33
+
34
+ ## Modes
35
+
36
+ | Mode | Same as | Checks |
37
+ | -------- | ------------ | ---------------------------- |
38
+ | Quick | `--pages 1` | the homepage only |
39
+ | Standard | `--pages 10` | up to 10 pages (default) |
40
+ | Thorough | `--pages 50` | up to 50 pages, takes longer |
41
+
42
+ ## Options
43
+
44
+ | Option | What it does |
45
+ | ---------------------- | ------------------------------------------------------------------------------ |
46
+ | `--pages <n>` | How many pages to check, default 10, at most 50 |
47
+ | `--lang pl\|en` | Report language, default `pl` |
48
+ | `--out <file.pdf>` | Where to save the report, default `raport.pdf` (`report.pdf` with `--lang en`) |
49
+ | `--json` | Also save the raw results as JSON next to the PDF |
50
+ | `--fail-under <score>` | Exit with code 1 when the overall score is lower, for CI |
51
+ | `--install-browser` | Download Chromium if no browser was found |
52
+
53
+ ## What it does
54
+
55
+ sitelens behaves like a visitor: it only downloads public pages with GET requests, follows links on the same site, respects robots.txt and identifies itself as `sitelens`. Pages open in your own browser; Lighthouse and axe-core run locally. Nothing is sent to sitelens or anyone else.
56
+
57
+ Every result comes from a concrete, repeatable test. Advice texts come from a hand-written library of cards, and the report appendix lists the technical details, tool versions and how the score is calculated.
58
+
59
+ Exit codes: `0` done, `1` score under `--fail-under`, `2` wrong usage, `3` site unreachable, `4` no browser or file could not be saved.
60
+
61
+ ## License
62
+
63
+ MIT, built by [Revize Studio](https://revize.pl).
@@ -0,0 +1,93 @@
1
+ Copyright 2024 The Geist Project Authors (https://github.com/vercel/geist-font.git)
2
+
3
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
4
+ This license is copied below, and is also available with a FAQ at:
5
+ https://openfontlicense.org
6
+
7
+
8
+ -----------------------------------------------------------
9
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+ -----------------------------------------------------------
11
+
12
+ PREAMBLE
13
+ The goals of the Open Font License (OFL) are to stimulate worldwide
14
+ development of collaborative font projects, to support the font creation
15
+ efforts of academic and linguistic communities, and to provide a free and
16
+ open framework in which fonts may be shared and improved in partnership
17
+ with others.
18
+
19
+ The OFL allows the licensed fonts to be used, studied, modified and
20
+ redistributed freely as long as they are not sold by themselves. The
21
+ fonts, including any derivative works, can be bundled, embedded,
22
+ redistributed and/or sold with any software provided that any reserved
23
+ names are not used by derivative works. The fonts and derivatives,
24
+ however, cannot be released under any other type of license. The
25
+ requirement for fonts to remain under this license does not apply
26
+ to any document created using the fonts or their derivatives.
27
+
28
+ DEFINITIONS
29
+ "Font Software" refers to the set of files released by the Copyright
30
+ Holder(s) under this license and clearly marked as such. This may
31
+ include source files, build scripts and documentation.
32
+
33
+ "Reserved Font Name" refers to any names specified as such after the
34
+ copyright statement(s).
35
+
36
+ "Original Version" refers to the collection of Font Software components as
37
+ distributed by the Copyright Holder(s).
38
+
39
+ "Modified Version" refers to any derivative made by adding to, deleting,
40
+ or substituting -- in part or in whole -- any of the components of the
41
+ Original Version, by changing formats or by porting the Font Software to a
42
+ new environment.
43
+
44
+ "Author" refers to any designer, engineer, programmer, technical
45
+ writer or other person who contributed to the Font Software.
46
+
47
+ PERMISSION & CONDITIONS
48
+ Permission is hereby granted, free of charge, to any person obtaining
49
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
50
+ redistribute, and sell modified and unmodified copies of the Font
51
+ Software, subject to the following conditions:
52
+
53
+ 1) Neither the Font Software nor any of its individual components,
54
+ in Original or Modified Versions, may be sold by itself.
55
+
56
+ 2) Original or Modified Versions of the Font Software may be bundled,
57
+ redistributed and/or sold with any software, provided that each copy
58
+ contains the above copyright notice and this license. These can be
59
+ included either as stand-alone text files, human-readable headers or
60
+ in the appropriate machine-readable metadata fields within text or
61
+ binary files as long as those fields can be easily viewed by the user.
62
+
63
+ 3) No Modified Version of the Font Software may use the Reserved Font
64
+ Name(s) unless explicit written permission is granted by the corresponding
65
+ Copyright Holder. This restriction only applies to the primary font name as
66
+ presented to the users.
67
+
68
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69
+ Software shall not be used to promote, endorse or advertise any
70
+ Modified Version, except to acknowledge the contribution(s) of the
71
+ Copyright Holder(s) and the Author(s) or with their explicit written
72
+ permission.
73
+
74
+ 5) The Font Software, modified or unmodified, in part or in whole,
75
+ must be distributed entirely under this license, and must not be
76
+ distributed under any other license. The requirement for fonts to
77
+ remain under this license does not apply to any document created
78
+ using the Font Software.
79
+
80
+ TERMINATION
81
+ This license becomes null and void if any of the above conditions are
82
+ not met.
83
+
84
+ DISCLAIMER
85
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93
+ OTHER DEALINGS IN THE FONT SOFTWARE.
@@ -0,0 +1,93 @@
1
+ Copyright 2022 The Instrument Sans Project Authors (https://github.com/Instrument/instrument-sans)
2
+
3
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
4
+ This license is copied below, and is also available with a FAQ at:
5
+ https://scripts.sil.org/OFL
6
+
7
+
8
+ -----------------------------------------------------------
9
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+ -----------------------------------------------------------
11
+
12
+ PREAMBLE
13
+ The goals of the Open Font License (OFL) are to stimulate worldwide
14
+ development of collaborative font projects, to support the font creation
15
+ efforts of academic and linguistic communities, and to provide a free and
16
+ open framework in which fonts may be shared and improved in partnership
17
+ with others.
18
+
19
+ The OFL allows the licensed fonts to be used, studied, modified and
20
+ redistributed freely as long as they are not sold by themselves. The
21
+ fonts, including any derivative works, can be bundled, embedded,
22
+ redistributed and/or sold with any software provided that any reserved
23
+ names are not used by derivative works. The fonts and derivatives,
24
+ however, cannot be released under any other type of license. The
25
+ requirement for fonts to remain under this license does not apply
26
+ to any document created using the fonts or their derivatives.
27
+
28
+ DEFINITIONS
29
+ "Font Software" refers to the set of files released by the Copyright
30
+ Holder(s) under this license and clearly marked as such. This may
31
+ include source files, build scripts and documentation.
32
+
33
+ "Reserved Font Name" refers to any names specified as such after the
34
+ copyright statement(s).
35
+
36
+ "Original Version" refers to the collection of Font Software components as
37
+ distributed by the Copyright Holder(s).
38
+
39
+ "Modified Version" refers to any derivative made by adding to, deleting,
40
+ or substituting -- in part or in whole -- any of the components of the
41
+ Original Version, by changing formats or by porting the Font Software to a
42
+ new environment.
43
+
44
+ "Author" refers to any designer, engineer, programmer, technical
45
+ writer or other person who contributed to the Font Software.
46
+
47
+ PERMISSION & CONDITIONS
48
+ Permission is hereby granted, free of charge, to any person obtaining
49
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
50
+ redistribute, and sell modified and unmodified copies of the Font
51
+ Software, subject to the following conditions:
52
+
53
+ 1) Neither the Font Software nor any of its individual components,
54
+ in Original or Modified Versions, may be sold by itself.
55
+
56
+ 2) Original or Modified Versions of the Font Software may be bundled,
57
+ redistributed and/or sold with any software, provided that each copy
58
+ contains the above copyright notice and this license. These can be
59
+ included either as stand-alone text files, human-readable headers or
60
+ in the appropriate machine-readable metadata fields within text or
61
+ binary files as long as those fields can be easily viewed by the user.
62
+
63
+ 3) No Modified Version of the Font Software may use the Reserved Font
64
+ Name(s) unless explicit written permission is granted by the corresponding
65
+ Copyright Holder. This restriction only applies to the primary font name as
66
+ presented to the users.
67
+
68
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69
+ Software shall not be used to promote, endorse or advertise any
70
+ Modified Version, except to acknowledge the contribution(s) of the
71
+ Copyright Holder(s) and the Author(s) or with their explicit written
72
+ permission.
73
+
74
+ 5) The Font Software, modified or unmodified, in part or in whole,
75
+ must be distributed entirely under this license, and must not be
76
+ distributed under any other license. The requirement for fonts to
77
+ remain under this license does not apply to any document created
78
+ using the Font Software.
79
+
80
+ TERMINATION
81
+ This license becomes null and void if any of the above conditions are
82
+ not met.
83
+
84
+ DISCLAIMER
85
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93
+ OTHER DEALINGS IN THE FONT SOFTWARE.
@@ -0,0 +1,37 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-14 -10 654.0 236" width="654" height="236" role="img" aria-label="sitelens">
2
+ <title>sitelens</title>
3
+ <defs>
4
+ <linearGradient id="ctile" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#FCFCFD"/><stop offset="1" stop-color="#EBEDF2"/></linearGradient>
5
+ <linearGradient id="crim" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#A9BEFF"/><stop offset=".5" stop-color="#CDBFFF"/><stop offset="1" stop-color="#A3E6F0"/></linearGradient>
6
+ <clipPath id="cclip"><circle cx="134" cy="132" r="33"/></clipPath>
7
+ <g id="cpage">
8
+ <rect x="44" y="50" width="62" height="11" rx="5.5" fill="#1C1D22"/>
9
+ <rect x="44" y="76" width="112" height="7" rx="3.5" fill="#C5CAD4"/>
10
+ <rect x="44" y="92" width="94" height="7" rx="3.5" fill="#C5CAD4"/>
11
+ <rect x="44" y="108" width="104" height="7" rx="3.5" fill="#C5CAD4"/>
12
+ <rect x="44" y="128" width="52" height="30" rx="7" fill="#DCE1EA"/>
13
+ <rect x="104" y="132" width="42" height="6" rx="3" fill="#C5CAD4"/>
14
+ <rect x="104" y="146" width="30" height="6" rx="3" fill="#C5CAD4"/>
15
+ </g>
16
+ <filter id="ctsh" x="-20%" y="-20%" width="140%" height="150%"><feDropShadow dx="0" dy="1" stdDeviation="0.8" flood-color="#111420" flood-opacity=".07"/><feDropShadow dx="0" dy="12" stdDeviation="13" flood-color="#111420" flood-opacity=".09"/></filter>
17
+ <filter id="clsh" x="-40%" y="-40%" width="180%" height="190%"><feDropShadow dx="0" dy="6" stdDeviation="5" flood-color="#111420" flood-opacity=".16"/></filter>
18
+ </defs>
19
+ <g class="sl-tile" filter="url(#ctsh)">
20
+ <rect x="10" y="10" width="180" height="180" rx="48" fill="url(#ctile)"/>
21
+ <rect x="10.5" y="10.5" width="179" height="179" rx="47.5" fill="none" stroke="#E3E5EB"/>
22
+ </g>
23
+ <use href="#cpage"/>
24
+ <g class="sl-lens">
25
+ <circle cx="134" cy="132" r="34" fill="#FAFBFD" filter="url(#clsh)"/>
26
+ <g clip-path="url(#cclip)">
27
+ <rect x="96" y="94" width="76" height="76" fill="#FAFBFD"/>
28
+ <g class="sl-mag"><g transform="translate(134 132) scale(1.5) translate(-134 -132)"><use href="#cpage"/></g></g>
29
+ <circle cx="134" cy="132" r="34" fill="#FCFCFD" fill-opacity=".16"/>
30
+
31
+ </g>
32
+ <circle cx="134" cy="132" r="33.5" fill="none" stroke="url(#crim)" stroke-width="2.5"/>
33
+ <path d="M111 120 A26 26 0 0 1 124 108" fill="none" stroke="#FCFCFD" stroke-width="3" stroke-linecap="round" opacity=".95"/>
34
+
35
+ </g>
36
+ <path transform="translate(225.39 30.46) scale(0.114286)" fill="#1C1D22" d="M261.66693115234375 980.0Q155.66656494140625 980.0 92.99969482421875 935.4999694824219Q30.33282470703125 890.9999389648438 23.66619873046875 811.6666259765625H138.6673583984375Q144.333984375 850.6663208007812 176.00051879882812 870.9994812011719Q207.66705322265625 891.3326416015625 262.33355712890625 891.3326416015625Q311.33343505859375 891.3326416015625 335.6665954589844 875.6661071777344Q359.999755859375 859.9995727539062 359.999755859375 830.9998168945312Q359.999755859375 809.6666259765625 345.9998474121094 796.1668090820312Q331.99993896484375 782.6669921875 293.00030517578125 773.6671142578125L211.00030517578125 755.3338623046875Q126.9998779296875 736.6671752929688 86.6663818359375 698.50048828125Q46.3328857421875 660.3338012695312 46.3328857421875 602.3336181640625Q46.3328857421875 531.0001220703125 100.6663818359375 490.50006103515625Q154.9998779296875 450.0 251.000244140625 450.0Q346.0006103515625 450.0 403.3341064453125 490.3333435058594Q460.6676025390625 530.6666870117188 467.00091552734375 602.3333740234375H351.999755859375Q346.99981689453125 571.3336791992188 320.6666259765625 555.0005187988281Q294.33343505859375 538.6673583984375 248.000244140625 538.6673583984375Q205.00042724609375 538.6673583984375 183.00057983398438 552.5005493164062Q161.000732421875 566.333740234375 161.000732421875 591.6668090820312Q161.000732421875 612.3333129882812 178.16732788085938 625.6664733886719Q195.33392333984375 638.9996337890625 235.333740234375 648.6661987304688L323.333984375 668.6661376953125Q398.3341064453125 685.6660766601562 436.6675109863281 727.6661682128906Q475.00091552734375 769.666259765625 475.00091552734375 827.3330078125Q475.00091552734375 899.66650390625 419.0007629394531 939.833251953125Q363.0006103515625 980.0 261.66693115234375 980.0Z M528.666259765625 970.0V460.0H655.3343505859375V970.0ZM523.3329467773438 376.0009765625V236.666259765625H660.6676635742188V376.0009765625Z M977.0003662109375 980.3333740234375Q883.3334350585938 980.3333740234375 838.833251953125 935.8331909179688Q794.3330688476562 891.3330078125 794.3330688476562 802.33251953125V344.33343505859375L921.0011596679688 296.99957275390625V805.3326416015625Q921.0011596679688 842.3324584960938 941.0010986328125 860.3323974609375Q961.0010375976562 878.3323364257812 1004.3341674804688 878.3323364257812Q1021.000732421875 878.3323364257812 1034.5007019042969 875.4989929199219Q1048.0006713867188 872.6656494140625 1059.6674194335938 868.6656494140625V967.333251953125Q1047.6673583984375 973.3333129882812 1025.8339233398438 976.8333435058594Q1004.00048828125 980.3333740234375 977.0003662109375 980.3333740234375ZM695.9999389648438 558.6676025390625V460.0H1059.6674194335938V558.6676025390625Z M1332.3335571289062 980.0Q1251.3333129882812 980.0 1190.66650390625 946.1666870117188Q1129.9996948242188 912.3333740234375 1096.3329772949219 852.3333740234375Q1062.666259765625 792.3333740234375 1062.666259765625 714.3333740234375Q1062.666259765625 635.6666870117188 1096.1663208007812 576.1666870117188Q1129.6663818359375 516.6666870117188 1189.9998168945312 483.3333435058594Q1250.333251953125 450.0 1329.666748046875 450.0Q1406.000244140625 450.0 1462.1670227050781 481.66668701171875Q1518.3338012695312 513.3333740234375 1549.1672058105469 570.0000610351562Q1580.0006103515625 626.666748046875 1580.0006103515625 703.3334350585938Q1580.0006103515625 717.3335571289062 1579.1672668457031 729.3336486816406Q1578.3339233398438 741.333740234375 1576.3339233398438 753.0004272460938H1141.33349609375V664.6664428710938H1479.3324584960938L1453.3324584960938 688.9993896484375Q1453.3324584960938 617.0 1420.166015625 580.833740234375Q1386.9995727539062 544.66748046875 1328.3333740234375 544.66748046875Q1263.6670532226562 544.66748046875 1226.5006713867188 588.8338928222656Q1189.3342895507812 633.0003051757812 1189.3342895507812 716.0001220703125Q1189.3342895507812 798.3331909179688 1226.5006713867188 841.8328552246094Q1263.6670532226562 885.33251953125 1333.0001220703125 885.33251953125Q1373.3331909179688 885.33251953125 1402.9996337890625 870.1660461425781Q1432.6660766601562 854.9995727539062 1446.9993286132812 823.66650390625H1566.333984375Q1541.333984375 896.333251953125 1481.5006103515625 938.1666259765625Q1421.667236328125 980.0 1332.3335571289062 980.0Z M1638.666259765625 970.0V250.0H1765.3343505859375V970.0Z M2093.3335571289062 980.0Q2012.3333129882812 980.0 1951.66650390625 946.1666870117188Q1890.9996948242188 912.3333740234375 1857.3329772949219 852.3333740234375Q1823.666259765625 792.3333740234375 1823.666259765625 714.3333740234375Q1823.666259765625 635.6666870117188 1857.1663208007812 576.1666870117188Q1890.6663818359375 516.6666870117188 1950.9998168945312 483.3333435058594Q2011.333251953125 450.0 2090.666748046875 450.0Q2167.000244140625 450.0 2223.167022705078 481.66668701171875Q2279.3338012695312 513.3333740234375 2310.167205810547 570.0000610351562Q2341.0006103515625 626.666748046875 2341.0006103515625 703.3334350585938Q2341.0006103515625 717.3335571289062 2340.167266845703 729.3336486816406Q2339.3339233398438 741.333740234375 2337.3339233398438 753.0004272460938H1902.33349609375V664.6664428710938H2240.3324584960938L2214.3324584960938 688.9993896484375Q2214.3324584960938 617.0 2181.166015625 580.833740234375Q2147.9995727539062 544.66748046875 2089.3333740234375 544.66748046875Q2024.6670532226562 544.66748046875 1987.5006713867188 588.8338928222656Q1950.3342895507812 633.0003051757812 1950.3342895507812 716.0001220703125Q1950.3342895507812 798.3331909179688 1987.5006713867188 841.8328552246094Q2024.6670532226562 885.33251953125 2094.0001220703125 885.33251953125Q2134.3331909179688 885.33251953125 2163.9996337890625 870.1660461425781Q2193.6660766601562 854.9995727539062 2207.9993286132812 823.66650390625H2327.333984375Q2302.333984375 896.333251953125 2242.5006103515625 938.1666259765625Q2182.667236328125 980.0 2093.3335571289062 980.0Z M2399.666259765625 970.0V460.0H2522.667724609375V580.0H2526.3343505859375V970.0ZM2757.9993896484375 970.0V648.0003662109375Q2757.9993896484375 600.6673583984375 2733.999542236328 577.0008544921875Q2709.9996948242188 553.3343505859375 2663.6666870117188 553.3343505859375Q2623.6669921875 553.3343505859375 2592.5005493164062 571.334228515625Q2561.3341064453125 589.3341064453125 2543.834228515625 621.0005493164062Q2526.3343505859375 652.6669921875 2526.3343505859375 695.3333740234375L2513.3343505859375 573.0Q2538.6676635742188 516.6666870117188 2588.834228515625 483.3333435058594Q2639.0007934570312 450.0 2709.0008544921875 450.0Q2792.3342895507812 450.0 2838.5008850097656 496.8333740234375Q2884.66748046875 543.666748046875 2884.66748046875 621.6668701171875V970.0Z M3169.6669311523438 980.0Q3063.6665649414062 980.0 3000.9996948242188 935.4999694824219Q2938.3328247070312 890.9999389648438 2931.6661987304688 811.6666259765625H3046.6673583984375Q3052.333984375 850.6663208007812 3084.000518798828 870.9994812011719Q3115.6670532226562 891.3326416015625 3170.3335571289062 891.3326416015625Q3219.3334350585938 891.3326416015625 3243.6665954589844 875.6661071777344Q3267.999755859375 859.9995727539062 3267.999755859375 830.9998168945312Q3267.999755859375 809.6666259765625 3253.9998474121094 796.1668090820312Q3239.9999389648438 782.6669921875 3201.0003051757812 773.6671142578125L3119.0003051757812 755.3338623046875Q3034.9998779296875 736.6671752929688 2994.6663818359375 698.50048828125Q2954.3328857421875 660.3338012695312 2954.3328857421875 602.3336181640625Q2954.3328857421875 531.0001220703125 3008.6663818359375 490.50006103515625Q3062.9998779296875 450.0 3159.000244140625 450.0Q3254.0006103515625 450.0 3311.3341064453125 490.3333435058594Q3368.6676025390625 530.6666870117188 3375.0009155273438 602.3333740234375H3259.999755859375Q3254.9998168945312 571.3336791992188 3228.6666259765625 555.0005187988281Q3202.3334350585938 538.6673583984375 3156.000244140625 538.6673583984375Q3113.0004272460938 538.6673583984375 3091.0005798339844 552.5005493164062Q3069.000732421875 566.333740234375 3069.000732421875 591.6668090820312Q3069.000732421875 612.3333129882812 3086.1673278808594 625.6664733886719Q3103.3339233398438 638.9996337890625 3143.333740234375 648.6661987304688L3231.333984375 668.6661376953125Q3306.3341064453125 685.6660766601562 3344.667510986328 727.6661682128906Q3383.0009155273438 769.666259765625 3383.0009155273438 827.3330078125Q3383.0009155273438 899.66650390625 3327.000762939453 939.833251953125Q3271.0006103515625 980.0 3169.6669311523438 980.0Z"/>
37
+ </svg>