summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-03-09 03:04:53 +0000
committerNorbert Preining <norbert@preining.info>2024-03-09 03:04:53 +0000
commitbb1788335b7c394ee980b7b6f12b81f5223bbd63 (patch)
tree1c53bbe5ff2a09f7864c9f758ed934b014aa58f5 /graphics
parent0eba0875b1bcc4a022360ed72a29a81e041cd467 (diff)
CTAN sync 202403090304
Diffstat (limited to 'graphics')
-rw-r--r--graphics/asymptote/ChangeLog54
-rw-r--r--graphics/asymptote/GUI/icons_rc.py3702
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake4
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make12
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/Doxyfile8
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/Makefile24
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake6
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake4
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake16
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make78
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal158
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make2
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/Makefile72
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake4
-rw-r--r--graphics/asymptote/README4
-rw-r--r--graphics/asymptote/ReleaseNotes7
-rw-r--r--graphics/asymptote/asy-keywords.el2
-rw-r--r--graphics/asymptote/asymptote.spec2
-rw-r--r--graphics/asymptote/base/v3dheadertypes.asy2
-rw-r--r--graphics/asymptote/base/v3dtypes.asy2
-rw-r--r--graphics/asymptote/binaries/i386-windows/README4
-rw-r--r--graphics/asymptote/binaries/x86_64-windows/README4
-rw-r--r--graphics/asymptote/binaries/x86_64-windows/cygwin1.dllbin3569593 -> 3011637 bytes
-rw-r--r--graphics/asymptote/config.h.in6
-rwxr-xr-xgraphics/asymptote/configure184
-rw-r--r--graphics/asymptote/configure.ac51
-rw-r--r--graphics/asymptote/doc/CAD.pdfbin198543 -> 198636 bytes
-rw-r--r--graphics/asymptote/doc/FAQ/asy-faq.info2
-rw-r--r--graphics/asymptote/doc/TeXShopAndAsymptote.pdfbin81270 -> 81323 bytes
-rw-r--r--graphics/asymptote/doc/asy-latex.pdfbin209130 -> 209115 bytes
-rw-r--r--graphics/asymptote/doc/asy.12
-rw-r--r--graphics/asymptote/doc/asyRefCard.pdfbin121145 -> 121145 bytes
-rw-r--r--graphics/asymptote/doc/asymptote.pdfbin1303978 -> 1268997 bytes
-rw-r--r--graphics/asymptote/doc/asymptote.texi12
-rw-r--r--graphics/asymptote/doc/png/asymptote.info68
-rw-r--r--graphics/asymptote/fileio.h4
-rw-r--r--graphics/asymptote/pair.h4
-rw-r--r--graphics/asymptote/picture.cc5
-rw-r--r--graphics/asymptote/prc/oPRCFile.h4
-rw-r--r--graphics/asymptote/process.h4
-rw-r--r--graphics/asymptote/revision.cc2
-rw-r--r--graphics/asymptote/runfile.cc4
-rw-r--r--graphics/asymptote/runfile.in4
-rw-r--r--graphics/asymptote/settings.cc4
-rw-r--r--graphics/asymptote/statistics.h2
-rw-r--r--graphics/asymptote/symbolmaps.h5
-rw-r--r--graphics/asymptote/triple.h4
-rw-r--r--graphics/asymptote/v3dfile.cc2
-rw-r--r--graphics/asymptote/v3dfile.h2
-rw-r--r--graphics/asymptote/v3dheadertypes.h2
-rw-r--r--graphics/asymptote/v3dheadertypes.py2
-rw-r--r--graphics/asymptote/v3dtypes.h2
-rw-r--r--graphics/asymptote/v3dtypes.py2
-rw-r--r--graphics/pgf/contrib/wheelchart/README.md6
-rw-r--r--graphics/pgf/contrib/wheelchart/wheelchart.pdfbin1109172 -> 1198147 bytes
-rw-r--r--graphics/pgf/contrib/wheelchart/wheelchart.sty1944
-rw-r--r--graphics/pgf/contrib/wheelchart/wheelchart.tex2496
57 files changed, 4849 insertions, 4151 deletions
diff --git a/graphics/asymptote/ChangeLog b/graphics/asymptote/ChangeLog
index a923fecbaf..e17838abcd 100644
--- a/graphics/asymptote/ChangeLog
+++ b/graphics/asymptote/ChangeLog
@@ -1,3 +1,57 @@
+commit 710f205a8f251c206c0204492fb54255f17feaf9
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri Mar 8 00:13:46 2024 -0800
+
+ Rename HAVE_RPC_RPC_H to HAVE_LIBTIRPC; add --enable-xdr[=yes] configuration option.
+
+commit fa488f4aaf9f72687355855dd7e1db9415b8a29b
+Author: John Bowman <bowman@ualberta.ca>
+Date: Thu Mar 7 23:09:23 2024 -0800
+
+ Support --enable-static again; allow static builds of libtirpc.
+
+commit 0e369f784e14183f99c82b63251579bd7c3e3d4d
+Author: John Bowman <bowman@ualberta.ca>
+Date: Thu Mar 7 22:13:46 2024 -0800
+
+ Resolve ambiguity in statistics.h.
+
+commit 49eb2e457ad48228415ad596714bfdf19f4c8b30
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed Mar 6 10:30:48 2024 -0800
+
+ Remove unused declarations.
+
+commit 8e1d621208c054b4a53c05fbc2fd906b3827729c
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Mar 5 11:38:11 2024 -0800
+
+ Optimize dvisvgm output by default.
+
+commit 89ed2013c4d6fa715adc2067da2116166626ef7b
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Mar 5 09:41:06 2024 -0800
+
+ Specify PDF 1.5 instead of 1.4.
+
+commit cd07b1d33a9a500e7a4a5835ad39168621ed255f
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed Feb 28 11:31:53 2024 -0800
+
+ Fix documentation.
+
+commit b2d7d303271d137e77886bd071749bbbbbbe9c58
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed Feb 28 11:26:37 2024 -0800
+
+ Disable dvisvgm optimization by default.
+
+commit 39a6232364a8cf27778224ec60327bfd8d9588e7
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Feb 26 18:06:22 2024 -0800
+
+ Increment version to 2.88.
+
commit 1826b3b38064170d2484af6d9a5e5ac2abce9b77
Author: John Bowman <bowman@ualberta.ca>
Date: Mon Feb 26 16:35:57 2024 -0800
diff --git a/graphics/asymptote/GUI/icons_rc.py b/graphics/asymptote/GUI/icons_rc.py
index 0c037244cc..eb045a19a8 100644
--- a/graphics/asymptote/GUI/icons_rc.py
+++ b/graphics/asymptote/GUI/icons_rc.py
@@ -9,7 +9,7 @@
from PyQt5 import QtCore
qt_resource_data = b"\
-\x00\x00\x05\xbb\
+\x00\x00\x02\xab\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -40,135 +40,163 @@ qt_resource_data = b"\
\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\
-\x35\x30\x2e\x36\x37\x39\x2c\x32\x37\x33\x2e\x35\x63\x2d\x31\x34\
-\x2e\x35\x38\x35\x2d\x31\x34\x2e\x35\x37\x37\x2d\x33\x36\x2e\x30\
-\x35\x34\x2d\x31\x35\x2e\x38\x39\x2d\x35\x30\x2e\x36\x33\x39\x2d\
-\x31\x2e\x33\x31\x32\x6c\x2d\x34\x31\x2e\x36\x38\x37\x2c\x34\x31\
-\x2e\x36\x36\x34\x63\x2d\x31\x30\x2e\x38\x35\x32\x2c\x31\x30\x2e\
-\x38\x33\x36\x2d\x32\x33\x2e\x39\x33\x2c\x31\x30\x2e\x38\x35\x39\
-\x2d\x33\x31\x2e\x35\x36\x34\x2c\x31\x2e\x38\x35\x32\x0a\x09\x63\
-\x2d\x35\x2e\x30\x35\x37\x2d\x35\x2e\x39\x36\x38\x2d\x33\x2e\x30\
-\x36\x31\x2d\x32\x34\x2e\x33\x37\x34\x2d\x31\x2e\x36\x34\x34\x2d\
-\x33\x36\x2e\x30\x34\x39\x6c\x32\x30\x2e\x39\x30\x37\x2d\x31\x37\
-\x31\x2e\x38\x34\x39\x63\x31\x2e\x38\x36\x37\x2d\x31\x35\x2e\x33\
-\x35\x33\x2d\x39\x2e\x30\x37\x2d\x33\x30\x2e\x31\x38\x35\x2d\x32\
-\x34\x2e\x34\x33\x2d\x33\x32\x2e\x30\x35\x31\x0a\x09\x63\x2d\x31\
-\x35\x2e\x33\x35\x38\x2d\x31\x2e\x38\x36\x37\x2d\x32\x39\x2e\x33\
-\x32\x32\x2c\x39\x2e\x39\x33\x39\x2d\x33\x31\x2e\x31\x39\x31\x2c\
-\x32\x35\x2e\x32\x38\x39\x4c\x32\x36\x37\x2e\x33\x37\x2c\x32\x33\
-\x36\x2e\x30\x32\x31\x63\x2d\x31\x2e\x32\x30\x35\x2c\x33\x2e\x33\
-\x35\x38\x2d\x33\x2e\x37\x39\x2c\x33\x2e\x39\x33\x38\x2d\x34\x2e\
-\x30\x38\x31\x2d\x30\x2e\x35\x38\x32\x4c\x32\x35\x35\x2e\x34\x34\
-\x2c\x36\x30\x0a\x09\x63\x30\x2d\x31\x35\x2e\x34\x36\x35\x2d\x31\
-\x32\x2e\x35\x34\x32\x2d\x32\x38\x2d\x32\x38\x2e\x30\x31\x34\x2d\
-\x32\x38\x63\x2d\x31\x35\x2e\x34\x37\x33\x2c\x30\x2d\x32\x38\x2e\
-\x30\x31\x35\x2c\x31\x32\x2e\x35\x33\x35\x2d\x32\x38\x2e\x30\x31\
-\x35\x2c\x32\x38\x6c\x2d\x30\x2e\x35\x35\x32\x2c\x31\x37\x36\x2e\
-\x37\x35\x32\x63\x30\x2e\x31\x34\x36\x2c\x32\x2e\x30\x34\x2d\x31\
-\x2e\x36\x30\x34\x2c\x32\x2e\x36\x32\x34\x2d\x31\x2e\x39\x32\x2c\
-\x30\x2e\x32\x39\x34\x4c\x31\x37\x32\x2e\x30\x31\x36\x2c\x39\x39\
-\x2e\x30\x37\x37\x0a\x09\x63\x2d\x32\x2e\x37\x35\x2d\x31\x35\x2e\
-\x32\x31\x39\x2d\x31\x37\x2e\x33\x32\x33\x2d\x32\x36\x2e\x32\x30\
-\x33\x2d\x33\x32\x2e\x35\x34\x38\x2d\x32\x33\x2e\x34\x35\x33\x63\
-\x2d\x31\x35\x2e\x32\x32\x37\x2c\x32\x2e\x37\x34\x38\x2d\x32\x35\
-\x2e\x33\x33\x39\x2c\x31\x38\x2e\x31\x38\x37\x2d\x32\x32\x2e\x35\
-\x39\x31\x2c\x33\x33\x2e\x34\x30\x33\x6c\x32\x32\x2e\x31\x39\x33\
-\x2c\x31\x36\x31\x2e\x34\x35\x35\x0a\x09\x63\x30\x2e\x30\x32\x33\
-\x2c\x32\x2e\x38\x37\x32\x2d\x30\x2e\x39\x34\x31\x2c\x34\x2e\x35\
-\x31\x33\x2d\x32\x2e\x33\x30\x38\x2c\x30\x2e\x38\x33\x31\x6c\x2d\
-\x33\x33\x2e\x31\x30\x39\x2d\x38\x38\x2e\x35\x31\x37\x63\x2d\x35\
-\x2e\x31\x38\x2d\x31\x34\x2e\x35\x37\x32\x2d\x32\x31\x2e\x31\x39\
-\x36\x2d\x32\x33\x2e\x30\x36\x35\x2d\x33\x35\x2e\x37\x37\x36\x2d\
-\x31\x37\x2e\x38\x38\x39\x0a\x09\x63\x2d\x31\x34\x2e\x35\x37\x39\
-\x2c\x35\x2e\x31\x37\x37\x2d\x32\x32\x2e\x32\x30\x31\x2c\x32\x32\
-\x2e\x30\x36\x31\x2d\x31\x37\x2e\x30\x32\x33\x2c\x33\x36\x2e\x36\
-\x33\x31\x6c\x35\x38\x2e\x30\x34\x32\x2c\x31\x38\x39\x2e\x36\x32\
-\x35\x63\x30\x2e\x33\x30\x33\x2c\x31\x2e\x30\x34\x36\x2c\x30\x2e\
-\x36\x32\x34\x2c\x32\x2e\x30\x38\x35\x2c\x30\x2e\x39\x35\x33\x2c\
-\x33\x2e\x31\x31\x38\x6c\x30\x2e\x31\x32\x31\x2c\x30\x2e\x33\x39\
-\x0a\x09\x63\x30\x2e\x30\x31\x31\x2c\x30\x2e\x30\x33\x31\x2c\x30\
-\x2e\x30\x32\x35\x2c\x30\x2e\x30\x35\x38\x2c\x30\x2e\x30\x33\x35\
-\x2c\x30\x2e\x30\x38\x38\x43\x31\x32\x36\x2e\x30\x37\x39\x2c\x34\
-\x34\x34\x2e\x32\x33\x33\x2c\x31\x37\x32\x2e\x35\x37\x2c\x34\x38\
-\x30\x2c\x32\x32\x37\x2e\x34\x32\x37\x2c\x34\x38\x30\x63\x33\x35\
-\x2e\x31\x31\x36\x2c\x30\x2c\x37\x31\x2e\x35\x39\x31\x2d\x31\x32\
-\x2e\x33\x37\x38\x2c\x39\x39\x2e\x33\x35\x37\x2d\x33\x33\x2e\x36\
-\x37\x32\x0a\x09\x63\x30\x2e\x30\x30\x31\x2c\x30\x2c\x30\x2e\x30\
-\x30\x33\x2d\x30\x2e\x30\x30\x32\x2c\x30\x2e\x30\x30\x33\x2d\x30\
-\x2e\x30\x30\x32\x63\x32\x39\x2e\x39\x39\x2d\x31\x38\x2e\x30\x35\
-\x31\x2c\x31\x32\x36\x2e\x30\x37\x31\x2d\x31\x32\x31\x2e\x33\x34\
-\x37\x2c\x31\x32\x36\x2e\x30\x37\x31\x2d\x31\x32\x31\x2e\x33\x34\
-\x37\x43\x34\x36\x37\x2e\x34\x34\x35\x2c\x33\x31\x30\x2e\x34\x30\
-\x32\x2c\x34\x36\x35\x2e\x32\x36\x36\x2c\x32\x38\x38\x2e\x30\x38\
-\x2c\x34\x35\x30\x2e\x36\x37\x39\x2c\x32\x37\x33\x2e\x35\x7a\x22\
-\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\xfe\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x5f\x35\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x6f\
+\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x34\x30\
+\x35\x2c\x31\x33\x36\x2e\x37\x39\x38\x20\x33\x37\x35\x2e\x32\x30\
+\x32\x2c\x31\x30\x37\x20\x32\x35\x36\x2c\x32\x32\x36\x2e\x32\x30\
+\x32\x20\x31\x33\x36\x2e\x37\x39\x38\x2c\x31\x30\x37\x20\x31\x30\
+\x37\x2c\x31\x33\x36\x2e\x37\x39\x38\x20\x32\x32\x36\x2e\x32\x30\
+\x32\x2c\x32\x35\x36\x20\x31\x30\x37\x2c\x33\x37\x35\x2e\x32\x30\
+\x32\x20\x31\x33\x36\x2e\x37\x39\x38\x2c\x34\x30\x35\x20\x32\x35\
+\x36\x2c\x32\x38\x35\x2e\x37\x39\x38\x20\x0a\x09\x09\x09\x33\x37\
+\x35\x2e\x32\x30\x32\x2c\x34\x30\x35\x20\x34\x30\x35\x2c\x33\x37\
+\x35\x2e\x32\x30\x32\x20\x32\x38\x35\x2e\x37\x39\x38\x2c\x32\x35\
+\x36\x20\x09\x09\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\xdc\
\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
-\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
-\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
-\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
-\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
-\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
-\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
-\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
-\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
-\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
-\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
-\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
-\x27\x36\x33\x2e\x39\x39\x39\x36\x70\x74\x27\x20\x68\x65\x69\x67\
-\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
-\x78\x3d\x27\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\
-\x35\x38\x20\x36\x33\x2e\x39\x39\x39\x36\x20\x36\x34\x27\x3e\x0a\
-\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
-\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
-\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\x34\x30\x39\x34\x20\x31\
-\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
-\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
-\x27\x4d\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
-\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x36\x32\x2e\x32\x33\
-\x32\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x32\x2e\x30\x30\
-\x37\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x32\x2e\x30\x30\x37\
-\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
-\x35\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
-\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
-\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
-\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
-\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
-\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
-\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
-\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x34\x2e\x30\x31\x35\x27\
-\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\
-\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\
-\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\x35\x38\x29\
-\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\
-\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x27\x4d\x20\x32\x2e\x30\x30\
-\x37\x35\x20\x33\x32\x2e\x31\x32\x4c\x20\x36\x32\x2e\x32\x33\x32\
-\x35\x20\x33\x32\x2e\x31\x32\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\
-\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\
-\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\
-\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\
-\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\
-\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\
-\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\
-\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x34\
-\x2e\x30\x31\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\
-\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\
-\x6c\x61\x74\x65\x28\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\
-\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\
-\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x27\x4d\
-\x20\x33\x32\x2e\x31\x32\x20\x36\x32\x2e\x32\x33\x32\x35\x4c\x20\
-\x33\x32\x2e\x31\x32\x20\x32\x2e\x30\x30\x37\x35\x27\x20\x66\x69\
-\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\x65\
-\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\x6b\
-\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\x64\
-\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\
-\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\
-\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\x2e\
-\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\
-\x74\x68\x3d\x27\x34\x2e\x30\x31\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\
-\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
+\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
+\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\
+\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\
+\x32\x38\x63\x2d\x38\x31\x2e\x39\x2c\x30\x2d\x31\x34\x35\x2e\x37\
+\x2c\x34\x38\x2e\x38\x2d\x32\x32\x34\x2c\x31\x32\x38\x63\x36\x37\
+\x2e\x34\x2c\x36\x37\x2e\x37\x2c\x31\x32\x34\x2c\x31\x32\x38\x2c\
+\x32\x32\x34\x2c\x31\x32\x38\x63\x39\x39\x2e\x39\x2c\x30\x2c\x31\
+\x37\x33\x2e\x34\x2d\x37\x36\x2e\x34\x2c\x32\x32\x34\x2d\x31\x32\
+\x36\x2e\x36\x0a\x09\x09\x43\x34\x32\x38\x2e\x32\x2c\x31\x39\x38\
+\x2e\x36\x2c\x33\x35\x34\x2e\x38\x2c\x31\x32\x38\x2c\x32\x35\x36\
+\x2c\x31\x32\x38\x7a\x20\x4d\x32\x35\x36\x2c\x33\x34\x37\x2e\x33\
+\x63\x2d\x34\x39\x2e\x34\x2c\x30\x2d\x38\x39\x2e\x36\x2d\x34\x31\
+\x2d\x38\x39\x2e\x36\x2d\x39\x31\x2e\x33\x63\x30\x2d\x35\x30\x2e\
+\x34\x2c\x34\x30\x2e\x32\x2d\x39\x31\x2e\x33\x2c\x38\x39\x2e\x36\
+\x2d\x39\x31\x2e\x33\x73\x38\x39\x2e\x36\x2c\x34\x31\x2c\x38\x39\
+\x2e\x36\x2c\x39\x31\x2e\x33\x0a\x09\x09\x43\x33\x34\x35\x2e\x36\
+\x2c\x33\x30\x36\x2e\x34\x2c\x33\x30\x35\x2e\x34\x2c\x33\x34\x37\
+\x2e\x33\x2c\x32\x35\x36\x2c\x33\x34\x37\x2e\x33\x7a\x22\x2f\x3e\
+\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x22\x4d\x32\x35\x36\x2c\x32\x32\x34\x63\x30\x2d\x37\x2e\x39\x2c\
+\x32\x2e\x39\x2d\x31\x35\x2e\x31\x2c\x37\x2e\x36\x2d\x32\x30\x2e\
+\x37\x63\x2d\x32\x2e\x35\x2d\x30\x2e\x34\x2d\x35\x2d\x30\x2e\x36\
+\x2d\x37\x2e\x36\x2d\x30\x2e\x36\x63\x2d\x32\x38\x2e\x38\x2c\x30\
+\x2d\x35\x32\x2e\x33\x2c\x32\x33\x2e\x39\x2d\x35\x32\x2e\x33\x2c\
+\x35\x33\x2e\x33\x63\x30\x2c\x32\x39\x2e\x34\x2c\x32\x33\x2e\x35\
+\x2c\x35\x33\x2e\x33\x2c\x35\x32\x2e\x33\x2c\x35\x33\x2e\x33\x0a\
+\x09\x09\x09\x73\x35\x32\x2e\x33\x2d\x32\x33\x2e\x39\x2c\x35\x32\
+\x2e\x33\x2d\x35\x33\x2e\x33\x63\x30\x2d\x32\x2e\x33\x2d\x30\x2e\
+\x32\x2d\x34\x2e\x36\x2d\x30\x2e\x34\x2d\x36\x2e\x39\x63\x2d\x35\
+\x2e\x35\x2c\x34\x2e\x33\x2d\x31\x32\x2e\x33\x2c\x36\x2e\x39\x2d\
+\x31\x39\x2e\x38\x2c\x36\x2e\x39\x43\x32\x37\x30\x2e\x33\x2c\x32\
+\x35\x36\x2c\x32\x35\x36\x2c\x32\x34\x31\x2e\x37\x2c\x32\x35\x36\
+\x2c\x32\x32\x34\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\xca\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x39\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x0a\x09\x20\x69\x64\x3d\
+\x22\x73\x76\x67\x34\x36\x31\x39\x22\x20\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x3a\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x30\x2e\x39\x31\
+\x2b\x64\x65\x76\x65\x6c\x2b\x6f\x73\x78\x6d\x65\x6e\x75\x20\x72\
+\x31\x32\x39\x31\x31\x22\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\
+\x64\x6f\x63\x6e\x61\x6d\x65\x3d\x22\x74\x72\x69\x61\x6e\x67\x6c\
+\x65\x2d\x73\x74\x72\x6f\x6b\x65\x64\x2d\x31\x35\x2e\x73\x76\x67\
+\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x63\x63\x3d\x22\x68\x74\x74\x70\
+\x3a\x2f\x2f\x63\x72\x65\x61\x74\x69\x76\x65\x63\x6f\x6d\x6d\x6f\
+\x6e\x73\x2e\x6f\x72\x67\x2f\x6e\x73\x23\x22\x20\x78\x6d\x6c\x6e\
+\x73\x3a\x64\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\
+\x6c\x2e\x6f\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\
+\x73\x2f\x31\x2e\x31\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x69\x6e\
+\x6b\x73\x63\x61\x70\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\
+\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x73\x2f\x69\x6e\x6b\x73\x63\
+\x61\x70\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\
+\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\
+\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\
+\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\x73\x23\x22\x20\x78\x6d\x6c\
+\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\x68\x74\x74\
+\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\x73\x6f\x75\
+\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\x44\x54\x44\
+\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\x74\x64\x22\
+\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
+\x30\x30\x2f\x73\x76\x67\x22\x0a\x09\x20\x78\x6d\x6c\x6e\x73\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\
+\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\
+\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\
+\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\
+\x79\x3d\x22\x30\x70\x78\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x36\
+\x34\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x36\x34\x70\
+\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x31\x35\x20\x31\x35\x22\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\
+\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x31\x35\x20\x31\x35\x3b\
+\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\
+\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\x68\x20\x69\x64\
+\x3d\x22\x72\x65\x63\x74\x33\x33\x33\x38\x22\x20\x69\x6e\x6b\x73\
+\x63\x61\x70\x65\x3a\x63\x6f\x6e\x6e\x65\x63\x74\x6f\x72\x2d\x63\
+\x75\x72\x76\x61\x74\x75\x72\x65\x3d\x22\x30\x22\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\
+\x22\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\x22\x20\x64\
+\x3d\x22\x4d\x37\x2e\x35\x32\x34\x33\x2c\x31\x2e\x35\x30\x30\x34\
+\x0a\x09\x43\x37\x2e\x32\x34\x32\x39\x2c\x31\x2e\x34\x39\x31\x33\
+\x2c\x36\x2e\x39\x37\x38\x37\x2c\x31\x2e\x36\x34\x32\x33\x2c\x36\
+\x2e\x38\x33\x33\x36\x2c\x31\x2e\x38\x39\x35\x32\x6c\x2d\x35\x2e\
+\x35\x2c\x39\x2e\x38\x36\x39\x32\x43\x31\x2e\x30\x32\x31\x38\x2c\
+\x31\x32\x2e\x33\x30\x37\x38\x2c\x31\x2e\x33\x39\x35\x2c\x31\x32\
+\x2e\x39\x39\x39\x39\x2c\x32\x2c\x31\x33\x68\x31\x31\x0a\x09\x63\
+\x30\x2e\x36\x30\x35\x2d\x30\x2e\x30\x30\x30\x31\x2c\x30\x2e\x39\
+\x37\x38\x32\x2d\x30\x2e\x36\x39\x32\x32\x2c\x30\x2e\x36\x36\x36\
+\x34\x2d\x31\x2e\x32\x33\x35\x35\x6c\x2d\x35\x2e\x35\x2d\x39\x2e\
+\x38\x36\x39\x32\x43\x38\x2e\x30\x33\x30\x32\x2c\x31\x2e\x36\x35\
+\x37\x39\x2c\x37\x2e\x37\x38\x38\x34\x2c\x31\x2e\x35\x30\x39\x32\
+\x2c\x37\x2e\x35\x32\x34\x33\x2c\x31\x2e\x35\x30\x30\x34\x7a\x20\
+\x4d\x37\x2e\x35\x2c\x33\x2e\x38\x39\x39\x33\x6c\x34\x2e\x31\x32\
+\x36\x37\x2c\x37\x2e\x34\x37\x30\x34\x0a\x09\x48\x33\x2e\x33\x37\
+\x33\x33\x4c\x37\x2e\x35\x2c\x33\x2e\x38\x39\x39\x33\x7a\x22\x2f\
+\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
\x00\x00\x05\x9c\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
@@ -261,7 +289,305 @@ qt_resource_data = b"\
\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\
\x33\x2e\x35\x31\x33\x31\x32\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\
\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
-\x00\x00\x02\xab\
+\x00\x00\x03\x2a\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x6f\x6c\x79\x67\
+\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x33\x39\x36\x2e\x37\
+\x39\x35\x2c\x33\x39\x36\x2e\x38\x20\x33\x32\x30\x2c\x33\x39\x36\
+\x2e\x38\x20\x33\x32\x30\x2c\x34\x34\x38\x20\x34\x34\x38\x2c\x34\
+\x34\x38\x20\x34\x34\x38\x2c\x33\x32\x30\x20\x33\x39\x36\x2e\x37\
+\x39\x35\x2c\x33\x32\x30\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\
+\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x33\x39\
+\x36\x2e\x38\x2c\x31\x31\x35\x2e\x32\x30\x35\x20\x33\x39\x36\x2e\
+\x38\x2c\x31\x39\x32\x20\x34\x34\x38\x2c\x31\x39\x32\x20\x34\x34\
+\x38\x2c\x36\x34\x20\x33\x32\x30\x2c\x36\x34\x20\x33\x32\x30\x2c\
+\x31\x31\x35\x2e\x32\x30\x35\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\
+\x6f\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x31\
+\x31\x35\x2e\x32\x30\x35\x2c\x31\x31\x35\x2e\x32\x20\x31\x39\x32\
+\x2c\x31\x31\x35\x2e\x32\x20\x31\x39\x32\x2c\x36\x34\x20\x36\x34\
+\x2c\x36\x34\x20\x36\x34\x2c\x31\x39\x32\x20\x31\x31\x35\x2e\x32\
+\x30\x35\x2c\x31\x39\x32\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\
+\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x31\x31\
+\x35\x2e\x32\x2c\x33\x39\x36\x2e\x37\x39\x35\x20\x31\x31\x35\x2e\
+\x32\x2c\x33\x32\x30\x20\x36\x34\x2c\x33\x32\x30\x20\x36\x34\x2c\
+\x34\x34\x38\x20\x31\x39\x32\x2c\x34\x34\x38\x20\x31\x39\x32\x2c\
+\x33\x39\x36\x2e\x37\x39\x35\x20\x09\x22\x2f\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x01\x69\
+\x3c\
+\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\x32\
+\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\
+\x20\x35\x31\x32\x20\x35\x31\x32\x22\x3e\x3c\x67\x20\x74\x72\x61\
+\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\
+\x34\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x3c\
+\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x2e\x33\x34\x20\x31\x35\
+\x2e\x36\x36\x41\x37\x2e\x39\x37\x20\x37\x2e\x39\x37\x20\x30\x20\
+\x30\x20\x30\x20\x39\x20\x31\x37\x2e\x39\x34\x56\x31\x30\x48\x35\
+\x56\x38\x68\x34\x56\x35\x2e\x38\x33\x61\x33\x20\x33\x20\x30\x20\
+\x31\x20\x31\x20\x32\x20\x30\x56\x38\x68\x34\x76\x32\x68\x2d\x34\
+\x76\x37\x2e\x39\x34\x61\x37\x2e\x39\x37\x20\x37\x2e\x39\x37\x20\
+\x30\x20\x30\x20\x30\x20\x34\x2e\x36\x36\x2d\x32\x2e\x32\x38\x6c\
+\x2d\x31\x2e\x34\x32\x2d\x31\x2e\x34\x32\x68\x35\x2e\x36\x36\x6c\
+\x2d\x32\x2e\x38\x33\x20\x32\x2e\x38\x33\x61\x31\x30\x20\x31\x30\
+\x20\x30\x20\x30\x20\x31\x2d\x31\x34\x2e\x31\x34\x20\x30\x4c\x2e\
+\x31\x20\x31\x34\x2e\x32\x34\x68\x35\x2e\x36\x36\x6c\x2d\x31\x2e\
+\x34\x32\x20\x31\x2e\x34\x32\x7a\x4d\x31\x30\x20\x34\x61\x31\x20\
+\x31\x20\x30\x20\x31\x20\x30\x20\x30\x2d\x32\x20\x31\x20\x31\x20\
+\x30\x20\x30\x20\x30\x20\x30\x20\x32\x7a\x22\x2f\x3e\x3c\x2f\x67\
+\x3e\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\x1c\
+\x00\
+\x00\x07\x5c\x78\x9c\xdd\x55\x4d\x73\x9b\x30\x10\xbd\xf7\x57\x6c\
+\xa7\x07\x25\x07\x84\xbe\x10\x28\x13\x92\x99\x7a\xa6\xa7\xf4\x96\
+\x5c\x7a\xc3\x41\x80\x1a\x0c\x1e\xa0\xc6\xfd\xf7\x95\x6d\x49\x76\
+\x69\x33\xbd\xe4\xd0\x89\x0f\x98\xf7\x56\x6f\xd9\xb7\xcb\x0e\xb7\
+\xf7\xfb\x4d\x0b\x3b\x3d\x8c\xa6\xef\x72\x44\x31\x41\xa0\xbb\xe7\
+\xbe\x34\x5d\x9d\xa3\xa7\xc7\x2f\x51\x86\xee\xef\x3e\xdc\x7e\x8c\
+\x22\x78\x6c\xcc\x08\x95\x69\x35\xcc\xc5\x08\xb5\xee\xf4\x50\x4c\
+\xba\x84\xf5\x4f\x28\x77\x66\xdc\xd5\x1b\x60\x98\x52\x4c\x21\x8a\
+\xac\xc4\x12\x97\x89\x29\x02\xfb\xa8\x6e\xcc\x51\x33\x4d\xdb\x9b\
+\x38\x9e\xe7\x19\xcf\x1c\xf7\x43\x1d\x33\x42\x48\x6c\xcf\xbb\x23\
+\x37\xfb\xd6\x74\x2f\x7f\x3b\x48\x95\x52\xf1\x31\x8a\x60\x36\xe5\
+\xd4\xe4\x48\x72\x6c\x49\xb9\x9d\x10\x34\xda\xd4\xcd\x64\x29\x71\
+\x40\x3b\xa3\xe7\xcf\xfd\x3e\x47\x89\xc4\x82\x28\x01\x94\xa6\x38\
+\x4b\x32\x70\x0a\x90\x02\xd9\x32\x6b\x30\x65\x8e\xb6\x45\xad\xe9\
+\x09\x4e\x43\xd1\x8d\x55\x3f\x6c\x72\x74\xbc\x6d\xad\xc9\xab\x45\
+\x8e\xeb\xf1\xb9\x68\xf5\x95\xcd\x23\x99\x14\xd7\x07\xe1\xb6\x98\
+\x1a\xb0\x99\xbe\x82\xc2\x5c\xa4\x82\x81\x60\x38\x15\x29\x7b\x08\
+\x44\x22\x70\xa6\x98\xfc\x83\x58\x2d\x89\x7f\xe1\x0b\x81\xc2\x24\
+\x13\x0a\xa8\xc2\x89\xe0\x14\x24\xc3\x22\xe3\x02\xb8\x9d\x04\xf3\
+\x68\x05\x42\x60\xa9\xa4\x0a\x61\x9f\xd7\xcb\x03\xf6\x15\xbe\x4a\
+\x04\x53\x9e\xe0\x04\x4b\x42\xb3\x55\x20\xd8\xb1\x55\x49\x78\x26\
+\xe3\x98\x50\xea\x2a\x3a\x81\x55\xa8\xd7\x05\xbd\x1d\xaf\xf5\xd8\
+\x25\x7f\x58\xf6\xf4\x1b\x3a\xbc\x88\x6d\x8e\x3e\xad\xab\x75\x55\
+\x55\x28\xb6\x13\x88\xeb\xb7\x99\x5f\x30\x22\x70\xc2\x14\xbd\x70\
+\x46\x30\xe7\x32\x0b\xce\xa8\xc4\x8a\x67\xdc\x59\x73\xe8\xec\xcd\
+\x87\x83\x39\x27\x0f\xd8\xe7\x0f\x44\x86\x53\x46\x93\x90\xe0\x94\
+\xf7\xe2\x7a\x1e\xe4\x89\x0c\x85\x39\xe1\xa2\xf2\xd0\xa5\xae\xef\
+\x34\x82\x71\x1a\xfa\x17\x6d\x7b\x46\x8e\x3f\x4f\x44\x76\x9d\xf4\
+\x73\xb1\xcd\xd1\xd0\xff\xe8\xca\xdf\xe8\xef\xbd\xe9\x96\xfc\xc6\
+\x4c\x7a\x68\x8d\xfd\xb3\x6b\x4d\x30\xe1\x69\x12\x62\x6e\x27\x39\
+\x4e\x28\xa7\xec\x4d\xa7\xb2\xe8\xda\xfb\xda\x2a\x67\xea\x3d\xcd\
+\xeb\xd5\x2d\xb2\x5f\x08\x95\x30\x76\xde\x22\x9c\x26\x32\x91\x7e\
+\x8b\x4e\xe8\x62\x8b\x5c\xd8\xcf\xc6\xcb\x17\xef\xc3\x7f\xd3\xba\
+\xd3\xc5\x7e\xcc\xee\x7e\x01\xb3\x30\xdb\xa9\
+\x00\x00\x01\x1c\
+\x3c\
+\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\x32\
+\x70\x78\x22\x0a\x20\x20\x20\x20\x20\x76\x69\x65\x77\x42\x6f\x78\
+\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x3e\x0a\
+\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\
+\x74\x72\x69\x78\x28\x34\x38\x20\x30\x20\x30\x20\x34\x38\x20\x34\
+\x38\x20\x34\x38\x29\x27\x3e\x0a\x20\x20\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x30\x20\x30\x76\x32\x68\x2e\x35\x63\x30\x2d\x2e\
+\x35\x35\x2e\x34\x35\x2d\x31\x20\x31\x2d\x31\x68\x31\x2e\x35\x76\
+\x35\x2e\x35\x63\x30\x20\x2e\x32\x38\x2d\x2e\x32\x32\x2e\x35\x2d\
+\x2e\x35\x2e\x35\x68\x2d\x2e\x35\x76\x31\x68\x34\x76\x2d\x31\x68\
+\x2d\x2e\x35\x63\x2d\x2e\x32\x38\x20\x30\x2d\x2e\x35\x2d\x2e\x32\
+\x32\x2d\x2e\x35\x2d\x2e\x35\x76\x2d\x35\x2e\x35\x68\x31\x2e\x35\
+\x63\x2e\x35\x35\x20\x30\x20\x31\x20\x2e\x34\x35\x20\x31\x20\x31\
+\x68\x2e\x35\x76\x2d\x32\x68\x2d\x38\x7a\x22\x20\x2f\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\xda\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x30\x2e\x30\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x34\x38\x2e\x34\x35\x31\x2c\x34\x36\x34\x2e\x38\
+\x32\x38\x63\x34\x30\x2e\x30\x32\x33\x2d\x30\x2e\x33\x31\x35\x2c\
+\x34\x35\x2e\x30\x31\x2d\x39\x2e\x39\x35\x35\x2c\x35\x38\x2e\x30\
+\x35\x32\x2d\x35\x30\x2e\x31\x33\x32\x63\x32\x34\x2e\x30\x35\x37\
+\x2d\x36\x33\x2e\x34\x30\x38\x2c\x31\x33\x32\x2e\x34\x31\x39\x2c\
+\x31\x36\x2e\x35\x39\x31\x2c\x36\x35\x2e\x32\x36\x39\x2c\x34\x34\
+\x2e\x33\x37\x34\x0a\x09\x09\x43\x31\x30\x34\x2e\x36\x32\x32\x2c\
+\x34\x38\x36\x2e\x38\x35\x32\x2c\x38\x2e\x34\x32\x38\x2c\x34\x36\
+\x35\x2e\x31\x34\x33\x2c\x34\x38\x2e\x34\x35\x31\x2c\x34\x36\x34\
+\x2e\x38\x32\x38\x7a\x22\x2f\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x34\x35\x38\x2e\x38\x35\x37\x2c\x34\x36\x2e\x39\
+\x30\x32\x63\x2d\x31\x39\x2e\x34\x31\x37\x2d\x31\x35\x2e\x36\x34\
+\x37\x2d\x35\x31\x2e\x35\x39\x32\x2d\x37\x2e\x39\x33\x38\x2d\x37\
+\x31\x2e\x38\x36\x34\x2c\x31\x37\x2e\x32\x31\x39\x4c\x31\x38\x31\
+\x2e\x36\x34\x35\x2c\x33\x35\x35\x2e\x38\x34\x39\x63\x2d\x32\x30\
+\x2e\x32\x37\x32\x2c\x32\x35\x2e\x31\x35\x34\x2d\x32\x30\x2e\x31\
+\x37\x31\x2c\x32\x30\x2e\x33\x34\x37\x2d\x30\x2e\x37\x35\x34\x2c\
+\x33\x35\x2e\x39\x39\x32\x0a\x09\x09\x63\x31\x39\x2e\x34\x31\x37\
+\x2c\x31\x35\x2e\x36\x34\x38\x2c\x31\x34\x2e\x37\x33\x38\x2c\x31\
+\x36\x2e\x37\x37\x2c\x33\x35\x2e\x30\x31\x31\x2d\x38\x2e\x33\x38\
+\x38\x6c\x32\x34\x31\x2e\x34\x30\x36\x2d\x32\x36\x32\x2e\x36\x36\
+\x39\x43\x34\x37\x37\x2e\x35\x38\x31\x2c\x39\x35\x2e\x36\x32\x38\
+\x2c\x34\x37\x38\x2e\x32\x37\x35\x2c\x36\x32\x2e\x35\x35\x2c\x34\
+\x35\x38\x2e\x38\x35\x37\x2c\x34\x36\x2e\x39\x30\x32\x7a\x20\x4d\
+\x34\x30\x36\x2e\x30\x36\x35\x2c\x38\x31\x2e\x38\x32\x35\x0a\x09\
+\x09\x63\x30\x2c\x30\x2d\x33\x2d\x33\x2e\x35\x2d\x31\x33\x2d\x31\
+\x31\x2e\x35\x63\x31\x35\x2d\x32\x34\x2e\x35\x2c\x34\x34\x2e\x35\
+\x2d\x32\x30\x2c\x34\x34\x2e\x35\x2d\x32\x30\x43\x34\x30\x39\x2e\
+\x35\x36\x35\x2c\x36\x36\x2e\x38\x32\x35\x2c\x34\x30\x36\x2e\x30\
+\x36\x35\x2c\x38\x31\x2e\x38\x32\x35\x2c\x34\x30\x36\x2e\x30\x36\
+\x35\x2c\x38\x31\x2e\x38\x32\x35\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\xe7\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
+\x69\x72\x63\x6c\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\
+\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\
+\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\
+\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\
+\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\
+\x69\x6e\x6b\x22\x20\x78\x3d\x22\x35\x31\x32\x70\x78\x22\x20\x79\
+\x3d\x22\x35\x31\x32\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\
+\x6f\x78\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\
+\x20\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\
+\x6e\x64\x3d\x22\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\
+\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\
+\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\
+\x32\x34\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\
+\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x31\x30\x2c\x30\x2e\
+\x34\x43\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x30\x2e\x34\x2c\
+\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x31\x30\x43\x30\x2e\x34\
+\x2c\x31\x35\x2e\x33\x30\x32\x2c\x34\x2e\x36\x39\x38\x2c\x31\x39\
+\x2e\x36\x2c\x31\x30\x2c\x31\x39\x2e\x36\x63\x35\x2e\x33\x30\x31\
+\x2c\x30\x2c\x39\x2e\x36\x2d\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\
+\x2d\x39\x2e\x36\x30\x31\x0a\x09\x43\x31\x39\x2e\x36\x2c\x34\x2e\
+\x36\x39\x38\x2c\x31\x35\x2e\x33\x30\x31\x2c\x30\x2e\x34\x2c\x31\
+\x30\x2c\x30\x2e\x34\x7a\x20\x4d\x31\x30\x2c\x31\x37\x2e\x35\x39\
+\x39\x63\x2d\x34\x2e\x31\x39\x37\x2c\x30\x2d\x37\x2e\x36\x2d\x33\
+\x2e\x34\x30\x32\x2d\x37\x2e\x36\x2d\x37\x2e\x36\x53\x35\x2e\x38\
+\x30\x32\x2c\x32\x2e\x34\x2c\x31\x30\x2c\x32\x2e\x34\x63\x34\x2e\
+\x31\x39\x37\x2c\x30\x2c\x37\x2e\x36\x30\x31\x2c\x33\x2e\x34\x30\
+\x32\x2c\x37\x2e\x36\x30\x31\x2c\x37\x2e\x36\x0a\x09\x53\x31\x34\
+\x2e\x31\x39\x37\x2c\x31\x37\x2e\x35\x39\x39\x2c\x31\x30\x2c\x31\
+\x37\x2e\x35\x39\x39\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\x03\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
+\x68\x65\x63\x6b\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\
+\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\
+\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\
+\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\
+\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\
+\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\x22\x30\
+\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\
+\x20\x30\x20\x32\x30\x20\x32\x30\x22\x20\x65\x6e\x61\x62\x6c\x65\
+\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\x77\
+\x20\x30\x20\x30\x20\x32\x30\x20\x32\x30\x22\x20\x78\x6d\x6c\x3a\
+\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\
+\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x38\x2e\x32\x39\
+\x34\x2c\x31\x36\x2e\x39\x39\x38\x63\x2d\x30\x2e\x34\x33\x35\x2c\
+\x30\x2d\x30\x2e\x38\x34\x37\x2d\x30\x2e\x32\x30\x33\x2d\x31\x2e\
+\x31\x31\x31\x2d\x30\x2e\x35\x35\x33\x4c\x33\x2e\x36\x31\x2c\x31\
+\x31\x2e\x37\x32\x34\x63\x2d\x30\x2e\x34\x36\x35\x2d\x30\x2e\x36\
+\x31\x33\x2d\x30\x2e\x33\x34\x34\x2d\x31\x2e\x34\x38\x36\x2c\x30\
+\x2e\x32\x37\x2d\x31\x2e\x39\x35\x31\x0a\x09\x63\x30\x2e\x36\x31\
+\x35\x2d\x30\x2e\x34\x36\x37\x2c\x31\x2e\x34\x38\x38\x2d\x30\x2e\
+\x33\x34\x34\x2c\x31\x2e\x39\x35\x33\x2c\x30\x2e\x32\x37\x6c\x32\
+\x2e\x33\x35\x31\x2c\x33\x2e\x31\x30\x34\x6c\x35\x2e\x39\x31\x31\
+\x2d\x39\x2e\x34\x39\x32\x63\x30\x2e\x34\x30\x37\x2d\x30\x2e\x36\
+\x35\x32\x2c\x31\x2e\x32\x36\x37\x2d\x30\x2e\x38\x35\x32\x2c\x31\
+\x2e\x39\x32\x31\x2d\x30\x2e\x34\x34\x35\x0a\x09\x63\x30\x2e\x36\
+\x35\x33\x2c\x30\x2e\x34\x30\x36\x2c\x30\x2e\x38\x35\x34\x2c\x31\
+\x2e\x32\x36\x36\x2c\x30\x2e\x34\x34\x36\x2c\x31\x2e\x39\x32\x4c\
+\x39\x2e\x34\x37\x38\x2c\x31\x36\x2e\x33\x34\x63\x2d\x30\x2e\x32\
+\x34\x32\x2c\x30\x2e\x33\x39\x31\x2d\x30\x2e\x36\x36\x31\x2c\x30\
+\x2e\x36\x33\x35\x2d\x31\x2e\x31\x32\x2c\x30\x2e\x36\x35\x36\x43\
+\x38\x2e\x33\x33\x36\x2c\x31\x36\x2e\x39\x39\x38\x2c\x38\x2e\x33\
+\x31\x36\x2c\x31\x36\x2e\x39\x39\x38\x2c\x38\x2e\x32\x39\x34\x2c\
+\x31\x36\x2e\x39\x39\x38\x7a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\
+\x3e\x0a\
+\x00\x00\x03\x3f\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -293,19 +619,80 @@ qt_resource_data = b"\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
-\x5f\x35\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x6f\
-\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x34\x30\
-\x35\x2c\x31\x33\x36\x2e\x37\x39\x38\x20\x33\x37\x35\x2e\x32\x30\
-\x32\x2c\x31\x30\x37\x20\x32\x35\x36\x2c\x32\x32\x36\x2e\x32\x30\
-\x32\x20\x31\x33\x36\x2e\x37\x39\x38\x2c\x31\x30\x37\x20\x31\x30\
-\x37\x2c\x31\x33\x36\x2e\x37\x39\x38\x20\x32\x32\x36\x2e\x32\x30\
-\x32\x2c\x32\x35\x36\x20\x31\x30\x37\x2c\x33\x37\x35\x2e\x32\x30\
-\x32\x20\x31\x33\x36\x2e\x37\x39\x38\x2c\x34\x30\x35\x20\x32\x35\
-\x36\x2c\x32\x38\x35\x2e\x37\x39\x38\x20\x0a\x09\x09\x09\x33\x37\
-\x35\x2e\x32\x30\x32\x2c\x34\x30\x35\x20\x34\x30\x35\x2c\x33\x37\
-\x35\x2e\x32\x30\x32\x20\x32\x38\x35\x2e\x37\x39\x38\x2c\x32\x35\
-\x36\x20\x09\x09\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\x2f\
-\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x5f\x32\x31\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\x35\x32\x63\
+\x2d\x35\x37\x2e\x32\x2c\x30\x2d\x31\x30\x34\x2c\x34\x36\x2e\x38\
+\x2d\x31\x30\x34\x2c\x31\x30\x34\x73\x34\x36\x2e\x38\x2c\x31\x30\
+\x34\x2c\x31\x30\x34\x2c\x31\x30\x34\x73\x31\x30\x34\x2d\x34\x36\
+\x2e\x38\x2c\x31\x30\x34\x2d\x31\x30\x34\x53\x33\x31\x33\x2e\x32\
+\x2c\x31\x35\x32\x2c\x32\x35\x36\x2c\x31\x35\x32\x7a\x20\x4d\x32\
+\x35\x36\x2c\x34\x38\x0a\x09\x09\x09\x43\x31\x34\x31\x2e\x36\x30\
+\x31\x2c\x34\x38\x2c\x34\x38\x2c\x31\x34\x31\x2e\x36\x30\x31\x2c\
+\x34\x38\x2c\x32\x35\x36\x73\x39\x33\x2e\x36\x30\x31\x2c\x32\x30\
+\x38\x2c\x32\x30\x38\x2c\x32\x30\x38\x73\x32\x30\x38\x2d\x39\x33\
+\x2e\x36\x30\x31\x2c\x32\x30\x38\x2d\x32\x30\x38\x53\x33\x37\x30\
+\x2e\x33\x39\x39\x2c\x34\x38\x2c\x32\x35\x36\x2c\x34\x38\x7a\x20\
+\x4d\x32\x35\x36\x2c\x34\x32\x32\x2e\x34\x0a\x09\x09\x09\x63\x2d\
+\x39\x31\x2e\x35\x31\x38\x2c\x30\x2d\x31\x36\x36\x2e\x34\x2d\x37\
+\x34\x2e\x38\x38\x33\x2d\x31\x36\x36\x2e\x34\x2d\x31\x36\x36\x2e\
+\x34\x53\x31\x36\x34\x2e\x34\x38\x32\x2c\x38\x39\x2e\x36\x2c\x32\
+\x35\x36\x2c\x38\x39\x2e\x36\x53\x34\x32\x32\x2e\x34\x2c\x31\x36\
+\x34\x2e\x34\x38\x32\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\x36\x53\
+\x33\x34\x37\x2e\x35\x31\x38\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\
+\x36\x2c\x34\x32\x32\x2e\x34\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\x16\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x63\x69\x72\x63\x6c\
+\x65\x20\x63\x78\x3d\x22\x32\x35\x36\x22\x20\x63\x79\x3d\x22\x32\
+\x38\x30\x22\x20\x72\x3d\x22\x36\x33\x22\x2f\x3e\x0a\x09\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x34\x30\x2c\x39\x36\x68\x2d\
+\x38\x38\x6c\x2d\x33\x32\x2d\x33\x32\x48\x31\x39\x32\x6c\x2d\x33\
+\x32\x2c\x33\x32\x48\x37\x32\x63\x2d\x32\x32\x2e\x30\x39\x32\x2c\
+\x30\x2d\x34\x30\x2c\x31\x37\x2e\x39\x30\x38\x2d\x34\x30\x2c\x34\
+\x30\x76\x32\x37\x32\x63\x30\x2c\x32\x32\x2e\x30\x39\x32\x2c\x31\
+\x37\x2e\x39\x30\x38\x2c\x34\x30\x2c\x34\x30\x2c\x34\x30\x68\x33\
+\x36\x38\x63\x32\x32\x2e\x30\x39\x32\x2c\x30\x2c\x34\x30\x2d\x31\
+\x37\x2e\x39\x30\x38\x2c\x34\x30\x2d\x34\x30\x0a\x09\x09\x56\x31\
+\x33\x36\x43\x34\x38\x30\x2c\x31\x31\x33\x2e\x39\x30\x38\x2c\x34\
+\x36\x32\x2e\x30\x39\x32\x2c\x39\x36\x2c\x34\x34\x30\x2c\x39\x36\
+\x7a\x20\x4d\x32\x35\x36\x2c\x33\x39\x32\x63\x2d\x36\x31\x2e\x38\
+\x35\x35\x2c\x30\x2d\x31\x31\x32\x2d\x35\x30\x2e\x31\x34\x35\x2d\
+\x31\x31\x32\x2d\x31\x31\x32\x73\x35\x30\x2e\x31\x34\x35\x2d\x31\
+\x31\x32\x2c\x31\x31\x32\x2d\x31\x31\x32\x73\x31\x31\x32\x2c\x35\
+\x30\x2e\x31\x34\x35\x2c\x31\x31\x32\x2c\x31\x31\x32\x0a\x09\x09\
+\x53\x33\x31\x37\x2e\x38\x35\x35\x2c\x33\x39\x32\x2c\x32\x35\x36\
+\x2c\x33\x39\x32\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\
+\x73\x76\x67\x3e\x0a\
\x00\x00\x02\x6c\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
@@ -347,7 +734,7 @@ qt_resource_data = b"\
\x30\x36\x20\x34\x31\x36\x2c\x31\x31\x30\x20\x09\x09\x09\x22\x2f\
\x3e\x0a\x09\x09\x3c\x2f\x67\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\
\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x04\xa3\
+\x00\x00\x04\x13\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
@@ -370,20 +757,11 @@ qt_resource_data = b"\
\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
-\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x43\
-\x20\x34\x2e\x33\x35\x34\x33\x38\x20\x32\x34\x2e\x39\x32\x38\x37\
-\x20\x38\x2e\x34\x33\x32\x31\x37\x20\x31\x38\x2e\x30\x30\x31\x34\
+\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x4c\
\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
-\x43\x20\x33\x31\x2e\x37\x33\x33\x39\x20\x2d\x33\x2e\x33\x31\x36\
-\x37\x35\x20\x35\x37\x2e\x32\x39\x34\x33\x20\x33\x2e\x35\x39\x37\
-\x39\x37\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\
-\x37\x38\x43\x20\x35\x38\x2e\x36\x37\x38\x38\x20\x33\x30\x2e\x38\
-\x30\x31\x39\x20\x35\x31\x2e\x31\x37\x38\x33\x20\x33\x37\x2e\x36\
-\x34\x34\x31\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\
-\x31\x31\x39\x43\x20\x32\x37\x2e\x34\x36\x34\x36\x20\x34\x39\x2e\
-\x30\x38\x31\x38\x20\x39\x2e\x32\x36\x34\x35\x31\x20\x34\x36\x2e\
-\x30\x39\x36\x34\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\
-\x32\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
+\x4c\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\x37\
+\x38\x4c\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\x31\
+\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
@@ -424,7 +802,484 @@ qt_resource_data = b"\
\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\
\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
\x67\x3e\
-\x00\x00\x04\x73\
+\x00\x00\x02\x97\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x53\
+\x61\x76\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
+\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\
+\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\
+\x6b\x22\x20\x78\x3d\x22\x35\x31\x32\x70\x78\x22\x20\x79\x3d\x22\
+\x35\x31\x32\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\
+\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\
+\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\
+\x3d\x22\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\
+\x32\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\
+\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\
+\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\
+\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\
+\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x31\x35\x2e\x31\x37\x33\x2c\
+\x32\x48\x34\x43\x32\x2e\x38\x39\x39\x2c\x32\x2c\x32\x2c\x32\x2e\
+\x39\x2c\x32\x2c\x34\x76\x31\x32\x63\x30\x2c\x31\x2e\x31\x2c\x30\
+\x2e\x38\x39\x39\x2c\x32\x2c\x32\x2c\x32\x68\x31\x32\x63\x31\x2e\
+\x31\x30\x31\x2c\x30\x2c\x32\x2d\x30\x2e\x39\x2c\x32\x2d\x32\x56\
+\x35\x2e\x31\x32\x37\x4c\x31\x35\x2e\x31\x37\x33\x2c\x32\x7a\x20\
+\x4d\x31\x34\x2c\x38\x63\x30\x2c\x30\x2e\x35\x34\x39\x2d\x30\x2e\
+\x34\x35\x2c\x31\x2d\x31\x2c\x31\x48\x37\x0a\x09\x43\x36\x2e\x34\
+\x35\x2c\x39\x2c\x36\x2c\x38\x2e\x35\x34\x39\x2c\x36\x2c\x38\x56\
+\x33\x68\x38\x56\x38\x7a\x20\x4d\x31\x33\x2c\x34\x68\x2d\x32\x76\
+\x34\x68\x32\x56\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\x54\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\x37\x36\x63\x2d\x34\x34\x2e\
+\x30\x30\x34\x2c\x30\x2d\x38\x30\x2e\x30\x30\x31\x2c\x33\x36\x2d\
+\x38\x30\x2e\x30\x30\x31\x2c\x38\x30\x63\x30\x2c\x34\x34\x2e\x30\
+\x30\x34\x2c\x33\x35\x2e\x39\x39\x37\x2c\x38\x30\x2c\x38\x30\x2e\
+\x30\x30\x31\x2c\x38\x30\x63\x34\x34\x2e\x30\x30\x35\x2c\x30\x2c\
+\x37\x39\x2e\x39\x39\x39\x2d\x33\x35\x2e\x39\x39\x36\x2c\x37\x39\
+\x2e\x39\x39\x39\x2d\x38\x30\x0a\x09\x09\x09\x43\x33\x33\x35\x2e\
+\x39\x39\x39\x2c\x32\x31\x32\x2c\x33\x30\x30\x2e\x30\x30\x35\x2c\
+\x31\x37\x36\x2c\x32\x35\x36\x2c\x31\x37\x36\x7a\x20\x4d\x34\x34\
+\x36\x2e\x39\x33\x38\x2c\x32\x33\x34\x2e\x36\x36\x37\x63\x2d\x39\
+\x2e\x36\x30\x35\x2d\x38\x38\x2e\x35\x33\x31\x2d\x38\x31\x2e\x30\
+\x37\x34\x2d\x31\x36\x30\x2d\x31\x36\x39\x2e\x36\x30\x35\x2d\x31\
+\x36\x39\x2e\x35\x39\x39\x56\x33\x32\x68\x2d\x34\x32\x2e\x36\x36\
+\x36\x76\x33\x33\x2e\x30\x36\x37\x0a\x09\x09\x09\x63\x2d\x38\x38\
+\x2e\x35\x33\x31\x2c\x39\x2e\x35\x39\x39\x2d\x31\x36\x30\x2c\x38\
+\x31\x2e\x30\x36\x38\x2d\x31\x36\x39\x2e\x36\x30\x34\x2c\x31\x36\
+\x39\x2e\x35\x39\x39\x48\x33\x32\x76\x34\x32\x2e\x36\x36\x37\x68\
+\x33\x33\x2e\x30\x36\x32\x63\x39\x2e\x36\x30\x34\x2c\x38\x38\x2e\
+\x35\x33\x31\x2c\x38\x31\x2e\x30\x37\x32\x2c\x31\x36\x30\x2c\x31\
+\x36\x39\x2e\x36\x30\x34\x2c\x31\x36\x39\x2e\x36\x30\x34\x56\x34\
+\x38\x30\x68\x34\x32\x2e\x36\x36\x36\x76\x2d\x33\x33\x2e\x30\x36\
+\x32\x0a\x09\x09\x09\x63\x38\x38\x2e\x35\x33\x31\x2d\x39\x2e\x36\
+\x30\x34\x2c\x31\x36\x30\x2d\x38\x31\x2e\x30\x37\x33\x2c\x31\x36\
+\x39\x2e\x36\x30\x35\x2d\x31\x36\x39\x2e\x36\x30\x34\x48\x34\x38\
+\x30\x76\x2d\x34\x32\x2e\x36\x36\x37\x48\x34\x34\x36\x2e\x39\x33\
+\x38\x7a\x20\x4d\x32\x35\x36\x2c\x34\x30\x35\x2e\x33\x33\x33\x63\
+\x2d\x38\x32\x2e\x31\x33\x37\x2c\x30\x2d\x31\x34\x39\x2e\x33\x33\
+\x34\x2d\x36\x37\x2e\x31\x39\x38\x2d\x31\x34\x39\x2e\x33\x33\x34\
+\x2d\x31\x34\x39\x2e\x33\x33\x33\x0a\x09\x09\x09\x63\x30\x2d\x38\
+\x32\x2e\x31\x33\x36\x2c\x36\x37\x2e\x31\x39\x37\x2d\x31\x34\x39\
+\x2e\x33\x33\x33\x2c\x31\x34\x39\x2e\x33\x33\x34\x2d\x31\x34\x39\
+\x2e\x33\x33\x33\x63\x38\x32\x2e\x31\x33\x35\x2c\x30\x2c\x31\x34\
+\x39\x2e\x33\x33\x32\x2c\x36\x37\x2e\x31\x39\x38\x2c\x31\x34\x39\
+\x2e\x33\x33\x32\x2c\x31\x34\x39\x2e\x33\x33\x33\x43\x34\x30\x35\
+\x2e\x33\x33\x32\x2c\x33\x33\x38\x2e\x31\x33\x35\x2c\x33\x33\x38\
+\x2e\x31\x33\x35\x2c\x34\x30\x35\x2e\x33\x33\x33\x2c\x32\x35\x36\
+\x2c\x34\x30\x35\x2e\x33\x33\x33\x7a\x0a\x09\x09\x09\x22\x2f\x3e\
+\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
+\x67\x3e\x0a\
+\x00\x00\x04\x17\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x69\x73\x6f\
+\x2d\x38\x38\x35\x39\x2d\x31\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\
+\x47\x65\x6e\x65\x72\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\
+\x20\x49\x6c\x6c\x75\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x39\x2e\
+\x30\x2e\x30\x2c\x20\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\
+\x50\x6c\x75\x67\x2d\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\
+\x72\x73\x69\x6f\x6e\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\
+\x64\x20\x30\x29\x20\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\
+\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\
+\x22\x4c\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\
+\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\
+\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\
+\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\
+\x79\x3d\x22\x30\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x22\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\x20\x34\
+\x32\x33\x2e\x37\x35\x34\x22\x20\x73\x74\x79\x6c\x65\x3d\x22\x65\
+\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\
+\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\
+\x20\x34\x32\x33\x2e\x37\x35\x34\x3b\x22\x20\x78\x6d\x6c\x3a\x73\
+\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\
+\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x33\x35\x34\x2e\x32\
+\x34\x2c\x34\x37\x2e\x34\x6c\x33\x39\x2e\x38\x37\x39\x2d\x33\x39\
+\x2e\x38\x37\x39\x48\x32\x37\x32\x2e\x31\x39\x36\x76\x31\x32\x31\
+\x2e\x39\x32\x34\x6c\x36\x30\x2e\x38\x30\x31\x2d\x36\x30\x2e\x38\
+\x30\x31\x63\x35\x36\x2c\x35\x30\x2e\x30\x36\x36\x2c\x37\x37\x2e\
+\x32\x35\x31\x2c\x31\x33\x32\x2e\x30\x30\x34\x2c\x34\x36\x2e\x39\
+\x31\x38\x2c\x32\x30\x35\x2e\x32\x33\x35\x0a\x09\x63\x2d\x31\x38\
+\x2e\x35\x38\x35\x2c\x34\x34\x2e\x38\x36\x39\x2d\x35\x33\x2e\x35\
+\x33\x31\x2c\x37\x39\x2e\x38\x31\x35\x2d\x39\x38\x2e\x34\x2c\x39\
+\x38\x2e\x34\x63\x2d\x34\x34\x2e\x38\x36\x36\x2c\x31\x38\x2e\x35\
+\x38\x35\x2d\x39\x34\x2e\x32\x38\x38\x2c\x31\x38\x2e\x35\x38\x35\
+\x2d\x31\x33\x39\x2e\x31\x35\x38\x2c\x30\x63\x2d\x34\x34\x2e\x38\
+\x36\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x37\x39\x2e\x38\x31\x35\
+\x2d\x35\x33\x2e\x35\x33\x31\x2d\x39\x38\x2e\x34\x2d\x39\x38\x2e\
+\x34\x0a\x09\x63\x2d\x31\x38\x2e\x35\x38\x35\x2d\x34\x34\x2e\x38\
+\x36\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x39\x34\x2e\x32\x39\x2c\
+\x30\x2d\x31\x33\x39\x2e\x31\x35\x39\x6c\x2d\x32\x37\x2e\x37\x31\
+\x37\x2d\x31\x31\x2e\x34\x38\x63\x2d\x32\x31\x2e\x36\x35\x31\x2c\
+\x35\x32\x2e\x32\x37\x32\x2d\x32\x31\x2e\x36\x35\x31\x2c\x31\x30\
+\x39\x2e\x38\x34\x38\x2c\x30\x2c\x31\x36\x32\x2e\x31\x32\x0a\x09\
+\x63\x32\x31\x2e\x36\x35\x32\x2c\x35\x32\x2e\x32\x37\x32\x2c\x36\
+\x32\x2e\x33\x36\x34\x2c\x39\x32\x2e\x39\x38\x34\x2c\x31\x31\x34\
+\x2e\x36\x33\x37\x2c\x31\x31\x34\x2e\x36\x33\x36\x63\x32\x36\x2e\
+\x31\x34\x2c\x31\x30\x2e\x38\x32\x37\x2c\x35\x33\x2e\x35\x39\x35\
+\x2c\x31\x36\x2e\x32\x34\x2c\x38\x31\x2e\x30\x36\x2c\x31\x36\x2e\
+\x32\x33\x39\x63\x32\x37\x2e\x34\x35\x39\x2d\x30\x2e\x30\x30\x31\
+\x2c\x35\x34\x2e\x39\x32\x37\x2d\x35\x2e\x34\x31\x34\x2c\x38\x31\
+\x2e\x30\x36\x31\x2d\x31\x36\x2e\x32\x33\x39\x0a\x09\x63\x35\x32\
+\x2e\x32\x37\x31\x2d\x32\x31\x2e\x36\x35\x32\x2c\x39\x32\x2e\x39\
+\x38\x33\x2d\x36\x32\x2e\x33\x36\x34\x2c\x31\x31\x34\x2e\x36\x33\
+\x36\x2d\x31\x31\x34\x2e\x36\x33\x36\x43\x34\x34\x32\x2e\x37\x33\
+\x39\x2c\x32\x30\x30\x2e\x36\x2c\x34\x31\x38\x2e\x35\x33\x32\x2c\
+\x31\x30\x35\x2e\x38\x32\x36\x2c\x33\x35\x34\x2e\x32\x34\x2c\x34\
+\x37\x2e\x34\x7a\x22\x2f\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\
+\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\
+\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\
+\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\
+\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\x5a\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
+\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
+\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
+\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
+\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
+\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
+\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
+\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
+\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
+\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
+\x27\x36\x33\x2e\x39\x39\x39\x36\x70\x74\x27\x20\x68\x65\x69\x67\
+\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x27\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x33\x2e\x39\x39\x39\x36\x20\x36\x34\x27\x3e\x0a\
+\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\x34\x30\x39\x34\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x27\x4d\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
+\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x36\x32\x2e\x32\x33\
+\x32\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x32\x2e\x30\x30\
+\x37\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x32\x2e\x30\x30\x37\
+\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
+\x35\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
+\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
+\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
+\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
+\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x34\x2e\x30\x31\x35\x27\
+\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\
+\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\
+\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\x35\x38\x29\
+\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\
+\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x27\x4d\x20\x34\x37\x2e\x31\
+\x37\x36\x32\x20\x33\x32\x2e\x31\x32\x43\x20\x34\x37\x2e\x31\x37\
+\x36\x32\x20\x32\x33\x2e\x38\x30\x34\x37\x20\x34\x30\x2e\x34\x33\
+\x35\x33\x20\x31\x37\x2e\x30\x36\x33\x37\x20\x33\x32\x2e\x31\x32\
+\x20\x31\x37\x2e\x30\x36\x33\x37\x43\x20\x32\x33\x2e\x38\x30\x34\
+\x37\x20\x31\x37\x2e\x30\x36\x33\x37\x20\x31\x37\x2e\x30\x36\x33\
+\x37\x20\x32\x33\x2e\x38\x30\x34\x37\x20\x31\x37\x2e\x30\x36\x33\
+\x37\x20\x33\x32\x2e\x31\x32\x43\x20\x31\x37\x2e\x30\x36\x33\x37\
+\x20\x34\x30\x2e\x34\x33\x35\x33\x20\x32\x33\x2e\x38\x30\x34\x37\
+\x20\x34\x37\x2e\x31\x37\x36\x32\x20\x33\x32\x2e\x31\x32\x20\x34\
+\x37\x2e\x31\x37\x36\x32\x43\x20\x34\x30\x2e\x34\x33\x35\x33\x20\
+\x34\x37\x2e\x31\x37\x36\x32\x20\x34\x37\x2e\x31\x37\x36\x32\x20\
+\x34\x30\x2e\x34\x33\x35\x33\x20\x34\x37\x2e\x31\x37\x36\x32\x20\
+\x33\x32\x2e\x31\x32\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x30\
+\x30\x30\x30\x30\x30\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x00\x00\x03\xb7\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4d\
+\x61\x67\x6e\x69\x66\x79\x69\x6e\x67\x5f\x67\x6c\x61\x73\x73\x22\
+\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\
+\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x78\
+\x3d\x22\x30\x70\x78\x22\x0a\x09\x20\x79\x3d\x22\x30\x70\x78\x22\
+\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\x20\x35\x31\
+\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\
+\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\x77\x20\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\x6d\x6c\x3a\x73\
+\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\
+\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\
+\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\x20\x30\x20\x32\x34\x20\
+\x30\x20\x30\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\
+\x4d\x31\x37\x2e\x35\x34\x35\x2c\x31\x35\x2e\x34\x36\x37\x6c\x2d\
+\x33\x2e\x37\x37\x39\x2d\x33\x2e\x37\x37\x39\x63\x30\x2e\x35\x37\
+\x2d\x30\x2e\x39\x33\x35\x2c\x30\x2e\x38\x39\x38\x2d\x32\x2e\x30\
+\x33\x35\x2c\x30\x2e\x38\x39\x38\x2d\x33\x2e\x32\x31\x63\x30\x2d\
+\x33\x2e\x34\x31\x37\x2d\x32\x2e\x39\x36\x31\x2d\x36\x2e\x33\x37\
+\x37\x2d\x36\x2e\x33\x37\x38\x2d\x36\x2e\x33\x37\x37\x0a\x09\x43\
+\x34\x2e\x38\x36\x39\x2c\x32\x2e\x31\x2c\x32\x2e\x31\x2c\x34\x2e\
+\x38\x37\x2c\x32\x2e\x31\x2c\x38\x2e\x32\x38\x37\x63\x30\x2c\x33\
+\x2e\x34\x31\x36\x2c\x32\x2e\x39\x36\x31\x2c\x36\x2e\x33\x37\x37\
+\x2c\x36\x2e\x33\x37\x37\x2c\x36\x2e\x33\x37\x37\x63\x31\x2e\x31\
+\x33\x37\x2c\x30\x2c\x32\x2e\x32\x2d\x30\x2e\x33\x30\x39\x2c\x33\
+\x2e\x31\x31\x35\x2d\x30\x2e\x38\x34\x34\x6c\x33\x2e\x37\x39\x39\
+\x2c\x33\x2e\x38\x30\x31\x0a\x09\x63\x30\x2e\x33\x37\x32\x2c\x30\
+\x2e\x33\x37\x31\x2c\x30\x2e\x39\x37\x35\x2c\x30\x2e\x33\x37\x31\
+\x2c\x31\x2e\x33\x34\x36\x2c\x30\x6c\x30\x2e\x39\x34\x33\x2d\x30\
+\x2e\x39\x34\x33\x43\x31\x38\x2e\x30\x35\x31\x2c\x31\x36\x2e\x33\
+\x30\x37\x2c\x31\x37\x2e\x39\x31\x36\x2c\x31\x35\x2e\x38\x33\x38\
+\x2c\x31\x37\x2e\x35\x34\x35\x2c\x31\x35\x2e\x34\x36\x37\x7a\x20\
+\x4d\x34\x2e\x30\x30\x34\x2c\x38\x2e\x32\x38\x37\x0a\x09\x63\x30\
+\x2d\x32\x2e\x33\x36\x36\x2c\x31\x2e\x39\x31\x37\x2d\x34\x2e\x32\
+\x38\x33\x2c\x34\x2e\x32\x38\x32\x2d\x34\x2e\x32\x38\x33\x63\x32\
+\x2e\x33\x36\x36\x2c\x30\x2c\x34\x2e\x34\x37\x34\x2c\x32\x2e\x31\
+\x30\x37\x2c\x34\x2e\x34\x37\x34\x2c\x34\x2e\x34\x37\x34\x63\x30\
+\x2c\x32\x2e\x33\x36\x35\x2d\x31\x2e\x39\x31\x38\x2c\x34\x2e\x32\
+\x38\x33\x2d\x34\x2e\x32\x38\x33\x2c\x34\x2e\x32\x38\x33\x0a\x09\
+\x43\x36\x2e\x31\x31\x31\x2c\x31\x32\x2e\x37\x36\x2c\x34\x2e\x30\
+\x30\x34\x2c\x31\x30\x2e\x36\x35\x32\x2c\x34\x2e\x30\x30\x34\x2c\
+\x38\x2e\x32\x38\x37\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\xd9\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
+\x68\x65\x76\x72\x6f\x6e\x5f\x63\x69\x72\x63\x6c\x65\x64\x5f\x72\
+\x69\x67\x68\x74\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\
+\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\
+\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\
+\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\
+\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\
+\x6e\x6b\x22\x0a\x09\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\
+\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\
+\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\
+\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\
+\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\
+\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\
+\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\x20\
+\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\x70\x61\x74\
+\x68\x20\x64\x3d\x22\x4d\x31\x31\x2c\x31\x30\x4c\x38\x2e\x36\x39\
+\x38\x2c\x37\x2e\x34\x39\x34\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\
+\x2e\x31\x39\x38\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x35\x31\x39\
+\x2c\x30\x2d\x30\x2e\x37\x31\x38\x63\x30\x2e\x31\x39\x36\x2d\x30\
+\x2e\x31\x39\x37\x2c\x30\x2e\x35\x31\x35\x2d\x30\x2e\x31\x39\x37\
+\x2c\x30\x2e\x37\x31\x2c\x30\x6c\x32\x2e\x38\x30\x37\x2c\x32\x2e\
+\x38\x36\x34\x0a\x09\x63\x30\x2e\x31\x39\x36\x2c\x30\x2e\x31\x39\
+\x39\x2c\x30\x2e\x31\x39\x36\x2c\x30\x2e\x35\x32\x2c\x30\x2c\x30\
+\x2e\x37\x31\x37\x6c\x2d\x32\x2e\x38\x30\x37\x2c\x32\x2e\x38\x36\
+\x34\x63\x2d\x30\x2e\x31\x39\x35\x2c\x30\x2e\x31\x39\x39\x2d\x30\
+\x2e\x35\x31\x34\x2c\x30\x2e\x31\x39\x38\x2d\x30\x2e\x37\x31\x2c\
+\x30\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x31\x39\x37\x2d\x30\
+\x2e\x31\x39\x36\x2d\x30\x2e\x35\x31\x38\x2c\x30\x2d\x30\x2e\x37\
+\x31\x37\x4c\x31\x31\x2c\x31\x30\x7a\x20\x4d\x31\x30\x2c\x30\x2e\
+\x34\x0a\x09\x63\x35\x2e\x33\x30\x32\x2c\x30\x2c\x39\x2e\x36\x2c\
+\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2c\x39\x2e\x36\x63\x30\x2c\
+\x35\x2e\x33\x30\x33\x2d\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2d\
+\x39\x2e\x36\x2c\x39\x2e\x36\x53\x30\x2e\x34\x2c\x31\x35\x2e\x33\
+\x30\x33\x2c\x30\x2e\x34\x2c\x31\x30\x43\x30\x2e\x34\x2c\x34\x2e\
+\x36\x39\x38\x2c\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x31\x30\
+\x2c\x30\x2e\x34\x7a\x20\x4d\x31\x30\x2c\x31\x38\x2e\x33\x35\x34\
+\x0a\x09\x63\x34\x2e\x36\x31\x33\x2c\x30\x2c\x38\x2e\x33\x35\x34\
+\x2d\x33\x2e\x37\x34\x2c\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\
+\x34\x63\x30\x2d\x34\x2e\x36\x31\x34\x2d\x33\x2e\x37\x34\x31\x2d\
+\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\
+\x34\x63\x2d\x34\x2e\x36\x31\x35\x2c\x30\x2d\x38\x2e\x33\x35\x34\
+\x2c\x33\x2e\x37\x34\x2d\x38\x2e\x33\x35\x34\x2c\x38\x2e\x33\x35\
+\x34\x0a\x09\x43\x31\x2e\x36\x34\x35\x2c\x31\x34\x2e\x36\x31\x34\
+\x2c\x35\x2e\x33\x38\x35\x2c\x31\x38\x2e\x33\x35\x34\x2c\x31\x30\
+\x2c\x31\x38\x2e\x33\x35\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\
+\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\x22\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
+\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
+\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
+\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
+\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
+\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
+\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
+\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
+\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
+\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
+\x27\x36\x34\x2e\x30\x30\x30\x31\x70\x74\x27\x20\x68\x65\x69\x67\
+\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x27\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x34\x2e\x30\x30\x30\x31\x20\x36\x34\x27\x3e\x0a\
+\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x4c\
+\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
+\x4c\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\x37\
+\x38\x4c\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\x31\
+\x31\x39\x4c\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\
+\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\x73\
+\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x27\
+\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\
+\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\
+\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\
+\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\x37\
+\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\
+\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\
+\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\
+\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\
+\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\x2e\
+\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\x27\
+\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\
+\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\
+\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\
+\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\
+\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\
+\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\x20\
+\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\x6c\
+\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\
+\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\
+\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\
+\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\
+\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\
+\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\
+\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\x27\
+\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\
+\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\
+\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
+\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\
+\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\
+\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\
+\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x34\
+\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\x37\
+\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\
+\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\
+\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\
+\x3e\
+\x00\x00\x02\x72\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x5f\x38\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\
+\x74\x68\x20\x64\x3d\x22\x4d\x38\x35\x2c\x32\x37\x37\x2e\x33\x37\
+\x35\x68\x32\x35\x39\x2e\x37\x30\x34\x4c\x32\x32\x35\x2e\x30\x30\
+\x32\x2c\x33\x39\x37\x2e\x30\x37\x37\x4c\x32\x35\x36\x2c\x34\x32\
+\x37\x6c\x31\x37\x31\x2d\x31\x37\x31\x4c\x32\x35\x36\x2c\x38\x35\
+\x6c\x2d\x32\x39\x2e\x39\x32\x32\x2c\x32\x39\x2e\x39\x32\x34\x6c\
+\x31\x31\x38\x2e\x36\x32\x36\x2c\x31\x31\x39\x2e\x37\x30\x31\x48\
+\x38\x35\x56\x32\x37\x37\x2e\x33\x37\x35\x7a\x22\x2f\x3e\x0a\x09\
+\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x0a\
+\x00\x00\x04\xa3\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
@@ -448,16 +1303,19 @@ qt_resource_data = b"\
\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x43\
-\x20\x36\x2e\x32\x32\x30\x37\x32\x20\x32\x34\x2e\x39\x36\x35\x35\
-\x20\x39\x2e\x30\x34\x39\x38\x39\x20\x31\x38\x2e\x31\x33\x35\x33\
+\x20\x34\x2e\x33\x35\x34\x33\x38\x20\x32\x34\x2e\x39\x32\x38\x37\
+\x20\x38\x2e\x34\x33\x32\x31\x37\x20\x31\x38\x2e\x30\x30\x31\x34\
\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
-\x43\x20\x32\x39\x2e\x35\x30\x36\x32\x20\x2d\x33\x2e\x34\x38\x36\
-\x38\x36\x20\x35\x35\x2e\x33\x36\x37\x33\x20\x32\x2e\x36\x39\x39\
-\x35\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\x37\
-\x38\x43\x20\x35\x39\x2e\x36\x39\x32\x32\x20\x33\x31\x2e\x35\x38\
-\x38\x31\x20\x35\x32\x2e\x36\x35\x30\x38\x20\x34\x30\x2e\x36\x37\
-\x37\x39\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\x31\
-\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
+\x43\x20\x33\x31\x2e\x37\x33\x33\x39\x20\x2d\x33\x2e\x33\x31\x36\
+\x37\x35\x20\x35\x37\x2e\x32\x39\x34\x33\x20\x33\x2e\x35\x39\x37\
+\x39\x37\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\
+\x37\x38\x43\x20\x35\x38\x2e\x36\x37\x38\x38\x20\x33\x30\x2e\x38\
+\x30\x31\x39\x20\x35\x31\x2e\x31\x37\x38\x33\x20\x33\x37\x2e\x36\
+\x34\x34\x31\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\
+\x31\x31\x39\x43\x20\x32\x37\x2e\x34\x36\x34\x36\x20\x34\x39\x2e\
+\x30\x38\x31\x38\x20\x39\x2e\x32\x36\x34\x35\x31\x20\x34\x36\x2e\
+\x30\x39\x36\x34\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\
+\x32\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
@@ -574,72 +1432,48 @@ qt_resource_data = b"\
\x2c\x39\x2e\x39\x30\x35\x2c\x31\x36\x2e\x36\x35\x33\x2c\x39\x2e\
\x39\x38\x36\x2c\x31\x36\x2e\x31\x36\x35\x7a\x22\x2f\x3e\x0a\x3c\
\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\xe8\
+\x00\x00\x01\xd8\
+\x00\
+\x00\x06\xc4\x78\x9c\xcd\x54\x4d\x6f\x9b\x40\x10\x3d\xe3\x5f\x31\
+\xdd\x5b\x25\xf6\x0b\x62\x62\x53\xe3\xa8\xfe\x90\x65\x29\x6d\x2d\
+\x35\x75\xd5\x53\x85\x61\x0b\x28\x14\x10\x2c\x60\xe7\xd7\x77\x77\
+\xed\x54\xa9\x14\x5f\x43\x0f\x3b\xab\x9d\x79\xf3\xe6\x0d\x4f\x62\
+\x76\x77\xfc\x9d\x43\x27\xea\x26\x2b\x8b\x00\x71\xc2\x10\x88\x22\
+\x2a\xe3\xac\x48\x02\xd4\xca\x5f\x78\x82\xee\xe6\xa3\xd9\x3b\x8c\
+\x61\x23\x0a\x51\x87\xb2\xac\x7d\xf8\x18\x97\x07\x01\xdb\x3c\x6f\
+\x1b\x69\x52\xc0\x3d\xe2\x10\x6e\xc3\xd7\xfd\x06\xd6\xc7\xaa\xac\
+\x25\xec\xf2\x36\xc1\xdb\x02\x88\x49\xee\xcf\x33\x7c\xf0\x08\x63\
+\xb0\x68\xb3\x3c\x06\xf6\x1e\x00\x63\x4d\xbf\xfa\xb2\x7c\xf8\xb1\
+\x5b\x43\xd3\x25\xb0\xfb\xb6\xb8\xdf\x2e\x01\x61\x4a\xbf\xbb\x4b\
+\x4a\x57\x0f\x2b\xc3\xc0\x09\xa7\x74\xfd\x19\x01\x4a\xa5\xac\x7c\
+\x4a\xfb\xbe\x27\xbd\x4b\xca\x3a\xa1\x9b\x3a\xac\xd2\x2c\x6a\xa8\
+\x02\x52\x0d\x54\x4d\x54\x91\x71\x4e\x62\x19\x23\x35\x42\x33\xbf\
+\xd8\x93\x23\xc8\xe2\x00\xdd\x87\x27\x51\xff\x54\x0f\xf5\x19\x8a\
+\x26\x78\x85\xd9\x61\x8c\x69\xa6\x0b\xc4\x3f\xe6\x59\xf1\xf8\x1a\
+\x90\x4f\xa7\x53\x6a\xaa\x0a\x1a\x20\x56\x1d\x11\x9c\xce\xf7\xc8\
+\x82\x3e\x8b\x65\x1a\xa0\x31\x77\x74\x3e\x15\x59\x92\xca\xbf\xcf\
+\x2e\x13\xfd\xa2\xd4\x4d\xc0\x40\xe5\xf4\x41\xd0\xc8\x53\x2e\x02\
+\x24\x8a\xf0\x90\x0b\x7c\x08\xa3\xc7\xa4\x2e\xdb\x22\xf6\x0b\xd1\
+\xc3\x0b\xe4\x07\x23\xcd\x6f\xaa\x30\x52\xf0\xaa\x16\x8d\xa8\x3b\
+\xa1\x77\x4e\xe6\x23\xcb\x04\x6b\x56\x85\x32\x05\xb5\xf0\x27\xee\
+\x31\x9b\x8f\x5d\xe2\x46\xcc\x76\xc9\x2d\x76\x6d\x4f\x45\x75\xf4\
+\x9d\xe2\x31\x23\xe3\x08\xab\x82\xcd\x74\x12\xbb\xf8\x52\xee\xce\
+\x25\x66\x6a\xee\x73\x83\xbe\x53\x53\x30\x2d\x3a\x65\x1b\x46\x7d\
+\xf6\x66\xce\x93\x5a\xdf\xb2\xe8\xbf\x2a\x9c\xc9\xe4\x3f\x50\x71\
+\xc3\xbd\xa1\x54\xcc\xe8\x35\x73\x9c\x09\x7f\x13\x41\x66\xce\x55\
+\x73\x86\x57\xa1\xcd\x19\x48\xc5\x75\x73\x6e\xd8\xf4\x4d\x04\x99\
+\x39\x57\xcd\x19\x5e\x85\x36\x67\x20\x15\xc6\x9c\x4b\x50\xff\xe5\
+\xf9\xe8\x0f\x44\x1a\x94\x79\
+\x00\x00\x00\x6c\
\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
-\x68\x65\x76\x72\x6f\x6e\x5f\x63\x69\x72\x63\x6c\x65\x64\x5f\x6c\
-\x65\x66\x74\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\
-\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
-\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\
-\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\
-\x6b\x22\x0a\x09\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\x22\
-\x30\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
-\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
-\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
-\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\
-\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\x20\x30\
-\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\
-\x20\x64\x3d\x22\x4d\x31\x31\x2e\x33\x30\x32\x2c\x36\x2e\x37\x37\
-\x36\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x31\x39\x37\x2d\x30\
-\x2e\x35\x31\x35\x2d\x30\x2e\x31\x39\x37\x2d\x30\x2e\x37\x31\x2c\
-\x30\x4c\x37\x2e\x37\x38\x35\x2c\x39\x2e\x36\x34\x31\x63\x2d\x30\
-\x2e\x31\x39\x36\x2c\x30\x2e\x31\x39\x39\x2d\x30\x2e\x31\x39\x36\
-\x2c\x30\x2e\x35\x32\x2c\x30\x2c\x30\x2e\x37\x31\x37\x6c\x32\x2e\
-\x38\x30\x37\x2c\x32\x2e\x38\x36\x34\x0a\x09\x63\x30\x2e\x31\x39\
-\x35\x2c\x30\x2e\x31\x39\x39\x2c\x30\x2e\x35\x31\x34\x2c\x30\x2e\
-\x31\x39\x38\x2c\x30\x2e\x37\x31\x2c\x30\x63\x30\x2e\x31\x39\x36\
-\x2d\x30\x2e\x31\x39\x37\x2c\x30\x2e\x31\x39\x36\x2d\x30\x2e\x35\
-\x31\x38\x2c\x30\x2d\x30\x2e\x37\x31\x37\x4c\x39\x2c\x31\x30\x6c\
-\x32\x2e\x33\x30\x32\x2d\x32\x2e\x35\x30\x36\x43\x31\x31\x2e\x34\
-\x39\x38\x2c\x37\x2e\x32\x39\x36\x2c\x31\x31\x2e\x34\x39\x38\x2c\
-\x36\x2e\x39\x37\x36\x2c\x31\x31\x2e\x33\x30\x32\x2c\x36\x2e\x37\
-\x37\x36\x7a\x0a\x09\x20\x4d\x31\x30\x2c\x30\x2e\x34\x63\x2d\x35\
-\x2e\x33\x30\x32\x2c\x30\x2d\x39\x2e\x36\x2c\x34\x2e\x32\x39\x38\
-\x2d\x39\x2e\x36\x2c\x39\x2e\x36\x63\x30\x2c\x35\x2e\x33\x30\x33\
-\x2c\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2c\x39\x2e\x36\x2c\x39\
-\x2e\x36\x73\x39\x2e\x36\x2d\x34\x2e\x32\x39\x37\x2c\x39\x2e\x36\
-\x2d\x39\x2e\x36\x43\x31\x39\x2e\x36\x2c\x34\x2e\x36\x39\x38\x2c\
-\x31\x35\x2e\x33\x30\x32\x2c\x30\x2e\x34\x2c\x31\x30\x2c\x30\x2e\
-\x34\x7a\x20\x4d\x31\x30\x2c\x31\x38\x2e\x33\x35\x34\x0a\x09\x63\
-\x2d\x34\x2e\x36\x31\x35\x2c\x30\x2d\x38\x2e\x33\x35\x34\x2d\x33\
-\x2e\x37\x34\x2d\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x63\
-\x30\x2d\x34\x2e\x36\x31\x34\x2c\x33\x2e\x37\x33\x39\x2d\x38\x2e\
-\x33\x35\x34\x2c\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x63\
-\x34\x2e\x36\x31\x33\x2c\x30\x2c\x38\x2e\x33\x35\x34\x2c\x33\x2e\
-\x37\x34\x2c\x38\x2e\x33\x35\x34\x2c\x38\x2e\x33\x35\x34\x0a\x09\
-\x43\x31\x38\x2e\x33\x35\x34\x2c\x31\x34\x2e\x36\x31\x34\x2c\x31\
-\x34\x2e\x36\x31\x33\x2c\x31\x38\x2e\x33\x35\x34\x2c\x31\x30\x2c\
-\x31\x38\x2e\x33\x35\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\
-\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\x5f\
+\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\
+\x30\x20\x30\x20\x32\x30\x20\x32\x30\x22\x3e\x3c\x70\x61\x74\x68\
+\x20\x64\x3d\x22\x4d\x31\x38\x20\x31\x32\x76\x31\x48\x38\x76\x35\
+\x6c\x2d\x36\x2d\x36\x20\x36\x2d\x36\x76\x35\x68\x38\x56\x32\x68\
+\x32\x7a\x22\x2f\x3e\x3c\x2f\x73\x76\x67\x3e\
+\x00\x00\x02\x77\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -666,115 +1500,22 @@ qt_resource_data = b"\
\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
-\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
-\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
-\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x0a\x09\x09\x3c\x72\x65\
-\x63\x74\x20\x78\x3d\x22\x31\x37\x38\x2e\x38\x34\x36\x22\x20\x79\
-\x3d\x22\x39\x32\x2e\x30\x38\x37\x22\x20\x74\x72\x61\x6e\x73\x66\
-\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x2d\x30\x2e\x37\
-\x30\x37\x31\x20\x2d\x30\x2e\x37\x30\x37\x31\x20\x30\x2e\x37\x30\
-\x37\x31\x20\x2d\x30\x2e\x37\x30\x37\x31\x20\x32\x32\x34\x2e\x33\
-\x34\x37\x36\x20\x36\x33\x31\x2e\x31\x34\x39\x38\x29\x22\x20\x77\
-\x69\x64\x74\x68\x3d\x22\x31\x32\x38\x2e\x30\x38\x35\x22\x20\x68\
-\x65\x69\x67\x68\x74\x3d\x22\x33\x35\x34\x2e\x30\x34\x39\x22\x2f\
-\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x37\x31\
-\x2e\x37\x32\x33\x2c\x38\x38\x2e\x33\x39\x33\x6c\x2d\x34\x38\x2e\
-\x31\x31\x35\x2d\x34\x38\x2e\x31\x31\x34\x63\x2d\x31\x31\x2e\x37\
-\x32\x33\x2d\x31\x31\x2e\x37\x32\x34\x2d\x33\x31\x2e\x35\x35\x38\
-\x2d\x31\x30\x2e\x38\x39\x36\x2d\x34\x34\x2e\x33\x30\x34\x2c\x31\
-\x2e\x38\x35\x6c\x2d\x34\x35\x2e\x32\x30\x32\x2c\x34\x35\x2e\x32\
-\x30\x33\x6c\x39\x30\x2e\x35\x36\x39\x2c\x39\x30\x2e\x35\x36\x38\
-\x6c\x34\x35\x2e\x32\x30\x32\x2d\x34\x35\x2e\x32\x30\x32\x0a\x09\
-\x09\x43\x34\x38\x32\x2e\x36\x31\x36\x2c\x31\x31\x39\x2e\x39\x35\
-\x32\x2c\x34\x38\x33\x2e\x34\x34\x35\x2c\x31\x30\x30\x2e\x31\x31\
-\x36\x2c\x34\x37\x31\x2e\x37\x32\x33\x2c\x38\x38\x2e\x33\x39\x33\
-\x7a\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\x6c\x79\x67\x6f\x6e\x20\x70\
-\x6f\x69\x6e\x74\x73\x3d\x22\x36\x34\x2e\x30\x32\x31\x2c\x33\x36\
-\x33\x2e\x32\x35\x32\x20\x33\x32\x2c\x34\x38\x30\x20\x31\x34\x38\
-\x2e\x37\x33\x37\x2c\x34\x34\x37\x2e\x39\x37\x39\x20\x09\x22\x2f\
-\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x04\xca\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x39\x2e\x32\x2e\x31\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x0a\x09\x20\x69\x64\x3d\
-\x22\x73\x76\x67\x34\x36\x31\x39\x22\x20\x69\x6e\x6b\x73\x63\x61\
-\x70\x65\x3a\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x30\x2e\x39\x31\
-\x2b\x64\x65\x76\x65\x6c\x2b\x6f\x73\x78\x6d\x65\x6e\x75\x20\x72\
-\x31\x32\x39\x31\x31\x22\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\
-\x64\x6f\x63\x6e\x61\x6d\x65\x3d\x22\x74\x72\x69\x61\x6e\x67\x6c\
-\x65\x2d\x73\x74\x72\x6f\x6b\x65\x64\x2d\x31\x35\x2e\x73\x76\x67\
-\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x63\x63\x3d\x22\x68\x74\x74\x70\
-\x3a\x2f\x2f\x63\x72\x65\x61\x74\x69\x76\x65\x63\x6f\x6d\x6d\x6f\
-\x6e\x73\x2e\x6f\x72\x67\x2f\x6e\x73\x23\x22\x20\x78\x6d\x6c\x6e\
-\x73\x3a\x64\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\
-\x6c\x2e\x6f\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\
-\x73\x2f\x31\x2e\x31\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x69\x6e\
-\x6b\x73\x63\x61\x70\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
-\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\
-\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x73\x2f\x69\x6e\x6b\x73\x63\
-\x61\x70\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\
-\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\
-\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\
-\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\x73\x23\x22\x20\x78\x6d\x6c\
-\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\x68\x74\x74\
-\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\x73\x6f\x75\
-\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\x44\x54\x44\
-\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\x74\x64\x22\
-\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\
-\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
-\x30\x30\x2f\x73\x76\x67\x22\x0a\x09\x20\x78\x6d\x6c\x6e\x73\x3d\
-\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
-\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\
-\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\
-\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\
-\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\
-\x79\x3d\x22\x30\x70\x78\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x36\
-\x34\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x36\x34\x70\
-\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x31\x35\x20\x31\x35\x22\x20\x73\x74\x79\x6c\x65\x3d\x22\
-\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\
-\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x31\x35\x20\x31\x35\x3b\
-\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\
-\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\x68\x20\x69\x64\
-\x3d\x22\x72\x65\x63\x74\x33\x33\x33\x38\x22\x20\x69\x6e\x6b\x73\
-\x63\x61\x70\x65\x3a\x63\x6f\x6e\x6e\x65\x63\x74\x6f\x72\x2d\x63\
-\x75\x72\x76\x61\x74\x75\x72\x65\x3d\x22\x30\x22\x20\x73\x6f\x64\
-\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\
-\x22\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\x22\x20\x64\
-\x3d\x22\x4d\x37\x2e\x35\x32\x34\x33\x2c\x31\x2e\x35\x30\x30\x34\
-\x0a\x09\x43\x37\x2e\x32\x34\x32\x39\x2c\x31\x2e\x34\x39\x31\x33\
-\x2c\x36\x2e\x39\x37\x38\x37\x2c\x31\x2e\x36\x34\x32\x33\x2c\x36\
-\x2e\x38\x33\x33\x36\x2c\x31\x2e\x38\x39\x35\x32\x6c\x2d\x35\x2e\
-\x35\x2c\x39\x2e\x38\x36\x39\x32\x43\x31\x2e\x30\x32\x31\x38\x2c\
-\x31\x32\x2e\x33\x30\x37\x38\x2c\x31\x2e\x33\x39\x35\x2c\x31\x32\
-\x2e\x39\x39\x39\x39\x2c\x32\x2c\x31\x33\x68\x31\x31\x0a\x09\x63\
-\x30\x2e\x36\x30\x35\x2d\x30\x2e\x30\x30\x30\x31\x2c\x30\x2e\x39\
-\x37\x38\x32\x2d\x30\x2e\x36\x39\x32\x32\x2c\x30\x2e\x36\x36\x36\
-\x34\x2d\x31\x2e\x32\x33\x35\x35\x6c\x2d\x35\x2e\x35\x2d\x39\x2e\
-\x38\x36\x39\x32\x43\x38\x2e\x30\x33\x30\x32\x2c\x31\x2e\x36\x35\
-\x37\x39\x2c\x37\x2e\x37\x38\x38\x34\x2c\x31\x2e\x35\x30\x39\x32\
-\x2c\x37\x2e\x35\x32\x34\x33\x2c\x31\x2e\x35\x30\x30\x34\x7a\x20\
-\x4d\x37\x2e\x35\x2c\x33\x2e\x38\x39\x39\x33\x6c\x34\x2e\x31\x32\
-\x36\x37\x2c\x37\x2e\x34\x37\x30\x34\x0a\x09\x48\x33\x2e\x33\x37\
-\x33\x33\x4c\x37\x2e\x35\x2c\x33\x2e\x38\x39\x39\x33\x7a\x22\x2f\
-\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x04\x22\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
+\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
+\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x6f\x6c\
+\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x32\x38\x38\
+\x2c\x39\x36\x20\x33\x33\x37\x2e\x39\x2c\x31\x34\x35\x2e\x39\x20\
+\x32\x37\x34\x2c\x32\x30\x39\x2e\x37\x20\x32\x37\x34\x2c\x32\x30\
+\x39\x2e\x37\x20\x31\x34\x35\x2e\x39\x2c\x33\x33\x37\x2e\x39\x20\
+\x39\x36\x2c\x32\x38\x38\x20\x39\x36\x2c\x34\x31\x36\x20\x32\x32\
+\x34\x2c\x34\x31\x36\x20\x31\x37\x34\x2e\x31\x2c\x33\x36\x36\x2e\
+\x31\x20\x33\x35\x37\x2e\x34\x2c\x31\x38\x32\x2e\x39\x20\x33\x36\
+\x36\x2e\x31\x2c\x31\x37\x34\x2e\x31\x20\x0a\x09\x34\x31\x36\x2c\
+\x32\x32\x34\x20\x34\x31\x36\x2c\x39\x36\x20\x22\x2f\x3e\x0a\x3c\
+\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\x73\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
@@ -797,198 +1538,58 @@ qt_resource_data = b"\
\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
-\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x4c\
+\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x43\
+\x20\x36\x2e\x32\x32\x30\x37\x32\x20\x32\x34\x2e\x39\x36\x35\x35\
+\x20\x39\x2e\x30\x34\x39\x38\x39\x20\x31\x38\x2e\x31\x33\x35\x33\
\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
-\x4c\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\x37\
-\x38\x4c\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\x31\
-\x31\x39\x4c\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\
-\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\x73\
-\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\x20\
-\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x27\
-\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
-\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\
-\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\
-\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\
-\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\x37\
-\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\
-\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\
-\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\
-\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\
-\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\x2e\
-\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\x27\
-\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\
-\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\
-\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\
-\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\
-\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\
-\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\
-\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\x20\
-\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\x6c\
-\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\
-\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\
-\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\
-\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\
-\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\
-\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\
-\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\x27\
-\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\
-\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\
-\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
+\x43\x20\x32\x39\x2e\x35\x30\x36\x32\x20\x2d\x33\x2e\x34\x38\x36\
+\x38\x36\x20\x35\x35\x2e\x33\x36\x37\x33\x20\x32\x2e\x36\x39\x39\
+\x35\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\x37\
+\x38\x43\x20\x35\x39\x2e\x36\x39\x32\x32\x20\x33\x31\x2e\x35\x38\
+\x38\x31\x20\x35\x32\x2e\x36\x35\x30\x38\x20\x34\x30\x2e\x36\x37\
+\x37\x39\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\x31\
+\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
+\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
+\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
+\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
+\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\
+\x37\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\
\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\
\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\
-\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x34\
-\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\x37\
-\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\
-\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\
-\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\
-\x3e\
-\x00\x00\x02\xe7\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
-\x69\x72\x63\x6c\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\
-\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\
-\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\
-\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\
-\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\
-\x69\x6e\x6b\x22\x20\x78\x3d\x22\x35\x31\x32\x70\x78\x22\x20\x79\
-\x3d\x22\x35\x31\x32\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\
-\x6f\x78\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\
-\x20\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\
-\x6e\x64\x3d\x22\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
-\x35\x31\x32\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\
-\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\
-\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\
-\x32\x34\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\
-\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x31\x30\x2c\x30\x2e\
-\x34\x43\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x30\x2e\x34\x2c\
-\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x31\x30\x43\x30\x2e\x34\
-\x2c\x31\x35\x2e\x33\x30\x32\x2c\x34\x2e\x36\x39\x38\x2c\x31\x39\
-\x2e\x36\x2c\x31\x30\x2c\x31\x39\x2e\x36\x63\x35\x2e\x33\x30\x31\
-\x2c\x30\x2c\x39\x2e\x36\x2d\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\
-\x2d\x39\x2e\x36\x30\x31\x0a\x09\x43\x31\x39\x2e\x36\x2c\x34\x2e\
-\x36\x39\x38\x2c\x31\x35\x2e\x33\x30\x31\x2c\x30\x2e\x34\x2c\x31\
-\x30\x2c\x30\x2e\x34\x7a\x20\x4d\x31\x30\x2c\x31\x37\x2e\x35\x39\
-\x39\x63\x2d\x34\x2e\x31\x39\x37\x2c\x30\x2d\x37\x2e\x36\x2d\x33\
-\x2e\x34\x30\x32\x2d\x37\x2e\x36\x2d\x37\x2e\x36\x53\x35\x2e\x38\
-\x30\x32\x2c\x32\x2e\x34\x2c\x31\x30\x2c\x32\x2e\x34\x63\x34\x2e\
-\x31\x39\x37\x2c\x30\x2c\x37\x2e\x36\x30\x31\x2c\x33\x2e\x34\x30\
-\x32\x2c\x37\x2e\x36\x30\x31\x2c\x37\x2e\x36\x0a\x09\x53\x31\x34\
-\x2e\x31\x39\x37\x2c\x31\x37\x2e\x35\x39\x39\x2c\x31\x30\x2c\x31\
-\x37\x2e\x35\x39\x39\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
-\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x01\x69\
-\x3c\
-\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
-\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
-\x30\x2f\x73\x76\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x35\x31\
-\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\x32\
-\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\
-\x20\x35\x31\x32\x20\x35\x31\x32\x22\x3e\x3c\x67\x20\x74\x72\x61\
-\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\
-\x34\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x3c\
-\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x2e\x33\x34\x20\x31\x35\
-\x2e\x36\x36\x41\x37\x2e\x39\x37\x20\x37\x2e\x39\x37\x20\x30\x20\
-\x30\x20\x30\x20\x39\x20\x31\x37\x2e\x39\x34\x56\x31\x30\x48\x35\
-\x56\x38\x68\x34\x56\x35\x2e\x38\x33\x61\x33\x20\x33\x20\x30\x20\
-\x31\x20\x31\x20\x32\x20\x30\x56\x38\x68\x34\x76\x32\x68\x2d\x34\
-\x76\x37\x2e\x39\x34\x61\x37\x2e\x39\x37\x20\x37\x2e\x39\x37\x20\
-\x30\x20\x30\x20\x30\x20\x34\x2e\x36\x36\x2d\x32\x2e\x32\x38\x6c\
-\x2d\x31\x2e\x34\x32\x2d\x31\x2e\x34\x32\x68\x35\x2e\x36\x36\x6c\
-\x2d\x32\x2e\x38\x33\x20\x32\x2e\x38\x33\x61\x31\x30\x20\x31\x30\
-\x20\x30\x20\x30\x20\x31\x2d\x31\x34\x2e\x31\x34\x20\x30\x4c\x2e\
-\x31\x20\x31\x34\x2e\x32\x34\x68\x35\x2e\x36\x36\x6c\x2d\x31\x2e\
-\x34\x32\x20\x31\x2e\x34\x32\x7a\x4d\x31\x30\x20\x34\x61\x31\x20\
-\x31\x20\x30\x20\x31\x20\x30\x20\x30\x2d\x32\x20\x31\x20\x31\x20\
-\x30\x20\x30\x20\x30\x20\x30\x20\x32\x7a\x22\x2f\x3e\x3c\x2f\x67\
-\x3e\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x04\x42\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x69\x73\x6f\
-\x2d\x38\x38\x35\x39\x2d\x31\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\
-\x47\x65\x6e\x65\x72\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\
-\x20\x49\x6c\x6c\x75\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x39\x2e\
-\x30\x2e\x30\x2c\x20\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\
-\x50\x6c\x75\x67\x2d\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\
-\x72\x73\x69\x6f\x6e\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\
-\x64\x20\x30\x29\x20\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\
-\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\
-\x22\x4c\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\
-\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
-\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\
-\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\
-\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\
-\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\
-\x79\x3d\x22\x30\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\
-\x78\x3d\x22\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\x20\x34\
-\x32\x33\x2e\x37\x35\x34\x22\x20\x73\x74\x79\x6c\x65\x3d\x22\x65\
-\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\
-\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\
-\x20\x34\x32\x33\x2e\x37\x35\x34\x3b\x22\x20\x78\x6d\x6c\x3a\x73\
-\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\
-\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x30\x37\x2e\x35\
-\x31\x36\x2c\x31\x32\x33\x2e\x32\x33\x39\x6c\x2d\x32\x37\x2e\x37\
-\x31\x37\x2c\x31\x31\x2e\x34\x38\x63\x31\x38\x2e\x35\x38\x35\x2c\
-\x34\x34\x2e\x38\x36\x39\x2c\x31\x38\x2e\x35\x38\x35\x2c\x39\x34\
-\x2e\x32\x39\x31\x2c\x30\x2c\x31\x33\x39\x2e\x31\x35\x39\x63\x2d\
-\x31\x38\x2e\x35\x38\x35\x2c\x34\x34\x2e\x38\x36\x39\x2d\x35\x33\
-\x2e\x35\x33\x31\x2c\x37\x39\x2e\x38\x31\x35\x2d\x39\x38\x2e\x34\
-\x2c\x39\x38\x2e\x34\x0a\x09\x63\x2d\x32\x32\x2e\x34\x33\x38\x2c\
-\x39\x2e\x32\x39\x33\x2d\x34\x36\x2e\x30\x30\x34\x2c\x31\x33\x2e\
-\x39\x34\x2d\x36\x39\x2e\x35\x37\x39\x2c\x31\x33\x2e\x39\x33\x39\
-\x63\x2d\x32\x33\x2e\x35\x36\x39\x2d\x30\x2e\x30\x30\x31\x2d\x34\
-\x37\x2e\x31\x34\x37\x2d\x34\x2e\x36\x34\x37\x2d\x36\x39\x2e\x35\
-\x37\x39\x2d\x31\x33\x2e\x39\x33\x39\x63\x2d\x34\x34\x2e\x38\x36\
-\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x37\x39\x2e\x38\x31\x35\x2d\
-\x35\x33\x2e\x35\x33\x31\x2d\x39\x38\x2e\x34\x2d\x39\x38\x2e\x34\
-\x0a\x09\x43\x31\x33\x2e\x35\x30\x37\x2c\x32\x30\x30\x2e\x36\x34\
-\x37\x2c\x33\x34\x2e\x37\x35\x38\x2c\x31\x31\x38\x2e\x37\x31\x2c\
-\x39\x30\x2e\x37\x35\x38\x2c\x36\x38\x2e\x36\x34\x34\x6c\x36\x30\
-\x2e\x38\x30\x31\x2c\x36\x30\x2e\x38\x30\x31\x56\x37\x2e\x35\x32\
-\x31\x48\x32\x39\x2e\x36\x33\x35\x4c\x36\x39\x2e\x35\x31\x34\x2c\
-\x34\x37\x2e\x34\x43\x35\x2e\x32\x32\x32\x2c\x31\x30\x35\x2e\x38\
-\x32\x36\x2d\x31\x38\x2e\x39\x38\x35\x2c\x32\x30\x30\x2e\x36\x2c\
-\x31\x36\x2e\x31\x32\x33\x2c\x32\x38\x35\x2e\x33\x35\x39\x0a\x09\
-\x63\x32\x31\x2e\x36\x35\x32\x2c\x35\x32\x2e\x32\x37\x32\x2c\x36\
-\x32\x2e\x33\x36\x34\x2c\x39\x32\x2e\x39\x38\x34\x2c\x31\x31\x34\
-\x2e\x36\x33\x36\x2c\x31\x31\x34\x2e\x36\x33\x36\x63\x32\x36\x2e\
-\x31\x33\x37\x2c\x31\x30\x2e\x38\x32\x36\x2c\x35\x33\x2e\x35\x39\
-\x39\x2c\x31\x36\x2e\x32\x33\x39\x2c\x38\x31\x2e\x30\x36\x31\x2c\
-\x31\x36\x2e\x32\x33\x39\x73\x35\x34\x2e\x39\x32\x34\x2d\x35\x2e\
-\x34\x31\x33\x2c\x38\x31\x2e\x30\x36\x2d\x31\x36\x2e\x32\x33\x39\
-\x0a\x09\x63\x35\x32\x2e\x32\x37\x32\x2d\x32\x31\x2e\x36\x35\x32\
-\x2c\x39\x32\x2e\x39\x38\x34\x2d\x36\x32\x2e\x33\x36\x34\x2c\x31\
-\x31\x34\x2e\x36\x33\x37\x2d\x31\x31\x34\x2e\x36\x33\x36\x43\x34\
-\x32\x39\x2e\x31\x36\x37\x2c\x32\x33\x33\x2e\x30\x38\x37\x2c\x34\
-\x32\x39\x2e\x31\x36\x37\x2c\x31\x37\x35\x2e\x35\x31\x31\x2c\x34\
-\x30\x37\x2e\x35\x31\x36\x2c\x31\x32\x33\x2e\x32\x33\x39\x7a\x22\
-\x2f\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\
-\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\
-\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\
-\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\
-\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\
-\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\
-\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
-\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\
-\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
-\x0a\
-\x00\x00\x02\x72\
+\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\
+\x2e\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\
+\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\
+\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\
+\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\
+\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\
+\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\
+\x63\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\
+\x20\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\
+\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\
+\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\
+\x63\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\
+\x27\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\
+\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\
+\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\
+\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\
+\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\
+\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\
+\x34\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\
+\x37\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\
+\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
+\x67\x3e\
+\x00\x00\x03\x48\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -1019,17 +1620,30 @@ qt_resource_data = b"\
\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
-\x5f\x38\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\
-\x74\x68\x20\x64\x3d\x22\x4d\x38\x35\x2c\x32\x37\x37\x2e\x33\x37\
-\x35\x68\x32\x35\x39\x2e\x37\x30\x34\x4c\x32\x32\x35\x2e\x30\x30\
-\x32\x2c\x33\x39\x37\x2e\x30\x37\x37\x4c\x32\x35\x36\x2c\x34\x32\
-\x37\x6c\x31\x37\x31\x2d\x31\x37\x31\x4c\x32\x35\x36\x2c\x38\x35\
-\x6c\x2d\x32\x39\x2e\x39\x32\x32\x2c\x32\x39\x2e\x39\x32\x34\x6c\
-\x31\x31\x38\x2e\x36\x32\x36\x2c\x31\x31\x39\x2e\x37\x30\x31\x48\
-\x38\x35\x56\x32\x37\x37\x2e\x33\x37\x35\x7a\x22\x2f\x3e\x0a\x09\
-\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
-\x0a\
+\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\
+\x33\x37\x2e\x33\x33\x34\x2c\x31\x34\x34\x48\x32\x35\x36\x2e\x30\
+\x30\x36\x6c\x2d\x34\x32\x2e\x36\x36\x38\x2d\x34\x38\x48\x37\x34\
+\x2e\x36\x36\x36\x43\x35\x31\x2e\x31\x39\x37\x2c\x39\x36\x2c\x33\
+\x32\x2c\x31\x31\x35\x2e\x31\x39\x38\x2c\x33\x32\x2c\x31\x33\x38\
+\x2e\x36\x36\x37\x76\x32\x33\x34\x2e\x36\x36\x36\x43\x33\x32\x2c\
+\x33\x39\x36\x2e\x38\x30\x32\x2c\x35\x31\x2e\x31\x39\x37\x2c\x34\
+\x31\x36\x2c\x37\x34\x2e\x36\x36\x36\x2c\x34\x31\x36\x68\x33\x36\
+\x32\x2e\x36\x36\x38\x0a\x09\x43\x34\x36\x30\x2e\x38\x30\x33\x2c\
+\x34\x31\x36\x2c\x34\x38\x30\x2c\x33\x39\x36\x2e\x38\x30\x32\x2c\
+\x34\x38\x30\x2c\x33\x37\x33\x2e\x33\x33\x33\x56\x31\x38\x36\x2e\
+\x36\x36\x37\x43\x34\x38\x30\x2c\x31\x36\x33\x2e\x31\x39\x38\x2c\
+\x34\x36\x30\x2e\x38\x30\x33\x2c\x31\x34\x34\x2c\x34\x33\x37\x2e\
+\x33\x33\x34\x2c\x31\x34\x34\x7a\x20\x4d\x34\x34\x38\x2c\x33\x37\
+\x33\x2e\x33\x33\x33\x0a\x09\x63\x30\x2c\x35\x2e\x37\x38\x32\x2d\
+\x34\x2e\x38\x38\x35\x2c\x31\x30\x2e\x36\x36\x37\x2d\x31\x30\x2e\
+\x36\x36\x36\x2c\x31\x30\x2e\x36\x36\x37\x48\x37\x34\x2e\x36\x36\
+\x36\x43\x36\x38\x2e\x38\x38\x34\x2c\x33\x38\x34\x2c\x36\x34\x2c\
+\x33\x37\x39\x2e\x31\x31\x35\x2c\x36\x34\x2c\x33\x37\x33\x2e\x33\
+\x33\x33\x56\x31\x37\x36\x68\x33\x37\x33\x2e\x33\x33\x34\x63\x35\
+\x2e\x37\x38\x31\x2c\x30\x2c\x31\x30\x2e\x36\x36\x36\x2c\x34\x2e\
+\x38\x38\x35\x2c\x31\x30\x2e\x36\x36\x36\x2c\x31\x30\x2e\x36\x36\
+\x37\x0a\x09\x56\x33\x37\x33\x2e\x33\x33\x33\x7a\x22\x2f\x3e\x0a\
+\x3c\x2f\x73\x76\x67\x3e\x0a\
\x00\x00\x05\x16\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
@@ -1114,7 +1728,7 @@ qt_resource_data = b"\
\x35\x36\x2c\x33\x37\x33\x2e\x33\x33\x33\x2c\x32\x35\x36\x7a\x22\
\x2f\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\
\x73\x76\x67\x3e\x0a\
-\x00\x00\x07\x6b\
+\x00\x00\x02\x98\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -1146,163 +1760,19 @@ qt_resource_data = b"\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
-\x64\x3d\x22\x4d\x31\x39\x33\x2e\x34\x36\x2c\x32\x34\x39\x2e\x30\
-\x35\x36\x63\x33\x2e\x37\x32\x33\x2d\x30\x2e\x36\x37\x2c\x37\x2e\
-\x35\x38\x39\x2d\x31\x2e\x30\x34\x31\x2c\x31\x31\x2e\x35\x38\x36\
-\x2d\x31\x2e\x30\x34\x31\x4c\x32\x30\x31\x2e\x39\x32\x34\x2c\x32\
-\x34\x38\x68\x31\x30\x33\x2e\x38\x32\x33\x63\x34\x2e\x35\x30\x33\
-\x2c\x30\x2c\x38\x2e\x38\x30\x36\x2d\x30\x2e\x36\x31\x37\x2c\x31\
-\x32\x2e\x39\x30\x38\x2d\x31\x2e\x37\x35\x34\x0a\x09\x09\x63\x31\
-\x39\x2e\x33\x37\x2d\x35\x2e\x33\x36\x33\x2c\x33\x33\x2e\x33\x34\
-\x35\x2d\x32\x32\x2e\x35\x33\x37\x2c\x33\x33\x2e\x33\x34\x35\x2d\
-\x34\x33\x2e\x36\x36\x33\x76\x2d\x33\x30\x2e\x38\x32\x32\x76\x2d\
-\x35\x36\x2e\x34\x30\x32\x63\x30\x2d\x32\x34\x2e\x38\x33\x32\x2d\
-\x32\x31\x2e\x31\x35\x2d\x34\x33\x2e\x34\x38\x34\x2d\x34\x36\x2e\
-\x32\x38\x39\x2d\x34\x37\x2e\x36\x30\x36\x0a\x09\x09\x63\x2d\x31\
-\x35\x2e\x39\x33\x31\x2d\x32\x2e\x36\x32\x34\x2d\x33\x39\x2e\x32\
-\x35\x38\x2d\x33\x2e\x38\x32\x37\x2d\x35\x35\x2e\x30\x38\x39\x2d\
-\x33\x2e\x37\x34\x39\x63\x2d\x31\x35\x2e\x38\x32\x39\x2c\x30\x2e\
-\x30\x38\x36\x2d\x33\x30\x2e\x39\x38\x31\x2c\x31\x2e\x34\x30\x34\
-\x2d\x34\x34\x2e\x32\x37\x37\x2c\x33\x2e\x37\x34\x39\x43\x31\x36\
-\x37\x2e\x31\x34\x33\x2c\x37\x34\x2e\x35\x37\x36\x2c\x31\x36\x30\
-\x2c\x38\x38\x2e\x39\x32\x38\x2c\x31\x36\x30\x2c\x31\x31\x35\x2e\
-\x33\x35\x39\x56\x31\x34\x34\x68\x39\x36\x0a\x09\x09\x76\x31\x36\
-\x48\x31\x32\x38\x2e\x38\x32\x63\x2d\x33\x35\x2e\x36\x32\x38\x2c\
-\x30\x2d\x36\x34\x2e\x35\x33\x38\x2c\x34\x32\x2e\x35\x37\x31\x2d\
-\x36\x34\x2e\x38\x31\x33\x2c\x39\x35\x2e\x32\x34\x32\x43\x36\x34\
-\x2e\x30\x30\x35\x2c\x32\x35\x35\x2e\x34\x39\x35\x2c\x36\x34\x2c\
-\x32\x35\x35\x2e\x37\x34\x37\x2c\x36\x34\x2c\x32\x35\x36\x63\x30\
-\x2c\x39\x2e\x35\x32\x33\x2c\x30\x2e\x39\x34\x2c\x31\x38\x2e\x37\
-\x32\x2c\x32\x2e\x36\x38\x35\x2c\x32\x37\x2e\x34\x30\x34\x0a\x09\
-\x09\x43\x37\x34\x2e\x36\x34\x38\x2c\x33\x32\x33\x2e\x30\x37\x2c\
-\x39\x39\x2e\x34\x35\x31\x2c\x33\x35\x32\x2c\x31\x32\x38\x2e\x38\
-\x32\x2c\x33\x35\x32\x48\x31\x34\x34\x76\x2d\x32\x2e\x36\x36\x32\
-\x76\x2d\x34\x33\x2e\x32\x37\x33\x43\x31\x34\x34\x2c\x32\x37\x39\
-\x2e\x32\x33\x38\x2c\x31\x36\x34\x2e\x31\x34\x36\x2c\x32\x35\x34\
-\x2e\x33\x33\x32\x2c\x31\x39\x33\x2e\x34\x36\x2c\x32\x34\x39\x2e\
-\x30\x35\x36\x7a\x20\x4d\x32\x30\x33\x2e\x36\x35\x36\x2c\x31\x32\
-\x37\x2e\x30\x30\x32\x0a\x09\x09\x63\x2d\x39\x2e\x35\x39\x32\x2c\
-\x30\x2d\x31\x37\x2e\x33\x38\x34\x2d\x37\x2e\x37\x38\x35\x2d\x31\
-\x37\x2e\x33\x38\x34\x2d\x31\x37\x2e\x34\x30\x33\x63\x30\x2d\x39\
-\x2e\x36\x36\x34\x2c\x37\x2e\x37\x37\x34\x2d\x31\x37\x2e\x35\x32\
-\x2c\x31\x37\x2e\x33\x38\x34\x2d\x31\x37\x2e\x35\x32\x63\x39\x2e\
-\x35\x37\x34\x2c\x30\x2c\x31\x37\x2e\x33\x39\x39\x2c\x37\x2e\x38\
-\x35\x35\x2c\x31\x37\x2e\x33\x39\x39\x2c\x31\x37\x2e\x35\x32\x0a\
-\x09\x09\x43\x32\x32\x31\x2e\x30\x35\x36\x2c\x31\x31\x39\x2e\x32\
-\x31\x37\x2c\x32\x31\x33\x2e\x32\x34\x36\x2c\x31\x32\x37\x2e\x30\
-\x30\x32\x2c\x32\x30\x33\x2e\x36\x35\x36\x2c\x31\x32\x37\x2e\x30\
-\x30\x32\x7a\x22\x2f\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\
-\x22\x4d\x34\x34\x33\x2e\x39\x35\x31\x2c\x32\x32\x32\x2e\x35\x34\
-\x33\x43\x34\x33\x34\x2e\x37\x38\x2c\x31\x38\x36\x2e\x30\x32\x31\
-\x2c\x34\x31\x31\x2e\x30\x33\x33\x2c\x31\x36\x30\x2c\x33\x38\x33\
-\x2e\x31\x38\x2c\x31\x36\x30\x48\x33\x36\x38\x76\x32\x2e\x36\x32\
-\x36\x76\x33\x38\x2e\x30\x34\x36\x63\x30\x2c\x33\x33\x2e\x39\x31\
-\x35\x2d\x32\x32\x2e\x32\x38\x36\x2c\x35\x38\x2e\x34\x37\x34\x2d\
-\x34\x39\x2e\x34\x38\x39\x2c\x36\x32\x2e\x36\x38\x31\x0a\x09\x09\
-\x63\x2d\x32\x2e\x37\x33\x37\x2c\x30\x2e\x34\x32\x34\x2d\x35\x2e\
-\x34\x38\x33\x2c\x30\x2e\x36\x34\x36\x2d\x38\x2e\x33\x30\x31\x2c\
-\x30\x2e\x36\x34\x36\x48\x32\x30\x36\x2e\x33\x35\x31\x63\x2d\x34\
-\x2e\x35\x31\x38\x2c\x30\x2d\x38\x2e\x39\x30\x34\x2c\x30\x2e\x35\
-\x38\x34\x2d\x31\x33\x2e\x30\x34\x39\x2c\x31\x2e\x36\x37\x32\x43\
-\x31\x37\x34\x2e\x31\x38\x2c\x32\x37\x30\x2e\x36\x38\x39\x2c\x31\
-\x36\x30\x2c\x32\x38\x36\x2e\x36\x2c\x31\x36\x30\x2c\x33\x30\x37\
-\x2e\x32\x33\x36\x76\x33\x32\x2e\x39\x32\x32\x0a\x09\x09\x76\x35\
-\x34\x2e\x33\x30\x35\x63\x30\x2c\x32\x34\x2e\x38\x33\x32\x2c\x32\
-\x34\x2e\x39\x37\x37\x2c\x33\x39\x2e\x34\x32\x36\x2c\x34\x39\x2e\
-\x34\x38\x31\x2c\x34\x36\x2e\x35\x35\x31\x63\x32\x39\x2e\x33\x32\
-\x37\x2c\x38\x2e\x35\x33\x31\x2c\x36\x31\x2e\x32\x36\x37\x2c\x31\
-\x30\x2e\x30\x36\x38\x2c\x39\x36\x2e\x33\x36\x36\x2c\x30\x43\x33\
-\x32\x39\x2e\x31\x35\x2c\x34\x33\x34\x2e\x33\x35\x34\x2c\x33\x35\
-\x32\x2c\x34\x32\x30\x2e\x38\x39\x33\x2c\x33\x35\x32\x2c\x33\x39\
-\x34\x2e\x34\x36\x33\x56\x33\x36\x38\x0a\x09\x09\x68\x2d\x39\x36\
-\x76\x2d\x31\x36\x68\x31\x32\x37\x2e\x31\x38\x63\x32\x35\x2e\x32\
-\x34\x2c\x30\x2c\x34\x37\x2e\x31\x30\x37\x2d\x32\x31\x2e\x33\x36\
-\x35\x2c\x35\x37\x2e\x38\x31\x34\x2d\x35\x32\x2e\x35\x34\x39\x43\
-\x34\x34\x35\x2e\x34\x37\x34\x2c\x32\x38\x36\x2e\x34\x30\x34\x2c\
-\x34\x34\x38\x2c\x32\x37\x31\x2e\x36\x34\x31\x2c\x34\x34\x38\x2c\
-\x32\x35\x36\x0a\x09\x09\x43\x34\x34\x38\x2c\x32\x34\x34\x2e\x32\
-\x33\x32\x2c\x34\x34\x36\x2e\x35\x36\x37\x2c\x32\x33\x32\x2e\x39\
-\x36\x32\x2c\x34\x34\x33\x2e\x39\x35\x31\x2c\x32\x32\x32\x2e\x35\
-\x34\x33\x7a\x20\x4d\x33\x30\x37\x2e\x38\x36\x37\x2c\x33\x38\x32\
-\x2e\x38\x32\x63\x39\x2e\x35\x39\x2c\x30\x2c\x31\x37\x2e\x33\x38\
-\x31\x2c\x37\x2e\x37\x38\x35\x2c\x31\x37\x2e\x33\x38\x31\x2c\x31\
-\x37\x2e\x34\x0a\x09\x09\x63\x30\x2c\x39\x2e\x36\x35\x2d\x37\x2e\
-\x37\x39\x31\x2c\x31\x37\x2e\x35\x32\x31\x2d\x31\x37\x2e\x33\x38\
-\x31\x2c\x31\x37\x2e\x35\x32\x31\x63\x2d\x39\x2e\x35\x37\x37\x2c\
-\x30\x2d\x31\x37\x2e\x33\x39\x39\x2d\x37\x2e\x38\x37\x31\x2d\x31\
-\x37\x2e\x33\x39\x39\x2d\x31\x37\x2e\x35\x32\x31\x43\x32\x39\x30\
-\x2e\x34\x36\x38\x2c\x33\x39\x30\x2e\x35\x39\x2c\x32\x39\x38\x2e\
-\x32\x37\x34\x2c\x33\x38\x32\x2e\x38\x32\x2c\x33\x30\x37\x2e\x38\
-\x36\x37\x2c\x33\x38\x32\x2e\x38\x32\x7a\x22\x2f\x3e\x0a\x3c\x2f\
-\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x01\x1c\
-\x3c\
-\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
-\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
-\x30\x2f\x73\x76\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x35\x31\
-\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\x32\
-\x70\x78\x22\x0a\x20\x20\x20\x20\x20\x76\x69\x65\x77\x42\x6f\x78\
-\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x3e\x0a\
-\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\
-\x74\x72\x69\x78\x28\x34\x38\x20\x30\x20\x30\x20\x34\x38\x20\x34\
-\x38\x20\x34\x38\x29\x27\x3e\x0a\x20\x20\x3c\x70\x61\x74\x68\x20\
-\x64\x3d\x22\x4d\x30\x20\x30\x76\x32\x68\x2e\x35\x63\x30\x2d\x2e\
-\x35\x35\x2e\x34\x35\x2d\x31\x20\x31\x2d\x31\x68\x31\x2e\x35\x76\
-\x35\x2e\x35\x63\x30\x20\x2e\x32\x38\x2d\x2e\x32\x32\x2e\x35\x2d\
-\x2e\x35\x2e\x35\x68\x2d\x2e\x35\x76\x31\x68\x34\x76\x2d\x31\x68\
-\x2d\x2e\x35\x63\x2d\x2e\x32\x38\x20\x30\x2d\x2e\x35\x2d\x2e\x32\
-\x32\x2d\x2e\x35\x2d\x2e\x35\x76\x2d\x35\x2e\x35\x68\x31\x2e\x35\
-\x63\x2e\x35\x35\x20\x30\x20\x31\x20\x2e\x34\x35\x20\x31\x20\x31\
-\x68\x2e\x35\x76\x2d\x32\x68\x2d\x38\x7a\x22\x20\x2f\x3e\x0a\x3c\
-\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x02\xc1\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
-\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
-\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
-\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
-\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
-\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
-\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
-\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
-\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
-\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
-\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
-\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
-\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
-\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x6f\x6c\
-\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x34\x38\x30\
-\x2c\x32\x35\x36\x20\x33\x38\x34\x2c\x31\x36\x30\x20\x33\x38\x34\
-\x2c\x32\x33\x36\x20\x32\x37\x36\x2c\x32\x33\x36\x20\x32\x37\x36\
-\x2c\x31\x32\x38\x20\x33\x35\x32\x2c\x31\x32\x38\x20\x32\x35\x36\
-\x2c\x33\x32\x20\x31\x36\x30\x2c\x31\x32\x38\x20\x32\x33\x36\x2c\
-\x31\x32\x38\x20\x32\x33\x36\x2c\x32\x33\x36\x20\x31\x32\x38\x2c\
-\x32\x33\x36\x20\x31\x32\x38\x2c\x31\x36\x30\x20\x33\x32\x2c\x32\
-\x35\x36\x20\x31\x32\x38\x2c\x33\x35\x32\x20\x0a\x09\x31\x32\x38\
-\x2c\x32\x37\x36\x20\x32\x33\x36\x2c\x32\x37\x36\x20\x32\x33\x36\
-\x2c\x33\x38\x34\x20\x31\x36\x30\x2c\x33\x38\x34\x20\x32\x35\x36\
-\x2c\x34\x38\x30\x20\x33\x35\x32\x2c\x33\x38\x34\x20\x32\x37\x35\
-\x2e\x38\x2c\x33\x38\x34\x20\x32\x37\x35\x2e\x34\x2c\x32\x37\x35\
-\x2e\x35\x20\x33\x38\x34\x2c\x32\x37\x35\x2e\x38\x20\x33\x38\x34\
-\x2c\x33\x35\x32\x20\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\
-\x00\x00\x02\x98\
+\x64\x3d\x22\x4d\x31\x32\x38\x2c\x34\x30\x35\x2e\x34\x32\x39\x43\
+\x31\x32\x38\x2c\x34\x32\x38\x2e\x38\x34\x36\x2c\x31\x34\x37\x2e\
+\x31\x39\x38\x2c\x34\x34\x38\x2c\x31\x37\x30\x2e\x36\x36\x37\x2c\
+\x34\x34\x38\x68\x31\x37\x30\x2e\x36\x36\x37\x43\x33\x36\x34\x2e\
+\x38\x30\x32\x2c\x34\x34\x38\x2c\x33\x38\x34\x2c\x34\x32\x38\x2e\
+\x38\x34\x36\x2c\x33\x38\x34\x2c\x34\x30\x35\x2e\x34\x32\x39\x56\
+\x31\x36\x30\x48\x31\x32\x38\x56\x34\x30\x35\x2e\x34\x32\x39\x7a\
+\x20\x4d\x34\x31\x36\x2c\x39\x36\x0a\x09\x09\x68\x2d\x38\x30\x6c\
+\x2d\x32\x36\x2e\x37\x38\x35\x2d\x33\x32\x48\x32\x30\x32\x2e\x37\
+\x38\x36\x4c\x31\x37\x36\x2c\x39\x36\x48\x39\x36\x76\x33\x32\x68\
+\x33\x32\x30\x56\x39\x36\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\
+\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\x5f\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -1333,64 +1803,32 @@ qt_resource_data = b"\
\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
-\x64\x3d\x22\x4d\x31\x32\x38\x2c\x34\x30\x35\x2e\x34\x32\x39\x43\
-\x31\x32\x38\x2c\x34\x32\x38\x2e\x38\x34\x36\x2c\x31\x34\x37\x2e\
-\x31\x39\x38\x2c\x34\x34\x38\x2c\x31\x37\x30\x2e\x36\x36\x37\x2c\
-\x34\x34\x38\x68\x31\x37\x30\x2e\x36\x36\x37\x43\x33\x36\x34\x2e\
-\x38\x30\x32\x2c\x34\x34\x38\x2c\x33\x38\x34\x2c\x34\x32\x38\x2e\
-\x38\x34\x36\x2c\x33\x38\x34\x2c\x34\x30\x35\x2e\x34\x32\x39\x56\
-\x31\x36\x30\x48\x31\x32\x38\x56\x34\x30\x35\x2e\x34\x32\x39\x7a\
-\x20\x4d\x34\x31\x36\x2c\x39\x36\x0a\x09\x09\x68\x2d\x38\x30\x6c\
-\x2d\x32\x36\x2e\x37\x38\x35\x2d\x33\x32\x48\x32\x30\x32\x2e\x37\
-\x38\x36\x4c\x31\x37\x36\x2c\x39\x36\x48\x39\x36\x76\x33\x32\x68\
-\x33\x32\x30\x56\x39\x36\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\
-\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x02\x97\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x53\
-\x61\x76\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\
-\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
-\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\
-\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\
-\x6b\x22\x20\x78\x3d\x22\x35\x31\x32\x70\x78\x22\x20\x79\x3d\x22\
-\x35\x31\x32\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\
-\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\
-\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\
-\x3d\x22\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\
-\x32\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\
-\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\
-\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\
-\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\
-\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x31\x35\x2e\x31\x37\x33\x2c\
-\x32\x48\x34\x43\x32\x2e\x38\x39\x39\x2c\x32\x2c\x32\x2c\x32\x2e\
-\x39\x2c\x32\x2c\x34\x76\x31\x32\x63\x30\x2c\x31\x2e\x31\x2c\x30\
-\x2e\x38\x39\x39\x2c\x32\x2c\x32\x2c\x32\x68\x31\x32\x63\x31\x2e\
-\x31\x30\x31\x2c\x30\x2c\x32\x2d\x30\x2e\x39\x2c\x32\x2d\x32\x56\
-\x35\x2e\x31\x32\x37\x4c\x31\x35\x2e\x31\x37\x33\x2c\x32\x7a\x20\
-\x4d\x31\x34\x2c\x38\x63\x30\x2c\x30\x2e\x35\x34\x39\x2d\x30\x2e\
-\x34\x35\x2c\x31\x2d\x31\x2c\x31\x48\x37\x0a\x09\x43\x36\x2e\x34\
-\x35\x2c\x39\x2c\x36\x2c\x38\x2e\x35\x34\x39\x2c\x36\x2c\x38\x56\
-\x33\x68\x38\x56\x38\x7a\x20\x4d\x31\x33\x2c\x34\x68\x2d\x32\x76\
-\x34\x68\x32\x56\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
-\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\x1b\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x0a\x09\x09\x3c\x72\x65\
+\x63\x74\x20\x78\x3d\x22\x31\x37\x38\x2e\x38\x34\x36\x22\x20\x79\
+\x3d\x22\x39\x32\x2e\x30\x38\x37\x22\x20\x74\x72\x61\x6e\x73\x66\
+\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x2d\x30\x2e\x37\
+\x30\x37\x31\x20\x2d\x30\x2e\x37\x30\x37\x31\x20\x30\x2e\x37\x30\
+\x37\x31\x20\x2d\x30\x2e\x37\x30\x37\x31\x20\x32\x32\x34\x2e\x33\
+\x34\x37\x36\x20\x36\x33\x31\x2e\x31\x34\x39\x38\x29\x22\x20\x77\
+\x69\x64\x74\x68\x3d\x22\x31\x32\x38\x2e\x30\x38\x35\x22\x20\x68\
+\x65\x69\x67\x68\x74\x3d\x22\x33\x35\x34\x2e\x30\x34\x39\x22\x2f\
+\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x37\x31\
+\x2e\x37\x32\x33\x2c\x38\x38\x2e\x33\x39\x33\x6c\x2d\x34\x38\x2e\
+\x31\x31\x35\x2d\x34\x38\x2e\x31\x31\x34\x63\x2d\x31\x31\x2e\x37\
+\x32\x33\x2d\x31\x31\x2e\x37\x32\x34\x2d\x33\x31\x2e\x35\x35\x38\
+\x2d\x31\x30\x2e\x38\x39\x36\x2d\x34\x34\x2e\x33\x30\x34\x2c\x31\
+\x2e\x38\x35\x6c\x2d\x34\x35\x2e\x32\x30\x32\x2c\x34\x35\x2e\x32\
+\x30\x33\x6c\x39\x30\x2e\x35\x36\x39\x2c\x39\x30\x2e\x35\x36\x38\
+\x6c\x34\x35\x2e\x32\x30\x32\x2d\x34\x35\x2e\x32\x30\x32\x0a\x09\
+\x09\x43\x34\x38\x32\x2e\x36\x31\x36\x2c\x31\x31\x39\x2e\x39\x35\
+\x32\x2c\x34\x38\x33\x2e\x34\x34\x35\x2c\x31\x30\x30\x2e\x31\x31\
+\x36\x2c\x34\x37\x31\x2e\x37\x32\x33\x2c\x38\x38\x2e\x33\x39\x33\
+\x7a\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\x6c\x79\x67\x6f\x6e\x20\x70\
+\x6f\x69\x6e\x74\x73\x3d\x22\x36\x34\x2e\x30\x32\x31\x2c\x33\x36\
+\x33\x2e\x32\x35\x32\x20\x33\x32\x2c\x34\x38\x30\x20\x31\x34\x38\
+\x2e\x37\x33\x37\x2c\x34\x34\x37\x2e\x39\x37\x39\x20\x09\x22\x2f\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\x3d\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -1417,31 +1855,33 @@ qt_resource_data = b"\
\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
-\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
-\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
-\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
-\x64\x3d\x22\x4d\x32\x35\x36\x2c\x33\x38\x38\x63\x2d\x37\x32\x2e\
-\x35\x39\x37\x2c\x30\x2d\x31\x33\x32\x2d\x35\x39\x2e\x34\x30\x35\
-\x2d\x31\x33\x32\x2d\x31\x33\x32\x63\x30\x2d\x37\x32\x2e\x36\x30\
-\x31\x2c\x35\x39\x2e\x34\x30\x33\x2d\x31\x33\x32\x2c\x31\x33\x32\
-\x2d\x31\x33\x32\x63\x33\x36\x2e\x33\x2c\x30\x2c\x36\x39\x2e\x32\
-\x39\x39\x2c\x31\x35\x2e\x34\x2c\x39\x32\x2e\x34\x30\x36\x2c\x33\
-\x39\x2e\x36\x30\x31\x4c\x32\x37\x38\x2c\x32\x33\x34\x68\x31\x35\
-\x34\x56\x38\x30\x0a\x09\x09\x6c\x2d\x35\x31\x2e\x36\x39\x38\x2c\
-\x35\x31\x2e\x37\x30\x32\x43\x33\x34\x38\x2e\x34\x30\x36\x2c\x39\
-\x39\x2e\x37\x39\x38\x2c\x33\x30\x34\x2e\x34\x30\x36\x2c\x38\x30\
-\x2c\x32\x35\x36\x2c\x38\x30\x63\x2d\x39\x36\x2e\x37\x39\x37\x2c\
-\x30\x2d\x31\x37\x36\x2c\x37\x39\x2e\x32\x30\x33\x2d\x31\x37\x36\
-\x2c\x31\x37\x36\x73\x37\x38\x2e\x30\x39\x34\x2c\x31\x37\x36\x2c\
-\x31\x37\x36\x2c\x31\x37\x36\x0a\x09\x09\x63\x38\x31\x2e\x30\x34\
-\x35\x2c\x30\x2c\x31\x34\x38\x2e\x32\x38\x37\x2d\x35\x34\x2e\x31\
-\x33\x34\x2c\x31\x36\x39\x2e\x34\x30\x31\x2d\x31\x32\x38\x48\x33\
-\x37\x38\x2e\x38\x35\x43\x33\x36\x30\x2e\x31\x30\x35\x2c\x33\x35\
-\x33\x2e\x35\x36\x31\x2c\x33\x31\x31\x2e\x37\x31\x32\x2c\x33\x38\
-\x38\x2c\x32\x35\x36\x2c\x33\x38\x38\x7a\x22\x2f\x3e\x0a\x3c\x2f\
-\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
+\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
+\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\
+\x68\x20\x64\x3d\x22\x4d\x34\x33\x37\x2e\x35\x2c\x33\x38\x36\x2e\
+\x36\x4c\x33\x30\x36\x2e\x39\x2c\x32\x35\x36\x6c\x31\x33\x30\x2e\
+\x36\x2d\x31\x33\x30\x2e\x36\x63\x31\x34\x2e\x31\x2d\x31\x34\x2e\
+\x31\x2c\x31\x34\x2e\x31\x2d\x33\x36\x2e\x38\x2c\x30\x2d\x35\x30\
+\x2e\x39\x63\x2d\x31\x34\x2e\x31\x2d\x31\x34\x2e\x31\x2d\x33\x36\
+\x2e\x38\x2d\x31\x34\x2e\x31\x2d\x35\x30\x2e\x39\x2c\x30\x4c\x32\
+\x35\x36\x2c\x32\x30\x35\x2e\x31\x4c\x31\x32\x35\x2e\x34\x2c\x37\
+\x34\x2e\x35\x0a\x09\x63\x2d\x31\x34\x2e\x31\x2d\x31\x34\x2e\x31\
+\x2d\x33\x36\x2e\x38\x2d\x31\x34\x2e\x31\x2d\x35\x30\x2e\x39\x2c\
+\x30\x63\x2d\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2d\x31\x34\x2e\
+\x31\x2c\x33\x36\x2e\x38\x2c\x30\x2c\x35\x30\x2e\x39\x4c\x32\x30\
+\x35\x2e\x31\x2c\x32\x35\x36\x4c\x37\x34\x2e\x35\x2c\x33\x38\x36\
+\x2e\x36\x63\x2d\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2d\x31\x34\
+\x2e\x31\x2c\x33\x36\x2e\x38\x2c\x30\x2c\x35\x30\x2e\x39\x0a\x09\
+\x63\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2c\x33\x36\x2e\x38\x2c\
+\x31\x34\x2e\x31\x2c\x35\x30\x2e\x39\x2c\x30\x4c\x32\x35\x36\x2c\
+\x33\x30\x36\x2e\x39\x6c\x31\x33\x30\x2e\x36\x2c\x31\x33\x30\x2e\
+\x36\x63\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2c\x33\x36\x2e\x38\
+\x2c\x31\x34\x2e\x31\x2c\x35\x30\x2e\x39\x2c\x30\x43\x34\x35\x31\
+\x2e\x35\x2c\x34\x32\x33\x2e\x34\x2c\x34\x35\x31\x2e\x35\x2c\x34\
+\x30\x30\x2e\x36\x2c\x34\x33\x37\x2e\x35\x2c\x33\x38\x36\x2e\x36\
+\x7a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
\x00\x00\x02\xee\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
@@ -1491,7 +1931,7 @@ qt_resource_data = b"\
\x32\x0a\x09\x43\x34\x34\x38\x2c\x32\x33\x38\x2e\x33\x2c\x34\x33\
\x34\x2e\x33\x2c\x32\x32\x34\x2c\x34\x31\x37\x2e\x34\x2c\x32\x32\
\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\x16\
+\x00\x00\x03\x1b\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -1522,28 +1962,28 @@ qt_resource_data = b"\
\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x63\x69\x72\x63\x6c\
-\x65\x20\x63\x78\x3d\x22\x32\x35\x36\x22\x20\x63\x79\x3d\x22\x32\
-\x38\x30\x22\x20\x72\x3d\x22\x36\x33\x22\x2f\x3e\x0a\x09\x3c\x70\
-\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x34\x30\x2c\x39\x36\x68\x2d\
-\x38\x38\x6c\x2d\x33\x32\x2d\x33\x32\x48\x31\x39\x32\x6c\x2d\x33\
-\x32\x2c\x33\x32\x48\x37\x32\x63\x2d\x32\x32\x2e\x30\x39\x32\x2c\
-\x30\x2d\x34\x30\x2c\x31\x37\x2e\x39\x30\x38\x2d\x34\x30\x2c\x34\
-\x30\x76\x32\x37\x32\x63\x30\x2c\x32\x32\x2e\x30\x39\x32\x2c\x31\
-\x37\x2e\x39\x30\x38\x2c\x34\x30\x2c\x34\x30\x2c\x34\x30\x68\x33\
-\x36\x38\x63\x32\x32\x2e\x30\x39\x32\x2c\x30\x2c\x34\x30\x2d\x31\
-\x37\x2e\x39\x30\x38\x2c\x34\x30\x2d\x34\x30\x0a\x09\x09\x56\x31\
-\x33\x36\x43\x34\x38\x30\x2c\x31\x31\x33\x2e\x39\x30\x38\x2c\x34\
-\x36\x32\x2e\x30\x39\x32\x2c\x39\x36\x2c\x34\x34\x30\x2c\x39\x36\
-\x7a\x20\x4d\x32\x35\x36\x2c\x33\x39\x32\x63\x2d\x36\x31\x2e\x38\
-\x35\x35\x2c\x30\x2d\x31\x31\x32\x2d\x35\x30\x2e\x31\x34\x35\x2d\
-\x31\x31\x32\x2d\x31\x31\x32\x73\x35\x30\x2e\x31\x34\x35\x2d\x31\
-\x31\x32\x2c\x31\x31\x32\x2d\x31\x31\x32\x73\x31\x31\x32\x2c\x35\
-\x30\x2e\x31\x34\x35\x2c\x31\x31\x32\x2c\x31\x31\x32\x0a\x09\x09\
-\x53\x33\x31\x37\x2e\x38\x35\x35\x2c\x33\x39\x32\x2c\x32\x35\x36\
-\x2c\x33\x39\x32\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\
-\x73\x76\x67\x3e\x0a\
-\x00\x00\x02\xf0\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x32\x35\x36\x2c\x33\x38\x38\x63\x2d\x37\x32\x2e\
+\x35\x39\x37\x2c\x30\x2d\x31\x33\x32\x2d\x35\x39\x2e\x34\x30\x35\
+\x2d\x31\x33\x32\x2d\x31\x33\x32\x63\x30\x2d\x37\x32\x2e\x36\x30\
+\x31\x2c\x35\x39\x2e\x34\x30\x33\x2d\x31\x33\x32\x2c\x31\x33\x32\
+\x2d\x31\x33\x32\x63\x33\x36\x2e\x33\x2c\x30\x2c\x36\x39\x2e\x32\
+\x39\x39\x2c\x31\x35\x2e\x34\x2c\x39\x32\x2e\x34\x30\x36\x2c\x33\
+\x39\x2e\x36\x30\x31\x4c\x32\x37\x38\x2c\x32\x33\x34\x68\x31\x35\
+\x34\x56\x38\x30\x0a\x09\x09\x6c\x2d\x35\x31\x2e\x36\x39\x38\x2c\
+\x35\x31\x2e\x37\x30\x32\x43\x33\x34\x38\x2e\x34\x30\x36\x2c\x39\
+\x39\x2e\x37\x39\x38\x2c\x33\x30\x34\x2e\x34\x30\x36\x2c\x38\x30\
+\x2c\x32\x35\x36\x2c\x38\x30\x63\x2d\x39\x36\x2e\x37\x39\x37\x2c\
+\x30\x2d\x31\x37\x36\x2c\x37\x39\x2e\x32\x30\x33\x2d\x31\x37\x36\
+\x2c\x31\x37\x36\x73\x37\x38\x2e\x30\x39\x34\x2c\x31\x37\x36\x2c\
+\x31\x37\x36\x2c\x31\x37\x36\x0a\x09\x09\x63\x38\x31\x2e\x30\x34\
+\x35\x2c\x30\x2c\x31\x34\x38\x2e\x32\x38\x37\x2d\x35\x34\x2e\x31\
+\x33\x34\x2c\x31\x36\x39\x2e\x34\x30\x31\x2d\x31\x32\x38\x48\x33\
+\x37\x38\x2e\x38\x35\x43\x33\x36\x30\x2e\x31\x30\x35\x2c\x33\x35\
+\x33\x2e\x35\x36\x31\x2c\x33\x31\x31\x2e\x37\x31\x32\x2c\x33\x38\
+\x38\x2c\x32\x35\x36\x2c\x33\x38\x38\x7a\x22\x2f\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\xc1\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -1570,35 +2010,33 @@ qt_resource_data = b"\
\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
-\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
-\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
-\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
-\x5f\x32\x30\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\
-\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x34\x38\x43\x31\
-\x34\x31\x2e\x36\x30\x31\x2c\x34\x38\x2c\x34\x38\x2c\x31\x34\x31\
-\x2e\x36\x30\x31\x2c\x34\x38\x2c\x32\x35\x36\x73\x39\x33\x2e\x36\
-\x30\x31\x2c\x32\x30\x38\x2c\x32\x30\x38\x2c\x32\x30\x38\x73\x32\
-\x30\x38\x2d\x39\x33\x2e\x36\x30\x31\x2c\x32\x30\x38\x2d\x32\x30\
-\x38\x53\x33\x37\x30\x2e\x33\x39\x39\x2c\x34\x38\x2c\x32\x35\x36\
-\x2c\x34\x38\x7a\x20\x4d\x32\x35\x36\x2c\x34\x32\x32\x2e\x33\x39\
-\x39\x0a\x09\x09\x09\x63\x2d\x39\x31\x2e\x35\x31\x38\x2c\x30\x2d\
-\x31\x36\x36\x2e\x33\x39\x39\x2d\x37\x34\x2e\x38\x38\x32\x2d\x31\
-\x36\x36\x2e\x33\x39\x39\x2d\x31\x36\x36\x2e\x33\x39\x39\x53\x31\
-\x36\x34\x2e\x34\x38\x32\x2c\x38\x39\x2e\x36\x2c\x32\x35\x36\x2c\
-\x38\x39\x2e\x36\x53\x34\x32\x32\x2e\x34\x2c\x31\x36\x34\x2e\x34\
-\x38\x32\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\x36\x53\x33\x34\x37\
-\x2e\x35\x31\x38\x2c\x34\x32\x32\x2e\x33\x39\x39\x2c\x32\x35\x36\
-\x2c\x34\x32\x32\x2e\x33\x39\x39\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\
-\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\xda\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
+\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
+\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x6f\x6c\
+\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x34\x38\x30\
+\x2c\x32\x35\x36\x20\x33\x38\x34\x2c\x31\x36\x30\x20\x33\x38\x34\
+\x2c\x32\x33\x36\x20\x32\x37\x36\x2c\x32\x33\x36\x20\x32\x37\x36\
+\x2c\x31\x32\x38\x20\x33\x35\x32\x2c\x31\x32\x38\x20\x32\x35\x36\
+\x2c\x33\x32\x20\x31\x36\x30\x2c\x31\x32\x38\x20\x32\x33\x36\x2c\
+\x31\x32\x38\x20\x32\x33\x36\x2c\x32\x33\x36\x20\x31\x32\x38\x2c\
+\x32\x33\x36\x20\x31\x32\x38\x2c\x31\x36\x30\x20\x33\x32\x2c\x32\
+\x35\x36\x20\x31\x32\x38\x2c\x33\x35\x32\x20\x0a\x09\x31\x32\x38\
+\x2c\x32\x37\x36\x20\x32\x33\x36\x2c\x32\x37\x36\x20\x32\x33\x36\
+\x2c\x33\x38\x34\x20\x31\x36\x30\x2c\x33\x38\x34\x20\x32\x35\x36\
+\x2c\x34\x38\x30\x20\x33\x35\x32\x2c\x33\x38\x34\x20\x32\x37\x35\
+\x2e\x38\x2c\x33\x38\x34\x20\x32\x37\x35\x2e\x34\x2c\x32\x37\x35\
+\x2e\x35\x20\x33\x38\x34\x2c\x32\x37\x35\x2e\x38\x20\x33\x38\x34\
+\x2c\x33\x35\x32\x20\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\
+\x00\x00\x07\x6b\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x30\x2e\x30\x2c\x20\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
@@ -1624,38 +2062,95 @@ qt_resource_data = b"\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
-\x64\x3d\x22\x4d\x34\x38\x2e\x34\x35\x31\x2c\x34\x36\x34\x2e\x38\
-\x32\x38\x63\x34\x30\x2e\x30\x32\x33\x2d\x30\x2e\x33\x31\x35\x2c\
-\x34\x35\x2e\x30\x31\x2d\x39\x2e\x39\x35\x35\x2c\x35\x38\x2e\x30\
-\x35\x32\x2d\x35\x30\x2e\x31\x33\x32\x63\x32\x34\x2e\x30\x35\x37\
-\x2d\x36\x33\x2e\x34\x30\x38\x2c\x31\x33\x32\x2e\x34\x31\x39\x2c\
-\x31\x36\x2e\x35\x39\x31\x2c\x36\x35\x2e\x32\x36\x39\x2c\x34\x34\
-\x2e\x33\x37\x34\x0a\x09\x09\x43\x31\x30\x34\x2e\x36\x32\x32\x2c\
-\x34\x38\x36\x2e\x38\x35\x32\x2c\x38\x2e\x34\x32\x38\x2c\x34\x36\
-\x35\x2e\x31\x34\x33\x2c\x34\x38\x2e\x34\x35\x31\x2c\x34\x36\x34\
-\x2e\x38\x32\x38\x7a\x22\x2f\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
-\x64\x3d\x22\x4d\x34\x35\x38\x2e\x38\x35\x37\x2c\x34\x36\x2e\x39\
-\x30\x32\x63\x2d\x31\x39\x2e\x34\x31\x37\x2d\x31\x35\x2e\x36\x34\
-\x37\x2d\x35\x31\x2e\x35\x39\x32\x2d\x37\x2e\x39\x33\x38\x2d\x37\
-\x31\x2e\x38\x36\x34\x2c\x31\x37\x2e\x32\x31\x39\x4c\x31\x38\x31\
-\x2e\x36\x34\x35\x2c\x33\x35\x35\x2e\x38\x34\x39\x63\x2d\x32\x30\
-\x2e\x32\x37\x32\x2c\x32\x35\x2e\x31\x35\x34\x2d\x32\x30\x2e\x31\
-\x37\x31\x2c\x32\x30\x2e\x33\x34\x37\x2d\x30\x2e\x37\x35\x34\x2c\
-\x33\x35\x2e\x39\x39\x32\x0a\x09\x09\x63\x31\x39\x2e\x34\x31\x37\
-\x2c\x31\x35\x2e\x36\x34\x38\x2c\x31\x34\x2e\x37\x33\x38\x2c\x31\
-\x36\x2e\x37\x37\x2c\x33\x35\x2e\x30\x31\x31\x2d\x38\x2e\x33\x38\
-\x38\x6c\x32\x34\x31\x2e\x34\x30\x36\x2d\x32\x36\x32\x2e\x36\x36\
-\x39\x43\x34\x37\x37\x2e\x35\x38\x31\x2c\x39\x35\x2e\x36\x32\x38\
-\x2c\x34\x37\x38\x2e\x32\x37\x35\x2c\x36\x32\x2e\x35\x35\x2c\x34\
-\x35\x38\x2e\x38\x35\x37\x2c\x34\x36\x2e\x39\x30\x32\x7a\x20\x4d\
-\x34\x30\x36\x2e\x30\x36\x35\x2c\x38\x31\x2e\x38\x32\x35\x0a\x09\
-\x09\x63\x30\x2c\x30\x2d\x33\x2d\x33\x2e\x35\x2d\x31\x33\x2d\x31\
-\x31\x2e\x35\x63\x31\x35\x2d\x32\x34\x2e\x35\x2c\x34\x34\x2e\x35\
-\x2d\x32\x30\x2c\x34\x34\x2e\x35\x2d\x32\x30\x43\x34\x30\x39\x2e\
-\x35\x36\x35\x2c\x36\x36\x2e\x38\x32\x35\x2c\x34\x30\x36\x2e\x30\
-\x36\x35\x2c\x38\x31\x2e\x38\x32\x35\x2c\x34\x30\x36\x2e\x30\x36\
-\x35\x2c\x38\x31\x2e\x38\x32\x35\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\
-\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x64\x3d\x22\x4d\x31\x39\x33\x2e\x34\x36\x2c\x32\x34\x39\x2e\x30\
+\x35\x36\x63\x33\x2e\x37\x32\x33\x2d\x30\x2e\x36\x37\x2c\x37\x2e\
+\x35\x38\x39\x2d\x31\x2e\x30\x34\x31\x2c\x31\x31\x2e\x35\x38\x36\
+\x2d\x31\x2e\x30\x34\x31\x4c\x32\x30\x31\x2e\x39\x32\x34\x2c\x32\
+\x34\x38\x68\x31\x30\x33\x2e\x38\x32\x33\x63\x34\x2e\x35\x30\x33\
+\x2c\x30\x2c\x38\x2e\x38\x30\x36\x2d\x30\x2e\x36\x31\x37\x2c\x31\
+\x32\x2e\x39\x30\x38\x2d\x31\x2e\x37\x35\x34\x0a\x09\x09\x63\x31\
+\x39\x2e\x33\x37\x2d\x35\x2e\x33\x36\x33\x2c\x33\x33\x2e\x33\x34\
+\x35\x2d\x32\x32\x2e\x35\x33\x37\x2c\x33\x33\x2e\x33\x34\x35\x2d\
+\x34\x33\x2e\x36\x36\x33\x76\x2d\x33\x30\x2e\x38\x32\x32\x76\x2d\
+\x35\x36\x2e\x34\x30\x32\x63\x30\x2d\x32\x34\x2e\x38\x33\x32\x2d\
+\x32\x31\x2e\x31\x35\x2d\x34\x33\x2e\x34\x38\x34\x2d\x34\x36\x2e\
+\x32\x38\x39\x2d\x34\x37\x2e\x36\x30\x36\x0a\x09\x09\x63\x2d\x31\
+\x35\x2e\x39\x33\x31\x2d\x32\x2e\x36\x32\x34\x2d\x33\x39\x2e\x32\
+\x35\x38\x2d\x33\x2e\x38\x32\x37\x2d\x35\x35\x2e\x30\x38\x39\x2d\
+\x33\x2e\x37\x34\x39\x63\x2d\x31\x35\x2e\x38\x32\x39\x2c\x30\x2e\
+\x30\x38\x36\x2d\x33\x30\x2e\x39\x38\x31\x2c\x31\x2e\x34\x30\x34\
+\x2d\x34\x34\x2e\x32\x37\x37\x2c\x33\x2e\x37\x34\x39\x43\x31\x36\
+\x37\x2e\x31\x34\x33\x2c\x37\x34\x2e\x35\x37\x36\x2c\x31\x36\x30\
+\x2c\x38\x38\x2e\x39\x32\x38\x2c\x31\x36\x30\x2c\x31\x31\x35\x2e\
+\x33\x35\x39\x56\x31\x34\x34\x68\x39\x36\x0a\x09\x09\x76\x31\x36\
+\x48\x31\x32\x38\x2e\x38\x32\x63\x2d\x33\x35\x2e\x36\x32\x38\x2c\
+\x30\x2d\x36\x34\x2e\x35\x33\x38\x2c\x34\x32\x2e\x35\x37\x31\x2d\
+\x36\x34\x2e\x38\x31\x33\x2c\x39\x35\x2e\x32\x34\x32\x43\x36\x34\
+\x2e\x30\x30\x35\x2c\x32\x35\x35\x2e\x34\x39\x35\x2c\x36\x34\x2c\
+\x32\x35\x35\x2e\x37\x34\x37\x2c\x36\x34\x2c\x32\x35\x36\x63\x30\
+\x2c\x39\x2e\x35\x32\x33\x2c\x30\x2e\x39\x34\x2c\x31\x38\x2e\x37\
+\x32\x2c\x32\x2e\x36\x38\x35\x2c\x32\x37\x2e\x34\x30\x34\x0a\x09\
+\x09\x43\x37\x34\x2e\x36\x34\x38\x2c\x33\x32\x33\x2e\x30\x37\x2c\
+\x39\x39\x2e\x34\x35\x31\x2c\x33\x35\x32\x2c\x31\x32\x38\x2e\x38\
+\x32\x2c\x33\x35\x32\x48\x31\x34\x34\x76\x2d\x32\x2e\x36\x36\x32\
+\x76\x2d\x34\x33\x2e\x32\x37\x33\x43\x31\x34\x34\x2c\x32\x37\x39\
+\x2e\x32\x33\x38\x2c\x31\x36\x34\x2e\x31\x34\x36\x2c\x32\x35\x34\
+\x2e\x33\x33\x32\x2c\x31\x39\x33\x2e\x34\x36\x2c\x32\x34\x39\x2e\
+\x30\x35\x36\x7a\x20\x4d\x32\x30\x33\x2e\x36\x35\x36\x2c\x31\x32\
+\x37\x2e\x30\x30\x32\x0a\x09\x09\x63\x2d\x39\x2e\x35\x39\x32\x2c\
+\x30\x2d\x31\x37\x2e\x33\x38\x34\x2d\x37\x2e\x37\x38\x35\x2d\x31\
+\x37\x2e\x33\x38\x34\x2d\x31\x37\x2e\x34\x30\x33\x63\x30\x2d\x39\
+\x2e\x36\x36\x34\x2c\x37\x2e\x37\x37\x34\x2d\x31\x37\x2e\x35\x32\
+\x2c\x31\x37\x2e\x33\x38\x34\x2d\x31\x37\x2e\x35\x32\x63\x39\x2e\
+\x35\x37\x34\x2c\x30\x2c\x31\x37\x2e\x33\x39\x39\x2c\x37\x2e\x38\
+\x35\x35\x2c\x31\x37\x2e\x33\x39\x39\x2c\x31\x37\x2e\x35\x32\x0a\
+\x09\x09\x43\x32\x32\x31\x2e\x30\x35\x36\x2c\x31\x31\x39\x2e\x32\
+\x31\x37\x2c\x32\x31\x33\x2e\x32\x34\x36\x2c\x31\x32\x37\x2e\x30\
+\x30\x32\x2c\x32\x30\x33\x2e\x36\x35\x36\x2c\x31\x32\x37\x2e\x30\
+\x30\x32\x7a\x22\x2f\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x22\x4d\x34\x34\x33\x2e\x39\x35\x31\x2c\x32\x32\x32\x2e\x35\x34\
+\x33\x43\x34\x33\x34\x2e\x37\x38\x2c\x31\x38\x36\x2e\x30\x32\x31\
+\x2c\x34\x31\x31\x2e\x30\x33\x33\x2c\x31\x36\x30\x2c\x33\x38\x33\
+\x2e\x31\x38\x2c\x31\x36\x30\x48\x33\x36\x38\x76\x32\x2e\x36\x32\
+\x36\x76\x33\x38\x2e\x30\x34\x36\x63\x30\x2c\x33\x33\x2e\x39\x31\
+\x35\x2d\x32\x32\x2e\x32\x38\x36\x2c\x35\x38\x2e\x34\x37\x34\x2d\
+\x34\x39\x2e\x34\x38\x39\x2c\x36\x32\x2e\x36\x38\x31\x0a\x09\x09\
+\x63\x2d\x32\x2e\x37\x33\x37\x2c\x30\x2e\x34\x32\x34\x2d\x35\x2e\
+\x34\x38\x33\x2c\x30\x2e\x36\x34\x36\x2d\x38\x2e\x33\x30\x31\x2c\
+\x30\x2e\x36\x34\x36\x48\x32\x30\x36\x2e\x33\x35\x31\x63\x2d\x34\
+\x2e\x35\x31\x38\x2c\x30\x2d\x38\x2e\x39\x30\x34\x2c\x30\x2e\x35\
+\x38\x34\x2d\x31\x33\x2e\x30\x34\x39\x2c\x31\x2e\x36\x37\x32\x43\
+\x31\x37\x34\x2e\x31\x38\x2c\x32\x37\x30\x2e\x36\x38\x39\x2c\x31\
+\x36\x30\x2c\x32\x38\x36\x2e\x36\x2c\x31\x36\x30\x2c\x33\x30\x37\
+\x2e\x32\x33\x36\x76\x33\x32\x2e\x39\x32\x32\x0a\x09\x09\x76\x35\
+\x34\x2e\x33\x30\x35\x63\x30\x2c\x32\x34\x2e\x38\x33\x32\x2c\x32\
+\x34\x2e\x39\x37\x37\x2c\x33\x39\x2e\x34\x32\x36\x2c\x34\x39\x2e\
+\x34\x38\x31\x2c\x34\x36\x2e\x35\x35\x31\x63\x32\x39\x2e\x33\x32\
+\x37\x2c\x38\x2e\x35\x33\x31\x2c\x36\x31\x2e\x32\x36\x37\x2c\x31\
+\x30\x2e\x30\x36\x38\x2c\x39\x36\x2e\x33\x36\x36\x2c\x30\x43\x33\
+\x32\x39\x2e\x31\x35\x2c\x34\x33\x34\x2e\x33\x35\x34\x2c\x33\x35\
+\x32\x2c\x34\x32\x30\x2e\x38\x39\x33\x2c\x33\x35\x32\x2c\x33\x39\
+\x34\x2e\x34\x36\x33\x56\x33\x36\x38\x0a\x09\x09\x68\x2d\x39\x36\
+\x76\x2d\x31\x36\x68\x31\x32\x37\x2e\x31\x38\x63\x32\x35\x2e\x32\
+\x34\x2c\x30\x2c\x34\x37\x2e\x31\x30\x37\x2d\x32\x31\x2e\x33\x36\
+\x35\x2c\x35\x37\x2e\x38\x31\x34\x2d\x35\x32\x2e\x35\x34\x39\x43\
+\x34\x34\x35\x2e\x34\x37\x34\x2c\x32\x38\x36\x2e\x34\x30\x34\x2c\
+\x34\x34\x38\x2c\x32\x37\x31\x2e\x36\x34\x31\x2c\x34\x34\x38\x2c\
+\x32\x35\x36\x0a\x09\x09\x43\x34\x34\x38\x2c\x32\x34\x34\x2e\x32\
+\x33\x32\x2c\x34\x34\x36\x2e\x35\x36\x37\x2c\x32\x33\x32\x2e\x39\
+\x36\x32\x2c\x34\x34\x33\x2e\x39\x35\x31\x2c\x32\x32\x32\x2e\x35\
+\x34\x33\x7a\x20\x4d\x33\x30\x37\x2e\x38\x36\x37\x2c\x33\x38\x32\
+\x2e\x38\x32\x63\x39\x2e\x35\x39\x2c\x30\x2c\x31\x37\x2e\x33\x38\
+\x31\x2c\x37\x2e\x37\x38\x35\x2c\x31\x37\x2e\x33\x38\x31\x2c\x31\
+\x37\x2e\x34\x0a\x09\x09\x63\x30\x2c\x39\x2e\x36\x35\x2d\x37\x2e\
+\x37\x39\x31\x2c\x31\x37\x2e\x35\x32\x31\x2d\x31\x37\x2e\x33\x38\
+\x31\x2c\x31\x37\x2e\x35\x32\x31\x63\x2d\x39\x2e\x35\x37\x37\x2c\
+\x30\x2d\x31\x37\x2e\x33\x39\x39\x2d\x37\x2e\x38\x37\x31\x2d\x31\
+\x37\x2e\x33\x39\x39\x2d\x31\x37\x2e\x35\x32\x31\x43\x32\x39\x30\
+\x2e\x34\x36\x38\x2c\x33\x39\x30\x2e\x35\x39\x2c\x32\x39\x38\x2e\
+\x32\x37\x34\x2c\x33\x38\x32\x2e\x38\x32\x2c\x33\x30\x37\x2e\x38\
+\x36\x37\x2c\x33\x38\x32\x2e\x38\x32\x7a\x22\x2f\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
\x00\x00\x02\x72\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
@@ -1698,324 +2193,7 @@ qt_resource_data = b"\
\x32\x37\x56\x32\x33\x34\x2e\x36\x32\x35\x7a\x22\x2f\x3e\x0a\x09\
\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
\x0a\
-\x00\x00\x01\xd8\
-\x00\
-\x00\x06\xc4\x78\x9c\xcd\x54\x4d\x6f\x9b\x40\x10\x3d\xe3\x5f\x31\
-\xdd\x5b\x25\xf6\x0b\x62\x62\x53\xe3\xa8\xfe\x90\x65\x29\x6d\x2d\
-\x35\x75\xd5\x53\x85\x61\x0b\x28\x14\x10\x2c\x60\xe7\xd7\x77\x77\
-\xed\x54\xa9\x14\x5f\x43\x0f\x3b\xab\x9d\x79\xf3\xe6\x0d\x4f\x62\
-\x76\x77\xfc\x9d\x43\x27\xea\x26\x2b\x8b\x00\x71\xc2\x10\x88\x22\
-\x2a\xe3\xac\x48\x02\xd4\xca\x5f\x78\x82\xee\xe6\xa3\xd9\x3b\x8c\
-\x61\x23\x0a\x51\x87\xb2\xac\x7d\xf8\x18\x97\x07\x01\xdb\x3c\x6f\
-\x1b\x69\x52\xc0\x3d\xe2\x10\x6e\xc3\xd7\xfd\x06\xd6\xc7\xaa\xac\
-\x25\xec\xf2\x36\xc1\xdb\x02\x88\x49\xee\xcf\x33\x7c\xf0\x08\x63\
-\xb0\x68\xb3\x3c\x06\xf6\x1e\x00\x63\x4d\xbf\xfa\xb2\x7c\xf8\xb1\
-\x5b\x43\xd3\x25\xb0\xfb\xb6\xb8\xdf\x2e\x01\x61\x4a\xbf\xbb\x4b\
-\x4a\x57\x0f\x2b\xc3\xc0\x09\xa7\x74\xfd\x19\x01\x4a\xa5\xac\x7c\
-\x4a\xfb\xbe\x27\xbd\x4b\xca\x3a\xa1\x9b\x3a\xac\xd2\x2c\x6a\xa8\
-\x02\x52\x0d\x54\x4d\x54\x91\x71\x4e\x62\x19\x23\x35\x42\x33\xbf\
-\xd8\x93\x23\xc8\xe2\x00\xdd\x87\x27\x51\xff\x54\x0f\xf5\x19\x8a\
-\x26\x78\x85\xd9\x61\x8c\x69\xa6\x0b\xc4\x3f\xe6\x59\xf1\xf8\x1a\
-\x90\x4f\xa7\x53\x6a\xaa\x0a\x1a\x20\x56\x1d\x11\x9c\xce\xf7\xc8\
-\x82\x3e\x8b\x65\x1a\xa0\x31\x77\x74\x3e\x15\x59\x92\xca\xbf\xcf\
-\x2e\x13\xfd\xa2\xd4\x4d\xc0\x40\xe5\xf4\x41\xd0\xc8\x53\x2e\x02\
-\x24\x8a\xf0\x90\x0b\x7c\x08\xa3\xc7\xa4\x2e\xdb\x22\xf6\x0b\xd1\
-\xc3\x0b\xe4\x07\x23\xcd\x6f\xaa\x30\x52\xf0\xaa\x16\x8d\xa8\x3b\
-\xa1\x77\x4e\xe6\x23\xcb\x04\x6b\x56\x85\x32\x05\xb5\xf0\x27\xee\
-\x31\x9b\x8f\x5d\xe2\x46\xcc\x76\xc9\x2d\x76\x6d\x4f\x45\x75\xf4\
-\x9d\xe2\x31\x23\xe3\x08\xab\x82\xcd\x74\x12\xbb\xf8\x52\xee\xce\
-\x25\x66\x6a\xee\x73\x83\xbe\x53\x53\x30\x2d\x3a\x65\x1b\x46\x7d\
-\xf6\x66\xce\x93\x5a\xdf\xb2\xe8\xbf\x2a\x9c\xc9\xe4\x3f\x50\x71\
-\xc3\xbd\xa1\x54\xcc\xe8\x35\x73\x9c\x09\x7f\x13\x41\x66\xce\x55\
-\x73\x86\x57\xa1\xcd\x19\x48\xc5\x75\x73\x6e\xd8\xf4\x4d\x04\x99\
-\x39\x57\xcd\x19\x5e\x85\x36\x67\x20\x15\xc6\x9c\x4b\x50\xff\xe5\
-\xf9\xe8\x0f\x44\x1a\x94\x79\
-\x00\x00\x03\x5a\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
-\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
-\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
-\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
-\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
-\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
-\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
-\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
-\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
-\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
-\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
-\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
-\x27\x36\x33\x2e\x39\x39\x39\x36\x70\x74\x27\x20\x68\x65\x69\x67\
-\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
-\x78\x3d\x27\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\
-\x35\x38\x20\x36\x33\x2e\x39\x39\x39\x36\x20\x36\x34\x27\x3e\x0a\
-\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
-\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
-\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\x34\x30\x39\x34\x20\x31\
-\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
-\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
-\x27\x4d\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
-\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x36\x32\x2e\x32\x33\
-\x32\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x32\x2e\x30\x30\
-\x37\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x32\x2e\x30\x30\x37\
-\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
-\x35\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
-\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
-\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
-\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
-\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
-\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
-\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
-\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x34\x2e\x30\x31\x35\x27\
-\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\
-\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\
-\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\x35\x38\x29\
-\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\
-\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x27\x4d\x20\x34\x37\x2e\x31\
-\x37\x36\x32\x20\x33\x32\x2e\x31\x32\x43\x20\x34\x37\x2e\x31\x37\
-\x36\x32\x20\x32\x33\x2e\x38\x30\x34\x37\x20\x34\x30\x2e\x34\x33\
-\x35\x33\x20\x31\x37\x2e\x30\x36\x33\x37\x20\x33\x32\x2e\x31\x32\
-\x20\x31\x37\x2e\x30\x36\x33\x37\x43\x20\x32\x33\x2e\x38\x30\x34\
-\x37\x20\x31\x37\x2e\x30\x36\x33\x37\x20\x31\x37\x2e\x30\x36\x33\
-\x37\x20\x32\x33\x2e\x38\x30\x34\x37\x20\x31\x37\x2e\x30\x36\x33\
-\x37\x20\x33\x32\x2e\x31\x32\x43\x20\x31\x37\x2e\x30\x36\x33\x37\
-\x20\x34\x30\x2e\x34\x33\x35\x33\x20\x32\x33\x2e\x38\x30\x34\x37\
-\x20\x34\x37\x2e\x31\x37\x36\x32\x20\x33\x32\x2e\x31\x32\x20\x34\
-\x37\x2e\x31\x37\x36\x32\x43\x20\x34\x30\x2e\x34\x33\x35\x33\x20\
-\x34\x37\x2e\x31\x37\x36\x32\x20\x34\x37\x2e\x31\x37\x36\x32\x20\
-\x34\x30\x2e\x34\x33\x35\x33\x20\x34\x37\x2e\x31\x37\x36\x32\x20\
-\x33\x32\x2e\x31\x32\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x30\
-\x30\x30\x30\x30\x30\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\
-\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
-\x00\x00\x02\x1c\
-\x00\
-\x00\x07\x5c\x78\x9c\xdd\x55\x4d\x73\x9b\x30\x10\xbd\xf7\x57\x6c\
-\xa7\x07\x25\x07\x84\xbe\x10\x28\x13\x92\x99\x7a\xa6\xa7\xf4\x96\
-\x5c\x7a\xc3\x41\x80\x1a\x0c\x1e\xa0\xc6\xfd\xf7\x95\x6d\x49\x76\
-\x69\x33\xbd\xe4\xd0\x89\x0f\x98\xf7\x56\x6f\xd9\xb7\xcb\x0e\xb7\
-\xf7\xfb\x4d\x0b\x3b\x3d\x8c\xa6\xef\x72\x44\x31\x41\xa0\xbb\xe7\
-\xbe\x34\x5d\x9d\xa3\xa7\xc7\x2f\x51\x86\xee\xef\x3e\xdc\x7e\x8c\
-\x22\x78\x6c\xcc\x08\x95\x69\x35\xcc\xc5\x08\xb5\xee\xf4\x50\x4c\
-\xba\x84\xf5\x4f\x28\x77\x66\xdc\xd5\x1b\x60\x98\x52\x4c\x21\x8a\
-\xac\xc4\x12\x97\x89\x29\x02\xfb\xa8\x6e\xcc\x51\x33\x4d\xdb\x9b\
-\x38\x9e\xe7\x19\xcf\x1c\xf7\x43\x1d\x33\x42\x48\x6c\xcf\xbb\x23\
-\x37\xfb\xd6\x74\x2f\x7f\x3b\x48\x95\x52\xf1\x31\x8a\x60\x36\xe5\
-\xd4\xe4\x48\x72\x6c\x49\xb9\x9d\x10\x34\xda\xd4\xcd\x64\x29\x71\
-\x40\x3b\xa3\xe7\xcf\xfd\x3e\x47\x89\xc4\x82\x28\x01\x94\xa6\x38\
-\x4b\x32\x70\x0a\x90\x02\xd9\x32\x6b\x30\x65\x8e\xb6\x45\xad\xe9\
-\x09\x4e\x43\xd1\x8d\x55\x3f\x6c\x72\x74\xbc\x6d\xad\xc9\xab\x45\
-\x8e\xeb\xf1\xb9\x68\xf5\x95\xcd\x23\x99\x14\xd7\x07\xe1\xb6\x98\
-\x1a\xb0\x99\xbe\x82\xc2\x5c\xa4\x82\x81\x60\x38\x15\x29\x7b\x08\
-\x44\x22\x70\xa6\x98\xfc\x83\x58\x2d\x89\x7f\xe1\x0b\x81\xc2\x24\
-\x13\x0a\xa8\xc2\x89\xe0\x14\x24\xc3\x22\xe3\x02\xb8\x9d\x04\xf3\
-\x68\x05\x42\x60\xa9\xa4\x0a\x61\x9f\xd7\xcb\x03\xf6\x15\xbe\x4a\
-\x04\x53\x9e\xe0\x04\x4b\x42\xb3\x55\x20\xd8\xb1\x55\x49\x78\x26\
-\xe3\x98\x50\xea\x2a\x3a\x81\x55\xa8\xd7\x05\xbd\x1d\xaf\xf5\xd8\
-\x25\x7f\x58\xf6\xf4\x1b\x3a\xbc\x88\x6d\x8e\x3e\xad\xab\x75\x55\
-\x55\x28\xb6\x13\x88\xeb\xb7\x99\x5f\x30\x22\x70\xc2\x14\xbd\x70\
-\x46\x30\xe7\x32\x0b\xce\xa8\xc4\x8a\x67\xdc\x59\x73\xe8\xec\xcd\
-\x87\x83\x39\x27\x0f\xd8\xe7\x0f\x44\x86\x53\x46\x93\x90\xe0\x94\
-\xf7\xe2\x7a\x1e\xe4\x89\x0c\x85\x39\xe1\xa2\xf2\xd0\xa5\xae\xef\
-\x34\x82\x71\x1a\xfa\x17\x6d\x7b\x46\x8e\x3f\x4f\x44\x76\x9d\xf4\
-\x73\xb1\xcd\xd1\xd0\xff\xe8\xca\xdf\xe8\xef\xbd\xe9\x96\xfc\xc6\
-\x4c\x7a\x68\x8d\xfd\xb3\x6b\x4d\x30\xe1\x69\x12\x62\x6e\x27\x39\
-\x4e\x28\xa7\xec\x4d\xa7\xb2\xe8\xda\xfb\xda\x2a\x67\xea\x3d\xcd\
-\xeb\xd5\x2d\xb2\x5f\x08\x95\x30\x76\xde\x22\x9c\x26\x32\x91\x7e\
-\x8b\x4e\xe8\x62\x8b\x5c\xd8\xcf\xc6\xcb\x17\xef\xc3\x7f\xd3\xba\
-\xd3\xc5\x7e\xcc\xee\x7e\x01\xb3\x30\xdb\xa9\
-\x00\x00\x03\x3f\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
-\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
-\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
-\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
-\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
-\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
-\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
-\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
-\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
-\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
-\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
-\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
-\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
-\x5f\x32\x31\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\
-\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\x35\x32\x63\
-\x2d\x35\x37\x2e\x32\x2c\x30\x2d\x31\x30\x34\x2c\x34\x36\x2e\x38\
-\x2d\x31\x30\x34\x2c\x31\x30\x34\x73\x34\x36\x2e\x38\x2c\x31\x30\
-\x34\x2c\x31\x30\x34\x2c\x31\x30\x34\x73\x31\x30\x34\x2d\x34\x36\
-\x2e\x38\x2c\x31\x30\x34\x2d\x31\x30\x34\x53\x33\x31\x33\x2e\x32\
-\x2c\x31\x35\x32\x2c\x32\x35\x36\x2c\x31\x35\x32\x7a\x20\x4d\x32\
-\x35\x36\x2c\x34\x38\x0a\x09\x09\x09\x43\x31\x34\x31\x2e\x36\x30\
-\x31\x2c\x34\x38\x2c\x34\x38\x2c\x31\x34\x31\x2e\x36\x30\x31\x2c\
-\x34\x38\x2c\x32\x35\x36\x73\x39\x33\x2e\x36\x30\x31\x2c\x32\x30\
-\x38\x2c\x32\x30\x38\x2c\x32\x30\x38\x73\x32\x30\x38\x2d\x39\x33\
-\x2e\x36\x30\x31\x2c\x32\x30\x38\x2d\x32\x30\x38\x53\x33\x37\x30\
-\x2e\x33\x39\x39\x2c\x34\x38\x2c\x32\x35\x36\x2c\x34\x38\x7a\x20\
-\x4d\x32\x35\x36\x2c\x34\x32\x32\x2e\x34\x0a\x09\x09\x09\x63\x2d\
-\x39\x31\x2e\x35\x31\x38\x2c\x30\x2d\x31\x36\x36\x2e\x34\x2d\x37\
-\x34\x2e\x38\x38\x33\x2d\x31\x36\x36\x2e\x34\x2d\x31\x36\x36\x2e\
-\x34\x53\x31\x36\x34\x2e\x34\x38\x32\x2c\x38\x39\x2e\x36\x2c\x32\
-\x35\x36\x2c\x38\x39\x2e\x36\x53\x34\x32\x32\x2e\x34\x2c\x31\x36\
-\x34\x2e\x34\x38\x32\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\x36\x53\
-\x33\x34\x37\x2e\x35\x31\x38\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\
-\x36\x2c\x34\x32\x32\x2e\x34\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\
-\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\xb7\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4d\
-\x61\x67\x6e\x69\x66\x79\x69\x6e\x67\x5f\x67\x6c\x61\x73\x73\x22\
-\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
-\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\
-\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\
-\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
-\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x78\
-\x3d\x22\x30\x70\x78\x22\x0a\x09\x20\x79\x3d\x22\x30\x70\x78\x22\
-\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\x20\x35\x31\
-\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\
-\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\x77\x20\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\x6d\x6c\x3a\x73\
-\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\
-\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\
-\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\x20\x30\x20\x32\x34\x20\
-\x30\x20\x30\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\
-\x4d\x31\x37\x2e\x35\x34\x35\x2c\x31\x35\x2e\x34\x36\x37\x6c\x2d\
-\x33\x2e\x37\x37\x39\x2d\x33\x2e\x37\x37\x39\x63\x30\x2e\x35\x37\
-\x2d\x30\x2e\x39\x33\x35\x2c\x30\x2e\x38\x39\x38\x2d\x32\x2e\x30\
-\x33\x35\x2c\x30\x2e\x38\x39\x38\x2d\x33\x2e\x32\x31\x63\x30\x2d\
-\x33\x2e\x34\x31\x37\x2d\x32\x2e\x39\x36\x31\x2d\x36\x2e\x33\x37\
-\x37\x2d\x36\x2e\x33\x37\x38\x2d\x36\x2e\x33\x37\x37\x0a\x09\x43\
-\x34\x2e\x38\x36\x39\x2c\x32\x2e\x31\x2c\x32\x2e\x31\x2c\x34\x2e\
-\x38\x37\x2c\x32\x2e\x31\x2c\x38\x2e\x32\x38\x37\x63\x30\x2c\x33\
-\x2e\x34\x31\x36\x2c\x32\x2e\x39\x36\x31\x2c\x36\x2e\x33\x37\x37\
-\x2c\x36\x2e\x33\x37\x37\x2c\x36\x2e\x33\x37\x37\x63\x31\x2e\x31\
-\x33\x37\x2c\x30\x2c\x32\x2e\x32\x2d\x30\x2e\x33\x30\x39\x2c\x33\
-\x2e\x31\x31\x35\x2d\x30\x2e\x38\x34\x34\x6c\x33\x2e\x37\x39\x39\
-\x2c\x33\x2e\x38\x30\x31\x0a\x09\x63\x30\x2e\x33\x37\x32\x2c\x30\
-\x2e\x33\x37\x31\x2c\x30\x2e\x39\x37\x35\x2c\x30\x2e\x33\x37\x31\
-\x2c\x31\x2e\x33\x34\x36\x2c\x30\x6c\x30\x2e\x39\x34\x33\x2d\x30\
-\x2e\x39\x34\x33\x43\x31\x38\x2e\x30\x35\x31\x2c\x31\x36\x2e\x33\
-\x30\x37\x2c\x31\x37\x2e\x39\x31\x36\x2c\x31\x35\x2e\x38\x33\x38\
-\x2c\x31\x37\x2e\x35\x34\x35\x2c\x31\x35\x2e\x34\x36\x37\x7a\x20\
-\x4d\x34\x2e\x30\x30\x34\x2c\x38\x2e\x32\x38\x37\x0a\x09\x63\x30\
-\x2d\x32\x2e\x33\x36\x36\x2c\x31\x2e\x39\x31\x37\x2d\x34\x2e\x32\
-\x38\x33\x2c\x34\x2e\x32\x38\x32\x2d\x34\x2e\x32\x38\x33\x63\x32\
-\x2e\x33\x36\x36\x2c\x30\x2c\x34\x2e\x34\x37\x34\x2c\x32\x2e\x31\
-\x30\x37\x2c\x34\x2e\x34\x37\x34\x2c\x34\x2e\x34\x37\x34\x63\x30\
-\x2c\x32\x2e\x33\x36\x35\x2d\x31\x2e\x39\x31\x38\x2c\x34\x2e\x32\
-\x38\x33\x2d\x34\x2e\x32\x38\x33\x2c\x34\x2e\x32\x38\x33\x0a\x09\
-\x43\x36\x2e\x31\x31\x31\x2c\x31\x32\x2e\x37\x36\x2c\x34\x2e\x30\
-\x30\x34\x2c\x31\x30\x2e\x36\x35\x32\x2c\x34\x2e\x30\x30\x34\x2c\
-\x38\x2e\x32\x38\x37\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
-\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x00\x6c\
-\x3c\
-\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
-\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
-\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\
-\x30\x20\x30\x20\x32\x30\x20\x32\x30\x22\x3e\x3c\x70\x61\x74\x68\
-\x20\x64\x3d\x22\x4d\x31\x38\x20\x31\x32\x76\x31\x48\x38\x76\x35\
-\x6c\x2d\x36\x2d\x36\x20\x36\x2d\x36\x76\x35\x68\x38\x56\x32\x68\
-\x32\x7a\x22\x2f\x3e\x3c\x2f\x73\x76\x67\x3e\
-\x00\x00\x04\x13\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
-\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
-\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
-\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
-\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
-\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
-\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
-\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
-\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
-\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
-\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
-\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
-\x27\x36\x34\x2e\x30\x30\x30\x31\x70\x74\x27\x20\x68\x65\x69\x67\
-\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
-\x78\x3d\x27\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
-\x35\x38\x20\x36\x34\x2e\x30\x30\x30\x31\x20\x36\x34\x27\x3e\x0a\
-\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
-\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
-\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
-\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
-\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
-\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x4c\
-\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
-\x4c\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\x37\
-\x38\x4c\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\x31\
-\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
-\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
-\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
-\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
-\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
-\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
-\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
-\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\
-\x37\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
-\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\
-\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\
-\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\
-\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\
-\x2e\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\
-\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\
-\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\
-\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\
-\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\
-\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\
-\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\
-\x63\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\
-\x20\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\
-\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\
-\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
-\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
-\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
-\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
-\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\
-\x63\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\
-\x27\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\
-\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\
-\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\
-\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\
-\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
-\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\
-\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\
-\x34\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\
-\x37\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\
-\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\
-\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
-\x67\x3e\
-\x00\x00\x04\x17\
+\x00\x00\x04\x42\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x69\x73\x6f\
@@ -2040,50 +2218,53 @@ qt_resource_data = b"\
\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\
\x20\x34\x32\x33\x2e\x37\x35\x34\x3b\x22\x20\x78\x6d\x6c\x3a\x73\
\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\
-\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x33\x35\x34\x2e\x32\
-\x34\x2c\x34\x37\x2e\x34\x6c\x33\x39\x2e\x38\x37\x39\x2d\x33\x39\
-\x2e\x38\x37\x39\x48\x32\x37\x32\x2e\x31\x39\x36\x76\x31\x32\x31\
-\x2e\x39\x32\x34\x6c\x36\x30\x2e\x38\x30\x31\x2d\x36\x30\x2e\x38\
-\x30\x31\x63\x35\x36\x2c\x35\x30\x2e\x30\x36\x36\x2c\x37\x37\x2e\
-\x32\x35\x31\x2c\x31\x33\x32\x2e\x30\x30\x34\x2c\x34\x36\x2e\x39\
-\x31\x38\x2c\x32\x30\x35\x2e\x32\x33\x35\x0a\x09\x63\x2d\x31\x38\
-\x2e\x35\x38\x35\x2c\x34\x34\x2e\x38\x36\x39\x2d\x35\x33\x2e\x35\
-\x33\x31\x2c\x37\x39\x2e\x38\x31\x35\x2d\x39\x38\x2e\x34\x2c\x39\
-\x38\x2e\x34\x63\x2d\x34\x34\x2e\x38\x36\x36\x2c\x31\x38\x2e\x35\
-\x38\x35\x2d\x39\x34\x2e\x32\x38\x38\x2c\x31\x38\x2e\x35\x38\x35\
-\x2d\x31\x33\x39\x2e\x31\x35\x38\x2c\x30\x63\x2d\x34\x34\x2e\x38\
-\x36\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x37\x39\x2e\x38\x31\x35\
-\x2d\x35\x33\x2e\x35\x33\x31\x2d\x39\x38\x2e\x34\x2d\x39\x38\x2e\
-\x34\x0a\x09\x63\x2d\x31\x38\x2e\x35\x38\x35\x2d\x34\x34\x2e\x38\
-\x36\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x39\x34\x2e\x32\x39\x2c\
-\x30\x2d\x31\x33\x39\x2e\x31\x35\x39\x6c\x2d\x32\x37\x2e\x37\x31\
-\x37\x2d\x31\x31\x2e\x34\x38\x63\x2d\x32\x31\x2e\x36\x35\x31\x2c\
-\x35\x32\x2e\x32\x37\x32\x2d\x32\x31\x2e\x36\x35\x31\x2c\x31\x30\
-\x39\x2e\x38\x34\x38\x2c\x30\x2c\x31\x36\x32\x2e\x31\x32\x0a\x09\
+\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x30\x37\x2e\x35\
+\x31\x36\x2c\x31\x32\x33\x2e\x32\x33\x39\x6c\x2d\x32\x37\x2e\x37\
+\x31\x37\x2c\x31\x31\x2e\x34\x38\x63\x31\x38\x2e\x35\x38\x35\x2c\
+\x34\x34\x2e\x38\x36\x39\x2c\x31\x38\x2e\x35\x38\x35\x2c\x39\x34\
+\x2e\x32\x39\x31\x2c\x30\x2c\x31\x33\x39\x2e\x31\x35\x39\x63\x2d\
+\x31\x38\x2e\x35\x38\x35\x2c\x34\x34\x2e\x38\x36\x39\x2d\x35\x33\
+\x2e\x35\x33\x31\x2c\x37\x39\x2e\x38\x31\x35\x2d\x39\x38\x2e\x34\
+\x2c\x39\x38\x2e\x34\x0a\x09\x63\x2d\x32\x32\x2e\x34\x33\x38\x2c\
+\x39\x2e\x32\x39\x33\x2d\x34\x36\x2e\x30\x30\x34\x2c\x31\x33\x2e\
+\x39\x34\x2d\x36\x39\x2e\x35\x37\x39\x2c\x31\x33\x2e\x39\x33\x39\
+\x63\x2d\x32\x33\x2e\x35\x36\x39\x2d\x30\x2e\x30\x30\x31\x2d\x34\
+\x37\x2e\x31\x34\x37\x2d\x34\x2e\x36\x34\x37\x2d\x36\x39\x2e\x35\
+\x37\x39\x2d\x31\x33\x2e\x39\x33\x39\x63\x2d\x34\x34\x2e\x38\x36\
+\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x37\x39\x2e\x38\x31\x35\x2d\
+\x35\x33\x2e\x35\x33\x31\x2d\x39\x38\x2e\x34\x2d\x39\x38\x2e\x34\
+\x0a\x09\x43\x31\x33\x2e\x35\x30\x37\x2c\x32\x30\x30\x2e\x36\x34\
+\x37\x2c\x33\x34\x2e\x37\x35\x38\x2c\x31\x31\x38\x2e\x37\x31\x2c\
+\x39\x30\x2e\x37\x35\x38\x2c\x36\x38\x2e\x36\x34\x34\x6c\x36\x30\
+\x2e\x38\x30\x31\x2c\x36\x30\x2e\x38\x30\x31\x56\x37\x2e\x35\x32\
+\x31\x48\x32\x39\x2e\x36\x33\x35\x4c\x36\x39\x2e\x35\x31\x34\x2c\
+\x34\x37\x2e\x34\x43\x35\x2e\x32\x32\x32\x2c\x31\x30\x35\x2e\x38\
+\x32\x36\x2d\x31\x38\x2e\x39\x38\x35\x2c\x32\x30\x30\x2e\x36\x2c\
+\x31\x36\x2e\x31\x32\x33\x2c\x32\x38\x35\x2e\x33\x35\x39\x0a\x09\
\x63\x32\x31\x2e\x36\x35\x32\x2c\x35\x32\x2e\x32\x37\x32\x2c\x36\
\x32\x2e\x33\x36\x34\x2c\x39\x32\x2e\x39\x38\x34\x2c\x31\x31\x34\
-\x2e\x36\x33\x37\x2c\x31\x31\x34\x2e\x36\x33\x36\x63\x32\x36\x2e\
-\x31\x34\x2c\x31\x30\x2e\x38\x32\x37\x2c\x35\x33\x2e\x35\x39\x35\
-\x2c\x31\x36\x2e\x32\x34\x2c\x38\x31\x2e\x30\x36\x2c\x31\x36\x2e\
-\x32\x33\x39\x63\x32\x37\x2e\x34\x35\x39\x2d\x30\x2e\x30\x30\x31\
-\x2c\x35\x34\x2e\x39\x32\x37\x2d\x35\x2e\x34\x31\x34\x2c\x38\x31\
-\x2e\x30\x36\x31\x2d\x31\x36\x2e\x32\x33\x39\x0a\x09\x63\x35\x32\
-\x2e\x32\x37\x31\x2d\x32\x31\x2e\x36\x35\x32\x2c\x39\x32\x2e\x39\
-\x38\x33\x2d\x36\x32\x2e\x33\x36\x34\x2c\x31\x31\x34\x2e\x36\x33\
-\x36\x2d\x31\x31\x34\x2e\x36\x33\x36\x43\x34\x34\x32\x2e\x37\x33\
-\x39\x2c\x32\x30\x30\x2e\x36\x2c\x34\x31\x38\x2e\x35\x33\x32\x2c\
-\x31\x30\x35\x2e\x38\x32\x36\x2c\x33\x35\x34\x2e\x32\x34\x2c\x34\
-\x37\x2e\x34\x7a\x22\x2f\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\
-\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\
-\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\
+\x2e\x36\x33\x36\x2c\x31\x31\x34\x2e\x36\x33\x36\x63\x32\x36\x2e\
+\x31\x33\x37\x2c\x31\x30\x2e\x38\x32\x36\x2c\x35\x33\x2e\x35\x39\
+\x39\x2c\x31\x36\x2e\x32\x33\x39\x2c\x38\x31\x2e\x30\x36\x31\x2c\
+\x31\x36\x2e\x32\x33\x39\x73\x35\x34\x2e\x39\x32\x34\x2d\x35\x2e\
+\x34\x31\x33\x2c\x38\x31\x2e\x30\x36\x2d\x31\x36\x2e\x32\x33\x39\
+\x0a\x09\x63\x35\x32\x2e\x32\x37\x32\x2d\x32\x31\x2e\x36\x35\x32\
+\x2c\x39\x32\x2e\x39\x38\x34\x2d\x36\x32\x2e\x33\x36\x34\x2c\x31\
+\x31\x34\x2e\x36\x33\x37\x2d\x31\x31\x34\x2e\x36\x33\x36\x43\x34\
+\x32\x39\x2e\x31\x36\x37\x2c\x32\x33\x33\x2e\x30\x38\x37\x2c\x34\
+\x32\x39\x2e\x31\x36\x37\x2c\x31\x37\x35\x2e\x35\x31\x31\x2c\x34\
+\x30\x37\x2e\x35\x31\x36\x2c\x31\x32\x33\x2e\x32\x33\x39\x7a\x22\
+\x2f\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\
\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\
\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\
\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\
\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\
\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\
\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
-\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\x2a\
+\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\
+\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x0a\
+\x00\x00\x05\xbb\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -2114,71 +2295,70 @@ qt_resource_data = b"\
\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x6f\x6c\x79\x67\
-\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x33\x39\x36\x2e\x37\
-\x39\x35\x2c\x33\x39\x36\x2e\x38\x20\x33\x32\x30\x2c\x33\x39\x36\
-\x2e\x38\x20\x33\x32\x30\x2c\x34\x34\x38\x20\x34\x34\x38\x2c\x34\
-\x34\x38\x20\x34\x34\x38\x2c\x33\x32\x30\x20\x33\x39\x36\x2e\x37\
-\x39\x35\x2c\x33\x32\x30\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\
-\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x33\x39\
-\x36\x2e\x38\x2c\x31\x31\x35\x2e\x32\x30\x35\x20\x33\x39\x36\x2e\
-\x38\x2c\x31\x39\x32\x20\x34\x34\x38\x2c\x31\x39\x32\x20\x34\x34\
-\x38\x2c\x36\x34\x20\x33\x32\x30\x2c\x36\x34\x20\x33\x32\x30\x2c\
-\x31\x31\x35\x2e\x32\x30\x35\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\
-\x6f\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x31\
-\x31\x35\x2e\x32\x30\x35\x2c\x31\x31\x35\x2e\x32\x20\x31\x39\x32\
-\x2c\x31\x31\x35\x2e\x32\x20\x31\x39\x32\x2c\x36\x34\x20\x36\x34\
-\x2c\x36\x34\x20\x36\x34\x2c\x31\x39\x32\x20\x31\x31\x35\x2e\x32\
-\x30\x35\x2c\x31\x39\x32\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\
-\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x31\x31\
-\x35\x2e\x32\x2c\x33\x39\x36\x2e\x37\x39\x35\x20\x31\x31\x35\x2e\
-\x32\x2c\x33\x32\x30\x20\x36\x34\x2c\x33\x32\x30\x20\x36\x34\x2c\
-\x34\x34\x38\x20\x31\x39\x32\x2c\x34\x34\x38\x20\x31\x39\x32\x2c\
-\x33\x39\x36\x2e\x37\x39\x35\x20\x09\x22\x2f\x3e\x0a\x3c\x2f\x67\
-\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x02\x77\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
-\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
-\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
-\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
-\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
-\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
-\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
-\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
-\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
-\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
-\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
-\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
-\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
-\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x6f\x6c\
-\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x32\x38\x38\
-\x2c\x39\x36\x20\x33\x33\x37\x2e\x39\x2c\x31\x34\x35\x2e\x39\x20\
-\x32\x37\x34\x2c\x32\x30\x39\x2e\x37\x20\x32\x37\x34\x2c\x32\x30\
-\x39\x2e\x37\x20\x31\x34\x35\x2e\x39\x2c\x33\x33\x37\x2e\x39\x20\
-\x39\x36\x2c\x32\x38\x38\x20\x39\x36\x2c\x34\x31\x36\x20\x32\x32\
-\x34\x2c\x34\x31\x36\x20\x31\x37\x34\x2e\x31\x2c\x33\x36\x36\x2e\
-\x31\x20\x33\x35\x37\x2e\x34\x2c\x31\x38\x32\x2e\x39\x20\x33\x36\
-\x36\x2e\x31\x2c\x31\x37\x34\x2e\x31\x20\x0a\x09\x34\x31\x36\x2c\
-\x32\x32\x34\x20\x34\x31\x36\x2c\x39\x36\x20\x22\x2f\x3e\x0a\x3c\
-\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\x48\
+\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\
+\x35\x30\x2e\x36\x37\x39\x2c\x32\x37\x33\x2e\x35\x63\x2d\x31\x34\
+\x2e\x35\x38\x35\x2d\x31\x34\x2e\x35\x37\x37\x2d\x33\x36\x2e\x30\
+\x35\x34\x2d\x31\x35\x2e\x38\x39\x2d\x35\x30\x2e\x36\x33\x39\x2d\
+\x31\x2e\x33\x31\x32\x6c\x2d\x34\x31\x2e\x36\x38\x37\x2c\x34\x31\
+\x2e\x36\x36\x34\x63\x2d\x31\x30\x2e\x38\x35\x32\x2c\x31\x30\x2e\
+\x38\x33\x36\x2d\x32\x33\x2e\x39\x33\x2c\x31\x30\x2e\x38\x35\x39\
+\x2d\x33\x31\x2e\x35\x36\x34\x2c\x31\x2e\x38\x35\x32\x0a\x09\x63\
+\x2d\x35\x2e\x30\x35\x37\x2d\x35\x2e\x39\x36\x38\x2d\x33\x2e\x30\
+\x36\x31\x2d\x32\x34\x2e\x33\x37\x34\x2d\x31\x2e\x36\x34\x34\x2d\
+\x33\x36\x2e\x30\x34\x39\x6c\x32\x30\x2e\x39\x30\x37\x2d\x31\x37\
+\x31\x2e\x38\x34\x39\x63\x31\x2e\x38\x36\x37\x2d\x31\x35\x2e\x33\
+\x35\x33\x2d\x39\x2e\x30\x37\x2d\x33\x30\x2e\x31\x38\x35\x2d\x32\
+\x34\x2e\x34\x33\x2d\x33\x32\x2e\x30\x35\x31\x0a\x09\x63\x2d\x31\
+\x35\x2e\x33\x35\x38\x2d\x31\x2e\x38\x36\x37\x2d\x32\x39\x2e\x33\
+\x32\x32\x2c\x39\x2e\x39\x33\x39\x2d\x33\x31\x2e\x31\x39\x31\x2c\
+\x32\x35\x2e\x32\x38\x39\x4c\x32\x36\x37\x2e\x33\x37\x2c\x32\x33\
+\x36\x2e\x30\x32\x31\x63\x2d\x31\x2e\x32\x30\x35\x2c\x33\x2e\x33\
+\x35\x38\x2d\x33\x2e\x37\x39\x2c\x33\x2e\x39\x33\x38\x2d\x34\x2e\
+\x30\x38\x31\x2d\x30\x2e\x35\x38\x32\x4c\x32\x35\x35\x2e\x34\x34\
+\x2c\x36\x30\x0a\x09\x63\x30\x2d\x31\x35\x2e\x34\x36\x35\x2d\x31\
+\x32\x2e\x35\x34\x32\x2d\x32\x38\x2d\x32\x38\x2e\x30\x31\x34\x2d\
+\x32\x38\x63\x2d\x31\x35\x2e\x34\x37\x33\x2c\x30\x2d\x32\x38\x2e\
+\x30\x31\x35\x2c\x31\x32\x2e\x35\x33\x35\x2d\x32\x38\x2e\x30\x31\
+\x35\x2c\x32\x38\x6c\x2d\x30\x2e\x35\x35\x32\x2c\x31\x37\x36\x2e\
+\x37\x35\x32\x63\x30\x2e\x31\x34\x36\x2c\x32\x2e\x30\x34\x2d\x31\
+\x2e\x36\x30\x34\x2c\x32\x2e\x36\x32\x34\x2d\x31\x2e\x39\x32\x2c\
+\x30\x2e\x32\x39\x34\x4c\x31\x37\x32\x2e\x30\x31\x36\x2c\x39\x39\
+\x2e\x30\x37\x37\x0a\x09\x63\x2d\x32\x2e\x37\x35\x2d\x31\x35\x2e\
+\x32\x31\x39\x2d\x31\x37\x2e\x33\x32\x33\x2d\x32\x36\x2e\x32\x30\
+\x33\x2d\x33\x32\x2e\x35\x34\x38\x2d\x32\x33\x2e\x34\x35\x33\x63\
+\x2d\x31\x35\x2e\x32\x32\x37\x2c\x32\x2e\x37\x34\x38\x2d\x32\x35\
+\x2e\x33\x33\x39\x2c\x31\x38\x2e\x31\x38\x37\x2d\x32\x32\x2e\x35\
+\x39\x31\x2c\x33\x33\x2e\x34\x30\x33\x6c\x32\x32\x2e\x31\x39\x33\
+\x2c\x31\x36\x31\x2e\x34\x35\x35\x0a\x09\x63\x30\x2e\x30\x32\x33\
+\x2c\x32\x2e\x38\x37\x32\x2d\x30\x2e\x39\x34\x31\x2c\x34\x2e\x35\
+\x31\x33\x2d\x32\x2e\x33\x30\x38\x2c\x30\x2e\x38\x33\x31\x6c\x2d\
+\x33\x33\x2e\x31\x30\x39\x2d\x38\x38\x2e\x35\x31\x37\x63\x2d\x35\
+\x2e\x31\x38\x2d\x31\x34\x2e\x35\x37\x32\x2d\x32\x31\x2e\x31\x39\
+\x36\x2d\x32\x33\x2e\x30\x36\x35\x2d\x33\x35\x2e\x37\x37\x36\x2d\
+\x31\x37\x2e\x38\x38\x39\x0a\x09\x63\x2d\x31\x34\x2e\x35\x37\x39\
+\x2c\x35\x2e\x31\x37\x37\x2d\x32\x32\x2e\x32\x30\x31\x2c\x32\x32\
+\x2e\x30\x36\x31\x2d\x31\x37\x2e\x30\x32\x33\x2c\x33\x36\x2e\x36\
+\x33\x31\x6c\x35\x38\x2e\x30\x34\x32\x2c\x31\x38\x39\x2e\x36\x32\
+\x35\x63\x30\x2e\x33\x30\x33\x2c\x31\x2e\x30\x34\x36\x2c\x30\x2e\
+\x36\x32\x34\x2c\x32\x2e\x30\x38\x35\x2c\x30\x2e\x39\x35\x33\x2c\
+\x33\x2e\x31\x31\x38\x6c\x30\x2e\x31\x32\x31\x2c\x30\x2e\x33\x39\
+\x0a\x09\x63\x30\x2e\x30\x31\x31\x2c\x30\x2e\x30\x33\x31\x2c\x30\
+\x2e\x30\x32\x35\x2c\x30\x2e\x30\x35\x38\x2c\x30\x2e\x30\x33\x35\
+\x2c\x30\x2e\x30\x38\x38\x43\x31\x32\x36\x2e\x30\x37\x39\x2c\x34\
+\x34\x34\x2e\x32\x33\x33\x2c\x31\x37\x32\x2e\x35\x37\x2c\x34\x38\
+\x30\x2c\x32\x32\x37\x2e\x34\x32\x37\x2c\x34\x38\x30\x63\x33\x35\
+\x2e\x31\x31\x36\x2c\x30\x2c\x37\x31\x2e\x35\x39\x31\x2d\x31\x32\
+\x2e\x33\x37\x38\x2c\x39\x39\x2e\x33\x35\x37\x2d\x33\x33\x2e\x36\
+\x37\x32\x0a\x09\x63\x30\x2e\x30\x30\x31\x2c\x30\x2c\x30\x2e\x30\
+\x30\x33\x2d\x30\x2e\x30\x30\x32\x2c\x30\x2e\x30\x30\x33\x2d\x30\
+\x2e\x30\x30\x32\x63\x32\x39\x2e\x39\x39\x2d\x31\x38\x2e\x30\x35\
+\x31\x2c\x31\x32\x36\x2e\x30\x37\x31\x2d\x31\x32\x31\x2e\x33\x34\
+\x37\x2c\x31\x32\x36\x2e\x30\x37\x31\x2d\x31\x32\x31\x2e\x33\x34\
+\x37\x43\x34\x36\x37\x2e\x34\x34\x35\x2c\x33\x31\x30\x2e\x34\x30\
+\x32\x2c\x34\x36\x35\x2e\x32\x36\x36\x2c\x32\x38\x38\x2e\x30\x38\
+\x2c\x34\x35\x30\x2e\x36\x37\x39\x2c\x32\x37\x33\x2e\x35\x7a\x22\
+\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\xf0\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -2209,142 +2389,97 @@ qt_resource_data = b"\
\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\
-\x33\x37\x2e\x33\x33\x34\x2c\x31\x34\x34\x48\x32\x35\x36\x2e\x30\
-\x30\x36\x6c\x2d\x34\x32\x2e\x36\x36\x38\x2d\x34\x38\x48\x37\x34\
-\x2e\x36\x36\x36\x43\x35\x31\x2e\x31\x39\x37\x2c\x39\x36\x2c\x33\
-\x32\x2c\x31\x31\x35\x2e\x31\x39\x38\x2c\x33\x32\x2c\x31\x33\x38\
-\x2e\x36\x36\x37\x76\x32\x33\x34\x2e\x36\x36\x36\x43\x33\x32\x2c\
-\x33\x39\x36\x2e\x38\x30\x32\x2c\x35\x31\x2e\x31\x39\x37\x2c\x34\
-\x31\x36\x2c\x37\x34\x2e\x36\x36\x36\x2c\x34\x31\x36\x68\x33\x36\
-\x32\x2e\x36\x36\x38\x0a\x09\x43\x34\x36\x30\x2e\x38\x30\x33\x2c\
-\x34\x31\x36\x2c\x34\x38\x30\x2c\x33\x39\x36\x2e\x38\x30\x32\x2c\
-\x34\x38\x30\x2c\x33\x37\x33\x2e\x33\x33\x33\x56\x31\x38\x36\x2e\
-\x36\x36\x37\x43\x34\x38\x30\x2c\x31\x36\x33\x2e\x31\x39\x38\x2c\
-\x34\x36\x30\x2e\x38\x30\x33\x2c\x31\x34\x34\x2c\x34\x33\x37\x2e\
-\x33\x33\x34\x2c\x31\x34\x34\x7a\x20\x4d\x34\x34\x38\x2c\x33\x37\
-\x33\x2e\x33\x33\x33\x0a\x09\x63\x30\x2c\x35\x2e\x37\x38\x32\x2d\
-\x34\x2e\x38\x38\x35\x2c\x31\x30\x2e\x36\x36\x37\x2d\x31\x30\x2e\
-\x36\x36\x36\x2c\x31\x30\x2e\x36\x36\x37\x48\x37\x34\x2e\x36\x36\
-\x36\x43\x36\x38\x2e\x38\x38\x34\x2c\x33\x38\x34\x2c\x36\x34\x2c\
-\x33\x37\x39\x2e\x31\x31\x35\x2c\x36\x34\x2c\x33\x37\x33\x2e\x33\
-\x33\x33\x56\x31\x37\x36\x68\x33\x37\x33\x2e\x33\x33\x34\x63\x35\
-\x2e\x37\x38\x31\x2c\x30\x2c\x31\x30\x2e\x36\x36\x36\x2c\x34\x2e\
-\x38\x38\x35\x2c\x31\x30\x2e\x36\x36\x36\x2c\x31\x30\x2e\x36\x36\
-\x37\x0a\x09\x56\x33\x37\x33\x2e\x33\x33\x33\x7a\x22\x2f\x3e\x0a\
-\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\x03\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
-\x68\x65\x63\x6b\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\
-\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\
-\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\
-\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\
-\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\
-\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\x22\x30\
-\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\
-\x20\x30\x20\x32\x30\x20\x32\x30\x22\x20\x65\x6e\x61\x62\x6c\x65\
-\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\x77\
-\x20\x30\x20\x30\x20\x32\x30\x20\x32\x30\x22\x20\x78\x6d\x6c\x3a\
-\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\
-\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x38\x2e\x32\x39\
-\x34\x2c\x31\x36\x2e\x39\x39\x38\x63\x2d\x30\x2e\x34\x33\x35\x2c\
-\x30\x2d\x30\x2e\x38\x34\x37\x2d\x30\x2e\x32\x30\x33\x2d\x31\x2e\
-\x31\x31\x31\x2d\x30\x2e\x35\x35\x33\x4c\x33\x2e\x36\x31\x2c\x31\
-\x31\x2e\x37\x32\x34\x63\x2d\x30\x2e\x34\x36\x35\x2d\x30\x2e\x36\
-\x31\x33\x2d\x30\x2e\x33\x34\x34\x2d\x31\x2e\x34\x38\x36\x2c\x30\
-\x2e\x32\x37\x2d\x31\x2e\x39\x35\x31\x0a\x09\x63\x30\x2e\x36\x31\
-\x35\x2d\x30\x2e\x34\x36\x37\x2c\x31\x2e\x34\x38\x38\x2d\x30\x2e\
-\x33\x34\x34\x2c\x31\x2e\x39\x35\x33\x2c\x30\x2e\x32\x37\x6c\x32\
-\x2e\x33\x35\x31\x2c\x33\x2e\x31\x30\x34\x6c\x35\x2e\x39\x31\x31\
-\x2d\x39\x2e\x34\x39\x32\x63\x30\x2e\x34\x30\x37\x2d\x30\x2e\x36\
-\x35\x32\x2c\x31\x2e\x32\x36\x37\x2d\x30\x2e\x38\x35\x32\x2c\x31\
-\x2e\x39\x32\x31\x2d\x30\x2e\x34\x34\x35\x0a\x09\x63\x30\x2e\x36\
-\x35\x33\x2c\x30\x2e\x34\x30\x36\x2c\x30\x2e\x38\x35\x34\x2c\x31\
-\x2e\x32\x36\x36\x2c\x30\x2e\x34\x34\x36\x2c\x31\x2e\x39\x32\x4c\
-\x39\x2e\x34\x37\x38\x2c\x31\x36\x2e\x33\x34\x63\x2d\x30\x2e\x32\
-\x34\x32\x2c\x30\x2e\x33\x39\x31\x2d\x30\x2e\x36\x36\x31\x2c\x30\
-\x2e\x36\x33\x35\x2d\x31\x2e\x31\x32\x2c\x30\x2e\x36\x35\x36\x43\
-\x38\x2e\x33\x33\x36\x2c\x31\x36\x2e\x39\x39\x38\x2c\x38\x2e\x33\
-\x31\x36\x2c\x31\x36\x2e\x39\x39\x38\x2c\x38\x2e\x32\x39\x34\x2c\
-\x31\x36\x2e\x39\x39\x38\x7a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\
-\x3e\x0a\
-\x00\x00\x03\x3d\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x5f\x32\x30\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x34\x38\x43\x31\
+\x34\x31\x2e\x36\x30\x31\x2c\x34\x38\x2c\x34\x38\x2c\x31\x34\x31\
+\x2e\x36\x30\x31\x2c\x34\x38\x2c\x32\x35\x36\x73\x39\x33\x2e\x36\
+\x30\x31\x2c\x32\x30\x38\x2c\x32\x30\x38\x2c\x32\x30\x38\x73\x32\
+\x30\x38\x2d\x39\x33\x2e\x36\x30\x31\x2c\x32\x30\x38\x2d\x32\x30\
+\x38\x53\x33\x37\x30\x2e\x33\x39\x39\x2c\x34\x38\x2c\x32\x35\x36\
+\x2c\x34\x38\x7a\x20\x4d\x32\x35\x36\x2c\x34\x32\x32\x2e\x33\x39\
+\x39\x0a\x09\x09\x09\x63\x2d\x39\x31\x2e\x35\x31\x38\x2c\x30\x2d\
+\x31\x36\x36\x2e\x33\x39\x39\x2d\x37\x34\x2e\x38\x38\x32\x2d\x31\
+\x36\x36\x2e\x33\x39\x39\x2d\x31\x36\x36\x2e\x33\x39\x39\x53\x31\
+\x36\x34\x2e\x34\x38\x32\x2c\x38\x39\x2e\x36\x2c\x32\x35\x36\x2c\
+\x38\x39\x2e\x36\x53\x34\x32\x32\x2e\x34\x2c\x31\x36\x34\x2e\x34\
+\x38\x32\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\x36\x53\x33\x34\x37\
+\x2e\x35\x31\x38\x2c\x34\x32\x32\x2e\x33\x39\x39\x2c\x32\x35\x36\
+\x2c\x34\x32\x32\x2e\x33\x39\x39\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\
+\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\xfe\
\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
-\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
-\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
-\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
-\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
-\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
-\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
-\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
-\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
-\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
-\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
-\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
-\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
-\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\
-\x68\x20\x64\x3d\x22\x4d\x34\x33\x37\x2e\x35\x2c\x33\x38\x36\x2e\
-\x36\x4c\x33\x30\x36\x2e\x39\x2c\x32\x35\x36\x6c\x31\x33\x30\x2e\
-\x36\x2d\x31\x33\x30\x2e\x36\x63\x31\x34\x2e\x31\x2d\x31\x34\x2e\
-\x31\x2c\x31\x34\x2e\x31\x2d\x33\x36\x2e\x38\x2c\x30\x2d\x35\x30\
-\x2e\x39\x63\x2d\x31\x34\x2e\x31\x2d\x31\x34\x2e\x31\x2d\x33\x36\
-\x2e\x38\x2d\x31\x34\x2e\x31\x2d\x35\x30\x2e\x39\x2c\x30\x4c\x32\
-\x35\x36\x2c\x32\x30\x35\x2e\x31\x4c\x31\x32\x35\x2e\x34\x2c\x37\
-\x34\x2e\x35\x0a\x09\x63\x2d\x31\x34\x2e\x31\x2d\x31\x34\x2e\x31\
-\x2d\x33\x36\x2e\x38\x2d\x31\x34\x2e\x31\x2d\x35\x30\x2e\x39\x2c\
-\x30\x63\x2d\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2d\x31\x34\x2e\
-\x31\x2c\x33\x36\x2e\x38\x2c\x30\x2c\x35\x30\x2e\x39\x4c\x32\x30\
-\x35\x2e\x31\x2c\x32\x35\x36\x4c\x37\x34\x2e\x35\x2c\x33\x38\x36\
-\x2e\x36\x63\x2d\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2d\x31\x34\
-\x2e\x31\x2c\x33\x36\x2e\x38\x2c\x30\x2c\x35\x30\x2e\x39\x0a\x09\
-\x63\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2c\x33\x36\x2e\x38\x2c\
-\x31\x34\x2e\x31\x2c\x35\x30\x2e\x39\x2c\x30\x4c\x32\x35\x36\x2c\
-\x33\x30\x36\x2e\x39\x6c\x31\x33\x30\x2e\x36\x2c\x31\x33\x30\x2e\
-\x36\x63\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2c\x33\x36\x2e\x38\
-\x2c\x31\x34\x2e\x31\x2c\x35\x30\x2e\x39\x2c\x30\x43\x34\x35\x31\
-\x2e\x35\x2c\x34\x32\x33\x2e\x34\x2c\x34\x35\x31\x2e\x35\x2c\x34\
-\x30\x30\x2e\x36\x2c\x34\x33\x37\x2e\x35\x2c\x33\x38\x36\x2e\x36\
-\x7a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x04\x54\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
+\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
+\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
+\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
+\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
+\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
+\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
+\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
+\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
+\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
+\x27\x36\x33\x2e\x39\x39\x39\x36\x70\x74\x27\x20\x68\x65\x69\x67\
+\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x27\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x33\x2e\x39\x39\x39\x36\x20\x36\x34\x27\x3e\x0a\
+\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\x34\x30\x39\x34\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x27\x4d\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
+\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x36\x32\x2e\x32\x33\
+\x32\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x32\x2e\x30\x30\
+\x37\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x32\x2e\x30\x30\x37\
+\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
+\x35\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
+\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
+\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
+\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
+\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x34\x2e\x30\x31\x35\x27\
+\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\
+\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\
+\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\x35\x38\x29\
+\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\
+\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x27\x4d\x20\x32\x2e\x30\x30\
+\x37\x35\x20\x33\x32\x2e\x31\x32\x4c\x20\x36\x32\x2e\x32\x33\x32\
+\x35\x20\x33\x32\x2e\x31\x32\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\
+\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\
+\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\
+\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\
+\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\
+\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\
+\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\
+\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x34\
+\x2e\x30\x31\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\
+\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\
+\x6c\x61\x74\x65\x28\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\
+\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\
+\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x27\x4d\
+\x20\x33\x32\x2e\x31\x32\x20\x36\x32\x2e\x32\x33\x32\x35\x4c\x20\
+\x33\x32\x2e\x31\x32\x20\x32\x2e\x30\x30\x37\x35\x27\x20\x66\x69\
+\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\x65\
+\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\x6b\
+\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\x64\
+\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\
+\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\
+\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\x2e\
+\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\
+\x74\x68\x3d\x27\x34\x2e\x30\x31\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x00\x00\x03\xe8\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
@@ -2355,189 +2490,54 @@ qt_resource_data = b"\
\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
-\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
-\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
-\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
-\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
-\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
-\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
-\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
-\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
-\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
+\x68\x65\x76\x72\x6f\x6e\x5f\x63\x69\x72\x63\x6c\x65\x64\x5f\x6c\
+\x65\x66\x74\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
+\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\
+\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\
+\x6b\x22\x0a\x09\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\x22\
+\x30\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
-\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\x74\x68\x20\
-\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\x37\x36\x63\x2d\x34\x34\x2e\
-\x30\x30\x34\x2c\x30\x2d\x38\x30\x2e\x30\x30\x31\x2c\x33\x36\x2d\
-\x38\x30\x2e\x30\x30\x31\x2c\x38\x30\x63\x30\x2c\x34\x34\x2e\x30\
-\x30\x34\x2c\x33\x35\x2e\x39\x39\x37\x2c\x38\x30\x2c\x38\x30\x2e\
-\x30\x30\x31\x2c\x38\x30\x63\x34\x34\x2e\x30\x30\x35\x2c\x30\x2c\
-\x37\x39\x2e\x39\x39\x39\x2d\x33\x35\x2e\x39\x39\x36\x2c\x37\x39\
-\x2e\x39\x39\x39\x2d\x38\x30\x0a\x09\x09\x09\x43\x33\x33\x35\x2e\
-\x39\x39\x39\x2c\x32\x31\x32\x2c\x33\x30\x30\x2e\x30\x30\x35\x2c\
-\x31\x37\x36\x2c\x32\x35\x36\x2c\x31\x37\x36\x7a\x20\x4d\x34\x34\
-\x36\x2e\x39\x33\x38\x2c\x32\x33\x34\x2e\x36\x36\x37\x63\x2d\x39\
-\x2e\x36\x30\x35\x2d\x38\x38\x2e\x35\x33\x31\x2d\x38\x31\x2e\x30\
-\x37\x34\x2d\x31\x36\x30\x2d\x31\x36\x39\x2e\x36\x30\x35\x2d\x31\
-\x36\x39\x2e\x35\x39\x39\x56\x33\x32\x68\x2d\x34\x32\x2e\x36\x36\
-\x36\x76\x33\x33\x2e\x30\x36\x37\x0a\x09\x09\x09\x63\x2d\x38\x38\
-\x2e\x35\x33\x31\x2c\x39\x2e\x35\x39\x39\x2d\x31\x36\x30\x2c\x38\
-\x31\x2e\x30\x36\x38\x2d\x31\x36\x39\x2e\x36\x30\x34\x2c\x31\x36\
-\x39\x2e\x35\x39\x39\x48\x33\x32\x76\x34\x32\x2e\x36\x36\x37\x68\
-\x33\x33\x2e\x30\x36\x32\x63\x39\x2e\x36\x30\x34\x2c\x38\x38\x2e\
-\x35\x33\x31\x2c\x38\x31\x2e\x30\x37\x32\x2c\x31\x36\x30\x2c\x31\
-\x36\x39\x2e\x36\x30\x34\x2c\x31\x36\x39\x2e\x36\x30\x34\x56\x34\
-\x38\x30\x68\x34\x32\x2e\x36\x36\x36\x76\x2d\x33\x33\x2e\x30\x36\
-\x32\x0a\x09\x09\x09\x63\x38\x38\x2e\x35\x33\x31\x2d\x39\x2e\x36\
-\x30\x34\x2c\x31\x36\x30\x2d\x38\x31\x2e\x30\x37\x33\x2c\x31\x36\
-\x39\x2e\x36\x30\x35\x2d\x31\x36\x39\x2e\x36\x30\x34\x48\x34\x38\
-\x30\x76\x2d\x34\x32\x2e\x36\x36\x37\x48\x34\x34\x36\x2e\x39\x33\
-\x38\x7a\x20\x4d\x32\x35\x36\x2c\x34\x30\x35\x2e\x33\x33\x33\x63\
-\x2d\x38\x32\x2e\x31\x33\x37\x2c\x30\x2d\x31\x34\x39\x2e\x33\x33\
-\x34\x2d\x36\x37\x2e\x31\x39\x38\x2d\x31\x34\x39\x2e\x33\x33\x34\
-\x2d\x31\x34\x39\x2e\x33\x33\x33\x0a\x09\x09\x09\x63\x30\x2d\x38\
-\x32\x2e\x31\x33\x36\x2c\x36\x37\x2e\x31\x39\x37\x2d\x31\x34\x39\
-\x2e\x33\x33\x33\x2c\x31\x34\x39\x2e\x33\x33\x34\x2d\x31\x34\x39\
-\x2e\x33\x33\x33\x63\x38\x32\x2e\x31\x33\x35\x2c\x30\x2c\x31\x34\
-\x39\x2e\x33\x33\x32\x2c\x36\x37\x2e\x31\x39\x38\x2c\x31\x34\x39\
-\x2e\x33\x33\x32\x2c\x31\x34\x39\x2e\x33\x33\x33\x43\x34\x30\x35\
-\x2e\x33\x33\x32\x2c\x33\x33\x38\x2e\x31\x33\x35\x2c\x33\x33\x38\
-\x2e\x31\x33\x35\x2c\x34\x30\x35\x2e\x33\x33\x33\x2c\x32\x35\x36\
-\x2c\x34\x30\x35\x2e\x33\x33\x33\x7a\x0a\x09\x09\x09\x22\x2f\x3e\
-\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
-\x67\x3e\x0a\
-\x00\x00\x03\xd9\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
-\x68\x65\x76\x72\x6f\x6e\x5f\x63\x69\x72\x63\x6c\x65\x64\x5f\x72\
-\x69\x67\x68\x74\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\
-\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\
-\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\
-\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\
-\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\
-\x6e\x6b\x22\x0a\x09\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
-\x22\x30\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\
-\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\
-\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\
-\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\
-\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\
-\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\
-\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\x20\
-\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\x70\x61\x74\
-\x68\x20\x64\x3d\x22\x4d\x31\x31\x2c\x31\x30\x4c\x38\x2e\x36\x39\
-\x38\x2c\x37\x2e\x34\x39\x34\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\
-\x2e\x31\x39\x38\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x35\x31\x39\
-\x2c\x30\x2d\x30\x2e\x37\x31\x38\x63\x30\x2e\x31\x39\x36\x2d\x30\
-\x2e\x31\x39\x37\x2c\x30\x2e\x35\x31\x35\x2d\x30\x2e\x31\x39\x37\
-\x2c\x30\x2e\x37\x31\x2c\x30\x6c\x32\x2e\x38\x30\x37\x2c\x32\x2e\
-\x38\x36\x34\x0a\x09\x63\x30\x2e\x31\x39\x36\x2c\x30\x2e\x31\x39\
-\x39\x2c\x30\x2e\x31\x39\x36\x2c\x30\x2e\x35\x32\x2c\x30\x2c\x30\
-\x2e\x37\x31\x37\x6c\x2d\x32\x2e\x38\x30\x37\x2c\x32\x2e\x38\x36\
-\x34\x63\x2d\x30\x2e\x31\x39\x35\x2c\x30\x2e\x31\x39\x39\x2d\x30\
-\x2e\x35\x31\x34\x2c\x30\x2e\x31\x39\x38\x2d\x30\x2e\x37\x31\x2c\
-\x30\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x31\x39\x37\x2d\x30\
-\x2e\x31\x39\x36\x2d\x30\x2e\x35\x31\x38\x2c\x30\x2d\x30\x2e\x37\
-\x31\x37\x4c\x31\x31\x2c\x31\x30\x7a\x20\x4d\x31\x30\x2c\x30\x2e\
-\x34\x0a\x09\x63\x35\x2e\x33\x30\x32\x2c\x30\x2c\x39\x2e\x36\x2c\
-\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2c\x39\x2e\x36\x63\x30\x2c\
-\x35\x2e\x33\x30\x33\x2d\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2d\
-\x39\x2e\x36\x2c\x39\x2e\x36\x53\x30\x2e\x34\x2c\x31\x35\x2e\x33\
-\x30\x33\x2c\x30\x2e\x34\x2c\x31\x30\x43\x30\x2e\x34\x2c\x34\x2e\
-\x36\x39\x38\x2c\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x31\x30\
-\x2c\x30\x2e\x34\x7a\x20\x4d\x31\x30\x2c\x31\x38\x2e\x33\x35\x34\
-\x0a\x09\x63\x34\x2e\x36\x31\x33\x2c\x30\x2c\x38\x2e\x33\x35\x34\
-\x2d\x33\x2e\x37\x34\x2c\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\
-\x34\x63\x30\x2d\x34\x2e\x36\x31\x34\x2d\x33\x2e\x37\x34\x31\x2d\
-\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\
-\x34\x63\x2d\x34\x2e\x36\x31\x35\x2c\x30\x2d\x38\x2e\x33\x35\x34\
-\x2c\x33\x2e\x37\x34\x2d\x38\x2e\x33\x35\x34\x2c\x38\x2e\x33\x35\
-\x34\x0a\x09\x43\x31\x2e\x36\x34\x35\x2c\x31\x34\x2e\x36\x31\x34\
-\x2c\x35\x2e\x33\x38\x35\x2c\x31\x38\x2e\x33\x35\x34\x2c\x31\x30\
-\x2c\x31\x38\x2e\x33\x35\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\
-\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\xdc\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
-\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
-\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
-\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
-\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
-\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
-\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
-\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
-\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
-\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
-\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
-\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
-\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
-\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\
-\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\
-\x32\x38\x63\x2d\x38\x31\x2e\x39\x2c\x30\x2d\x31\x34\x35\x2e\x37\
-\x2c\x34\x38\x2e\x38\x2d\x32\x32\x34\x2c\x31\x32\x38\x63\x36\x37\
-\x2e\x34\x2c\x36\x37\x2e\x37\x2c\x31\x32\x34\x2c\x31\x32\x38\x2c\
-\x32\x32\x34\x2c\x31\x32\x38\x63\x39\x39\x2e\x39\x2c\x30\x2c\x31\
-\x37\x33\x2e\x34\x2d\x37\x36\x2e\x34\x2c\x32\x32\x34\x2d\x31\x32\
-\x36\x2e\x36\x0a\x09\x09\x43\x34\x32\x38\x2e\x32\x2c\x31\x39\x38\
-\x2e\x36\x2c\x33\x35\x34\x2e\x38\x2c\x31\x32\x38\x2c\x32\x35\x36\
-\x2c\x31\x32\x38\x7a\x20\x4d\x32\x35\x36\x2c\x33\x34\x37\x2e\x33\
-\x63\x2d\x34\x39\x2e\x34\x2c\x30\x2d\x38\x39\x2e\x36\x2d\x34\x31\
-\x2d\x38\x39\x2e\x36\x2d\x39\x31\x2e\x33\x63\x30\x2d\x35\x30\x2e\
-\x34\x2c\x34\x30\x2e\x32\x2d\x39\x31\x2e\x33\x2c\x38\x39\x2e\x36\
-\x2d\x39\x31\x2e\x33\x73\x38\x39\x2e\x36\x2c\x34\x31\x2c\x38\x39\
-\x2e\x36\x2c\x39\x31\x2e\x33\x0a\x09\x09\x43\x33\x34\x35\x2e\x36\
-\x2c\x33\x30\x36\x2e\x34\x2c\x33\x30\x35\x2e\x34\x2c\x33\x34\x37\
-\x2e\x33\x2c\x32\x35\x36\x2c\x33\x34\x37\x2e\x33\x7a\x22\x2f\x3e\
-\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\
-\x22\x4d\x32\x35\x36\x2c\x32\x32\x34\x63\x30\x2d\x37\x2e\x39\x2c\
-\x32\x2e\x39\x2d\x31\x35\x2e\x31\x2c\x37\x2e\x36\x2d\x32\x30\x2e\
-\x37\x63\x2d\x32\x2e\x35\x2d\x30\x2e\x34\x2d\x35\x2d\x30\x2e\x36\
-\x2d\x37\x2e\x36\x2d\x30\x2e\x36\x63\x2d\x32\x38\x2e\x38\x2c\x30\
-\x2d\x35\x32\x2e\x33\x2c\x32\x33\x2e\x39\x2d\x35\x32\x2e\x33\x2c\
-\x35\x33\x2e\x33\x63\x30\x2c\x32\x39\x2e\x34\x2c\x32\x33\x2e\x35\
-\x2c\x35\x33\x2e\x33\x2c\x35\x32\x2e\x33\x2c\x35\x33\x2e\x33\x0a\
-\x09\x09\x09\x73\x35\x32\x2e\x33\x2d\x32\x33\x2e\x39\x2c\x35\x32\
-\x2e\x33\x2d\x35\x33\x2e\x33\x63\x30\x2d\x32\x2e\x33\x2d\x30\x2e\
-\x32\x2d\x34\x2e\x36\x2d\x30\x2e\x34\x2d\x36\x2e\x39\x63\x2d\x35\
-\x2e\x35\x2c\x34\x2e\x33\x2d\x31\x32\x2e\x33\x2c\x36\x2e\x39\x2d\
-\x31\x39\x2e\x38\x2c\x36\x2e\x39\x43\x32\x37\x30\x2e\x33\x2c\x32\
-\x35\x36\x2c\x32\x35\x36\x2c\x32\x34\x31\x2e\x37\x2c\x32\x35\x36\
-\x2c\x32\x32\x34\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\
-\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\
+\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\x20\x30\
+\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\
+\x20\x64\x3d\x22\x4d\x31\x31\x2e\x33\x30\x32\x2c\x36\x2e\x37\x37\
+\x36\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x31\x39\x37\x2d\x30\
+\x2e\x35\x31\x35\x2d\x30\x2e\x31\x39\x37\x2d\x30\x2e\x37\x31\x2c\
+\x30\x4c\x37\x2e\x37\x38\x35\x2c\x39\x2e\x36\x34\x31\x63\x2d\x30\
+\x2e\x31\x39\x36\x2c\x30\x2e\x31\x39\x39\x2d\x30\x2e\x31\x39\x36\
+\x2c\x30\x2e\x35\x32\x2c\x30\x2c\x30\x2e\x37\x31\x37\x6c\x32\x2e\
+\x38\x30\x37\x2c\x32\x2e\x38\x36\x34\x0a\x09\x63\x30\x2e\x31\x39\
+\x35\x2c\x30\x2e\x31\x39\x39\x2c\x30\x2e\x35\x31\x34\x2c\x30\x2e\
+\x31\x39\x38\x2c\x30\x2e\x37\x31\x2c\x30\x63\x30\x2e\x31\x39\x36\
+\x2d\x30\x2e\x31\x39\x37\x2c\x30\x2e\x31\x39\x36\x2d\x30\x2e\x35\
+\x31\x38\x2c\x30\x2d\x30\x2e\x37\x31\x37\x4c\x39\x2c\x31\x30\x6c\
+\x32\x2e\x33\x30\x32\x2d\x32\x2e\x35\x30\x36\x43\x31\x31\x2e\x34\
+\x39\x38\x2c\x37\x2e\x32\x39\x36\x2c\x31\x31\x2e\x34\x39\x38\x2c\
+\x36\x2e\x39\x37\x36\x2c\x31\x31\x2e\x33\x30\x32\x2c\x36\x2e\x37\
+\x37\x36\x7a\x0a\x09\x20\x4d\x31\x30\x2c\x30\x2e\x34\x63\x2d\x35\
+\x2e\x33\x30\x32\x2c\x30\x2d\x39\x2e\x36\x2c\x34\x2e\x32\x39\x38\
+\x2d\x39\x2e\x36\x2c\x39\x2e\x36\x63\x30\x2c\x35\x2e\x33\x30\x33\
+\x2c\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2c\x39\x2e\x36\x2c\x39\
+\x2e\x36\x73\x39\x2e\x36\x2d\x34\x2e\x32\x39\x37\x2c\x39\x2e\x36\
+\x2d\x39\x2e\x36\x43\x31\x39\x2e\x36\x2c\x34\x2e\x36\x39\x38\x2c\
+\x31\x35\x2e\x33\x30\x32\x2c\x30\x2e\x34\x2c\x31\x30\x2c\x30\x2e\
+\x34\x7a\x20\x4d\x31\x30\x2c\x31\x38\x2e\x33\x35\x34\x0a\x09\x63\
+\x2d\x34\x2e\x36\x31\x35\x2c\x30\x2d\x38\x2e\x33\x35\x34\x2d\x33\
+\x2e\x37\x34\x2d\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x63\
+\x30\x2d\x34\x2e\x36\x31\x34\x2c\x33\x2e\x37\x33\x39\x2d\x38\x2e\
+\x33\x35\x34\x2c\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x63\
+\x34\x2e\x36\x31\x33\x2c\x30\x2c\x38\x2e\x33\x35\x34\x2c\x33\x2e\
+\x37\x34\x2c\x38\x2e\x33\x35\x34\x2c\x38\x2e\x33\x35\x34\x0a\x09\
+\x43\x31\x38\x2e\x33\x35\x34\x2c\x31\x34\x2e\x36\x31\x34\x2c\x31\
+\x34\x2e\x36\x31\x33\x2c\x31\x38\x2e\x33\x35\x34\x2c\x31\x30\x2c\
+\x31\x38\x2e\x33\x35\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\
+\x3c\x2f\x73\x76\x67\x3e\x0a\
"
qt_resource_name = b"\
@@ -2545,250 +2545,250 @@ qt_resource_name = b"\
\x00\x6f\xa6\x53\
\x00\x69\
\x00\x63\x00\x6f\x00\x6e\x00\x73\
-\x00\x10\
-\x06\xe3\xaf\xe7\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x68\x00\x61\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x10\
-\x08\x89\xfa\x47\
-\x00\x63\
-\x00\x65\x00\x6e\x00\x74\x00\x65\x00\x72\x00\x6f\x00\x72\x00\x69\x00\x67\x00\x69\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x0a\
-\x01\xca\x6d\x87\
-\x00\x62\
-\x00\x75\x00\x63\x00\x6b\x00\x65\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x11\
\x0c\xdb\x38\xe7\
\x00\x61\
\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x63\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
\
-\x00\x10\
-\x08\xe4\xaf\x47\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x64\x00\x6f\x00\x6e\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x0f\
-\x04\xf2\xa7\x87\
-\x00\x63\
-\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x64\x00\x63\x00\x75\x00\x72\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x0d\
-\x05\x20\xce\x87\
-\x00\x6f\
-\x00\x70\x00\x65\x00\x6e\x00\x63\x00\x75\x00\x72\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x08\
-\x05\xa8\x57\x87\
-\x00\x63\
-\x00\x6f\x00\x64\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x1c\
-\x04\x66\xe1\x67\
-\x00\x63\
-\x00\x68\x00\x65\x00\x76\x00\x72\x00\x6f\x00\x6e\x00\x2d\x00\x77\x00\x69\x00\x74\x00\x68\x00\x2d\x00\x63\x00\x69\x00\x72\x00\x63\
-\x00\x6c\x00\x65\x00\x2d\x00\x6c\x00\x65\x00\x66\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x08\
-\x0b\x07\x57\xa7\
+\x00\x07\
+\x0c\xf8\x5a\x07\
\x00\x65\
-\x00\x64\x00\x69\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x79\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x17\
\x06\xc6\x02\xa7\
\x00\x74\
\x00\x72\x00\x69\x00\x61\x00\x6e\x00\x67\x00\x6c\x00\x65\x00\x2d\x00\x73\x00\x74\x00\x72\x00\x6f\x00\x6b\x00\x65\x00\x64\x00\x2d\
\x00\x31\x00\x35\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x11\
-\x0c\xa7\xc7\x47\
-\x00\x63\
-\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x64\x00\x70\x00\x6f\x00\x6c\x00\x79\x00\x67\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
-\
\x00\x0a\
-\x0a\x2d\x1b\xc7\
-\x00\x63\
-\x00\x69\x00\x72\x00\x63\x00\x6c\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x01\xca\x6d\x87\
+\x00\x62\
+\x00\x75\x00\x63\x00\x6b\x00\x65\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x12\
+\x04\xb2\x21\x47\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x65\x00\x78\x00\x70\x00\x61\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\
+\x00\x67\
\x00\x0a\
\x0f\x68\x53\xe7\
\x00\x61\
\x00\x6e\x00\x63\x00\x68\x00\x6f\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x08\
-\x0b\xb2\x55\xc7\
-\x00\x72\
-\x00\x65\x00\x64\x00\x6f\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x19\
-\x0a\x43\x45\xc7\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x66\x00\x6f\x00\x72\
-\x00\x77\x00\x61\x00\x72\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x19\
-\x0f\xef\x7b\xe7\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x63\x00\x6f\x00\x6c\x00\x6f\x00\x72\x00\x2d\x00\x70\x00\x61\x00\x6c\
-\x00\x65\x00\x74\x00\x74\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x11\
-\x01\x60\xbc\x47\
-\x00\x73\
-\x00\x6f\x00\x63\x00\x69\x00\x61\x00\x6c\x00\x2d\x00\x70\x00\x79\x00\x74\x00\x68\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
-\
+\x00\x10\
+\x04\xa9\x22\xc7\
+\x00\x66\
+\x00\x69\x00\x6c\x00\x6c\x00\x65\x00\x64\x00\x62\x00\x75\x00\x63\x00\x6b\x00\x65\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x08\
\x0c\xf7\x55\x87\
\x00\x74\
\x00\x65\x00\x78\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x0e\
-\x05\xed\x38\x67\
+\x00\x09\
+\x0c\x9b\x89\xe7\
+\x00\x62\
+\x00\x72\x00\x75\x00\x73\x00\x68\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0a\
+\x0a\x2d\x1b\xc7\
+\x00\x63\
+\x00\x69\x00\x72\x00\x63\x00\x6c\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x09\
+\x0b\x9e\x89\x07\
+\x00\x63\
+\x00\x68\x00\x65\x00\x63\x00\x6b\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x1b\
+\x0e\xb5\x68\xe7\
\x00\x61\
-\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x6d\x00\x6f\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x72\x00\x61\x00\x64\x00\x69\x00\x6f\x00\x2d\x00\x62\x00\x75\x00\x74\
+\x00\x74\x00\x6f\x00\x6e\x00\x2d\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x12\
-\x08\x55\xef\xc7\
+\x08\x79\x97\xe7\
\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x64\x00\x65\x00\x6c\x00\x65\x00\x74\x00\x65\x00\x2e\x00\x73\x00\x76\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x63\x00\x61\x00\x6d\x00\x65\x00\x72\x00\x61\x00\x2e\x00\x73\x00\x76\
\x00\x67\
+\x00\x10\
+\x08\xe4\xaf\x47\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x64\x00\x6f\x00\x6e\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0f\
+\x07\x0e\xc4\x87\
+\x00\x6f\
+\x00\x70\x00\x65\x00\x6e\x00\x70\x00\x6f\x00\x6c\x00\x79\x00\x67\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x08\
\x08\xc8\x55\xe7\
\x00\x73\
\x00\x61\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x13\
-\x03\x24\x75\x47\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x72\x00\x65\x00\x66\x00\x72\x00\x65\x00\x73\x00\x68\x00\x2e\x00\x73\
-\x00\x76\x00\x67\
-\x00\x0e\
-\x0f\xcb\xd5\xc7\
-\x00\x70\
-\x00\x6c\x00\x75\x00\x73\x00\x2d\x00\x72\x00\x6f\x00\x75\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x12\
-\x08\x79\x97\xe7\
+\x0c\x5e\xd4\xa7\
\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x63\x00\x61\x00\x6d\x00\x65\x00\x72\x00\x61\x00\x2e\x00\x73\x00\x76\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x6c\x00\x6f\x00\x63\x00\x61\x00\x74\x00\x65\x00\x2e\x00\x73\x00\x76\
\x00\x67\
-\x00\x1c\
-\x08\x8a\x79\x07\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x72\x00\x61\x00\x64\x00\x69\x00\x6f\x00\x2d\x00\x62\x00\x75\x00\x74\
-\x00\x74\x00\x6f\x00\x6e\x00\x2d\x00\x6f\x00\x66\x00\x66\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x09\
-\x0c\x9b\x89\xe7\
-\x00\x62\
-\x00\x72\x00\x75\x00\x73\x00\x68\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x16\
-\x01\xfb\x76\x27\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x62\x00\x61\x00\x63\
-\x00\x6b\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x08\
-\x08\xf7\x57\x07\
-\x00\x67\
-\x00\x72\x00\x69\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x04\xb2\x55\x47\
+\x00\x75\
+\x00\x6e\x00\x64\x00\x6f\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x0a\
\x0a\xc8\x62\x67\
\x00\x63\
\x00\x65\x00\x6e\x00\x74\x00\x65\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x10\
-\x04\xa9\x22\xc7\
-\x00\x66\
-\x00\x69\x00\x6c\x00\x6c\x00\x65\x00\x64\x00\x62\x00\x75\x00\x63\x00\x6b\x00\x65\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x1b\
-\x0e\xb5\x68\xe7\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x72\x00\x61\x00\x64\x00\x69\x00\x6f\x00\x2d\x00\x62\x00\x75\x00\x74\
-\x00\x74\x00\x6f\x00\x6e\x00\x2d\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x14\
\x0f\xa5\xe0\xc7\
\x00\x6d\
\x00\x61\x00\x67\x00\x6e\x00\x69\x00\x66\x00\x79\x00\x69\x00\x6e\x00\x67\x00\x2d\x00\x67\x00\x6c\x00\x61\x00\x73\x00\x73\x00\x2e\
\x00\x73\x00\x76\x00\x67\
+\x00\x1d\
+\x06\xec\xf4\xc7\
+\x00\x63\
+\x00\x68\x00\x65\x00\x76\x00\x72\x00\x6f\x00\x6e\x00\x2d\x00\x77\x00\x69\x00\x74\x00\x68\x00\x2d\x00\x63\x00\x69\x00\x72\x00\x63\
+\x00\x6c\x00\x65\x00\x2d\x00\x72\x00\x69\x00\x67\x00\x68\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x11\
+\x0c\xa7\xc7\x47\
+\x00\x63\
+\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x64\x00\x70\x00\x6f\x00\x6c\x00\x79\x00\x67\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
+\
+\x00\x19\
+\x0a\x43\x45\xc7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x66\x00\x6f\x00\x72\
+\x00\x77\x00\x61\x00\x72\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0f\
+\x04\xf2\xa7\x87\
+\x00\x63\
+\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x64\x00\x63\x00\x75\x00\x72\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x05\xa8\x57\x87\
+\x00\x63\
+\x00\x6f\x00\x64\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x08\xf7\x57\x07\
+\x00\x67\
+\x00\x72\x00\x69\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x15\
\x0f\xc4\x59\xe7\
\x00\x73\
\x00\x75\x00\x62\x00\x64\x00\x69\x00\x72\x00\x65\x00\x63\x00\x74\x00\x6f\x00\x72\x00\x79\x00\x2d\x00\x6c\x00\x65\x00\x66\x00\x74\
\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x0f\
-\x07\x0e\xc4\x87\
-\x00\x6f\
-\x00\x70\x00\x65\x00\x6e\x00\x70\x00\x6f\x00\x6c\x00\x79\x00\x67\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x08\
-\x04\xb2\x55\x47\
-\x00\x75\
-\x00\x6e\x00\x64\x00\x6f\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x12\
-\x04\xb2\x21\x47\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x65\x00\x78\x00\x70\x00\x61\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\
-\x00\x67\
\x00\x10\
\x0c\x57\x65\x47\
\x00\x61\
\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x72\x00\x65\x00\x73\x00\x69\x00\x7a\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0d\
+\x05\x20\xce\x87\
+\x00\x6f\
+\x00\x70\x00\x65\x00\x6e\x00\x63\x00\x75\x00\x72\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x17\
\x07\x87\x48\x27\
\x00\x61\
\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x66\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x6f\x00\x70\
\x00\x65\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x09\
-\x0b\x9e\x89\x07\
-\x00\x63\
-\x00\x68\x00\x65\x00\x63\x00\x6b\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x19\
+\x0f\xef\x7b\xe7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x63\x00\x6f\x00\x6c\x00\x6f\x00\x72\x00\x2d\x00\x70\x00\x61\x00\x6c\
+\x00\x65\x00\x74\x00\x74\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x12\
+\x08\x55\xef\xc7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x64\x00\x65\x00\x6c\x00\x65\x00\x74\x00\x65\x00\x2e\x00\x73\x00\x76\
+\x00\x67\
+\x00\x08\
+\x0b\x07\x57\xa7\
+\x00\x65\
+\x00\x64\x00\x69\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x0f\
\x09\x76\x60\xc7\
\x00\x63\
\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x2d\x00\x72\x00\x6f\x00\x75\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x12\
-\x0c\x5e\xd4\xa7\
+\x00\x0e\
+\x0f\xcb\xd5\xc7\
+\x00\x70\
+\x00\x6c\x00\x75\x00\x73\x00\x2d\x00\x72\x00\x6f\x00\x75\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x13\
+\x03\x24\x75\x47\
\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x6c\x00\x6f\x00\x63\x00\x61\x00\x74\x00\x65\x00\x2e\x00\x73\x00\x76\
-\x00\x67\
-\x00\x1d\
-\x06\xec\xf4\xc7\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x72\x00\x65\x00\x66\x00\x72\x00\x65\x00\x73\x00\x68\x00\x2e\x00\x73\
+\x00\x76\x00\x67\
+\x00\x0e\
+\x05\xed\x38\x67\
+\x00\x61\
+\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x6d\x00\x6f\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x11\
+\x01\x60\xbc\x47\
+\x00\x73\
+\x00\x6f\x00\x63\x00\x69\x00\x61\x00\x6c\x00\x2d\x00\x70\x00\x79\x00\x74\x00\x68\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
+\
+\x00\x16\
+\x01\xfb\x76\x27\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x62\x00\x61\x00\x63\
+\x00\x6b\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x0b\xb2\x55\xc7\
+\x00\x72\
+\x00\x65\x00\x64\x00\x6f\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x10\
+\x06\xe3\xaf\xe7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x68\x00\x61\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x1c\
+\x08\x8a\x79\x07\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x72\x00\x61\x00\x64\x00\x69\x00\x6f\x00\x2d\x00\x62\x00\x75\x00\x74\
+\x00\x74\x00\x6f\x00\x6e\x00\x2d\x00\x6f\x00\x66\x00\x66\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x10\
+\x08\x89\xfa\x47\
+\x00\x63\
+\x00\x65\x00\x6e\x00\x74\x00\x65\x00\x72\x00\x6f\x00\x72\x00\x69\x00\x67\x00\x69\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x1c\
+\x04\x66\xe1\x67\
\x00\x63\
\x00\x68\x00\x65\x00\x76\x00\x72\x00\x6f\x00\x6e\x00\x2d\x00\x77\x00\x69\x00\x74\x00\x68\x00\x2d\x00\x63\x00\x69\x00\x72\x00\x63\
-\x00\x6c\x00\x65\x00\x2d\x00\x72\x00\x69\x00\x67\x00\x68\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x07\
-\x0c\xf8\x5a\x07\
-\x00\x65\
-\x00\x79\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x6c\x00\x65\x00\x2d\x00\x6c\x00\x65\x00\x66\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
"
qt_resource_struct_v1 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x2c\x00\x00\x00\x02\
-\x00\x00\x02\x88\x00\x00\x00\x00\x00\x01\x00\x00\x42\xaf\
-\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x01\x00\x00\x09\xc1\
-\x00\x00\x03\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x63\x37\
-\x00\x00\x03\x28\x00\x00\x00\x00\x00\x01\x00\x00\x53\x3a\
-\x00\x00\x01\x1e\x00\x00\x00\x00\x00\x01\x00\x00\x22\x3e\
-\x00\x00\x04\x58\x00\x01\x00\x00\x00\x01\x00\x00\x6a\xe7\
-\x00\x00\x05\x52\x00\x00\x00\x00\x00\x01\x00\x00\x7c\xa7\
-\x00\x00\x05\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x78\x8c\
-\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x14\x80\
-\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x19\x27\
-\x00\x00\x01\x08\x00\x00\x00\x00\x00\x01\x00\x00\x1d\x9e\
-\x00\x00\x02\xc6\x00\x00\x00\x00\x00\x01\x00\x00\x4b\x3e\
-\x00\x00\x01\x72\x00\x00\x00\x00\x00\x01\x00\x00\x29\x8d\
+\x00\x00\x05\x58\x00\x00\x00\x00\x00\x01\x00\x00\x79\x2d\
+\x00\x00\x00\x80\x00\x00\x00\x00\x00\x01\x00\x00\x0b\x5d\
+\x00\x00\x05\x80\x00\x00\x00\x00\x00\x01\x00\x00\x80\x9c\
+\x00\x00\x05\x0a\x00\x00\x00\x00\x00\x01\x00\x00\x73\x49\
+\x00\x00\x06\x52\x00\x00\x00\x00\x00\x01\x00\x00\x94\x0d\
+\x00\x00\x00\xde\x00\x01\x00\x00\x00\x01\x00\x00\x15\x98\
+\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x01\x00\x00\x10\xfd\
+\x00\x00\x02\x54\x00\x00\x00\x00\x00\x01\x00\x00\x36\x7f\
+\x00\x00\x03\x52\x00\x00\x00\x00\x00\x01\x00\x00\x4c\x2c\
+\x00\x00\x03\xf8\x00\x00\x00\x00\x00\x01\x00\x00\x5a\x3a\
+\x00\x00\x03\x76\x00\x00\x00\x00\x00\x01\x00\x00\x50\xd3\
+\x00\x00\x05\x36\x00\x00\x00\x00\x00\x01\x00\x00\x76\x68\
+\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x06\x8f\
+\x00\x00\x05\xc8\x00\x00\x00\x00\x00\x01\x00\x00\x87\x58\
+\x00\x00\x02\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x41\xb3\
+\x00\x00\x01\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x2b\x75\
+\x00\x00\x04\x18\x00\x00\x00\x00\x00\x01\x00\x00\x5e\xb1\
+\x00\x00\x04\x84\x00\x00\x00\x00\x00\x01\x00\x00\x67\x17\
+\x00\x00\x01\xa0\x00\x00\x00\x00\x00\x01\x00\x00\x25\xeb\
+\x00\x00\x06\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x90\x0b\
+\x00\x00\x05\xee\x00\x00\x00\x00\x00\x01\x00\x00\x8d\x17\
+\x00\x00\x02\x14\x00\x00\x00\x00\x00\x01\x00\x00\x2f\x8c\
+\x00\x00\x01\xca\x00\x00\x00\x00\x00\x01\x00\x00\x29\x05\
+\x00\x00\x03\x8c\x00\x01\x00\x00\x00\x01\x00\x00\x55\x73\
+\x00\x00\x04\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x6d\x16\
+\x00\x00\x01\x32\x00\x00\x00\x00\x00\x01\x00\x00\x1c\xb6\
+\x00\x00\x03\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x49\xb6\
+\x00\x00\x02\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x3a\x9a\
+\x00\x00\x04\xae\x00\x00\x00\x00\x00\x01\x00\x00\x69\xb3\
+\x00\x00\x01\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x1f\xa1\
+\x00\x00\x05\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x83\x12\
+\x00\x00\x03\xd2\x00\x00\x00\x00\x00\x01\x00\x00\x57\xbf\
+\x00\x00\x02\x2a\x00\x00\x00\x00\x00\x01\x00\x00\x32\x27\
+\x00\x00\x01\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x18\xd8\
+\x00\x00\x02\xf2\x00\x00\x00\x00\x00\x01\x00\x00\x45\x90\
\x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
-\x00\x00\x06\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x90\x3c\
-\x00\x00\x05\x18\x00\x00\x00\x00\x00\x01\x00\x00\x74\x75\
-\x00\x00\x05\xa2\x00\x00\x00\x00\x00\x01\x00\x00\x82\x50\
-\x00\x00\x02\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x4e\x03\
-\x00\x00\x03\x76\x00\x00\x00\x00\x00\x01\x00\x00\x59\x4b\
-\x00\x00\x00\x36\x00\x00\x00\x00\x00\x01\x00\x00\x05\xbf\
-\x00\x00\x03\xa0\x00\x00\x00\x00\x00\x01\x00\x00\x5c\x65\
-\x00\x00\x03\x12\x00\x00\x00\x00\x00\x01\x00\x00\x50\x9f\
-\x00\x00\x00\x9e\x00\x00\x00\x00\x00\x01\x00\x00\x12\x10\
-\x00\x00\x04\x28\x00\x01\x00\x00\x00\x01\x00\x00\x65\xad\
-\x00\x00\x05\xee\x00\x00\x00\x00\x00\x01\x00\x00\x88\xa3\
-\x00\x00\x01\xce\x00\x00\x00\x00\x00\x01\x00\x00\x32\x81\
-\x00\x00\x02\x18\x00\x00\x00\x00\x00\x01\x00\x00\x3b\x1f\
-\x00\x00\x04\x3e\x00\x00\x00\x00\x00\x01\x00\x00\x67\x89\
-\x00\x00\x01\x5c\x00\x00\x00\x00\x00\x01\x00\x00\x26\x2a\
-\x00\x00\x05\xd6\x00\x00\x00\x00\x00\x01\x00\x00\x85\x9c\
-\x00\x00\x02\x02\x00\x00\x00\x00\x00\x01\x00\x00\x36\xd9\
-\x00\x00\x05\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x7f\xd5\
-\x00\x00\x06\x12\x00\x00\x00\x00\x00\x01\x00\x00\x8b\xe4\
-\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x00\x5f\x59\
-\x00\x00\x01\xa6\x00\x00\x00\x00\x00\x01\x00\x00\x2e\x5b\
-\x00\x00\x00\x76\x00\x00\x00\x00\x00\x01\x00\x00\x0f\x61\
-\x00\x00\x02\xb0\x00\x00\x00\x00\x00\x01\x00\x00\x4a\x1e\
-\x00\x00\x06\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x94\x19\
-\x00\x00\x04\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x6d\x07\
-\x00\x00\x01\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x35\x6c\
-\x00\x00\x04\xba\x00\x00\x00\x00\x00\x01\x00\x00\x70\x4a\
-\x00\x00\x04\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x74\x05\
-\x00\x00\x03\x54\x00\x00\x00\x00\x00\x01\x00\x00\x56\x59\
-\x00\x00\x02\x50\x00\x00\x00\x00\x00\x01\x00\x00\x3d\x95\
+\x00\x00\x01\x04\x00\x00\x00\x00\x00\x01\x00\x00\x17\xb8\
+\x00\x00\x00\x38\x00\x00\x00\x00\x00\x01\x00\x00\x02\xaf\
+\x00\x00\x01\x64\x00\x00\x00\x00\x00\x01\x00\x00\x22\xa8\
+\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x14\x2b\
+\x00\x00\x02\x84\x00\x00\x00\x00\x00\x01\x00\x00\x3d\xf8\
+\x00\x00\x03\xa2\x00\x00\x00\x00\x00\x01\x00\x00\x57\x4f\
+\x00\x00\x04\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x70\x57\
+\x00\x00\x04\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x61\xfd\
"
qt_resource_struct_v2 = b"\
@@ -2796,94 +2796,94 @@ qt_resource_struct_v2 = b"\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x2c\x00\x00\x00\x02\
\x00\x00\x00\x00\x00\x00\x00\x00\
-\x00\x00\x02\x88\x00\x00\x00\x00\x00\x01\x00\x00\x42\xaf\
-\x00\x00\x01\x8d\xe7\xff\x00\x7d\
-\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x01\x00\x00\x09\xc1\
-\x00\x00\x01\x8d\xe7\xff\x00\x7b\
-\x00\x00\x03\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x63\x37\
-\x00\x00\x01\x8d\xe7\xff\x00\x7a\
-\x00\x00\x03\x28\x00\x00\x00\x00\x00\x01\x00\x00\x53\x3a\
-\x00\x00\x01\x8d\xe7\xff\x00\x7b\
-\x00\x00\x01\x1e\x00\x00\x00\x00\x00\x01\x00\x00\x22\x3e\
-\x00\x00\x01\x8d\xe7\xff\x00\x7c\
-\x00\x00\x04\x58\x00\x01\x00\x00\x00\x01\x00\x00\x6a\xe7\
-\x00\x00\x01\x8d\xe7\xff\x00\x7c\
-\x00\x00\x05\x52\x00\x00\x00\x00\x00\x01\x00\x00\x7c\xa7\
-\x00\x00\x01\x8d\xe7\xff\x00\x7a\
-\x00\x00\x05\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x78\x8c\
-\x00\x00\x01\x8d\xe7\xff\x00\x7d\
-\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x14\x80\
-\x00\x00\x01\x8d\xe7\xff\x00\x7c\
-\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x19\x27\
-\x00\x00\x01\x8d\xe7\xff\x00\x7d\
-\x00\x00\x01\x08\x00\x00\x00\x00\x00\x01\x00\x00\x1d\x9e\
-\x00\x00\x01\x8d\xe7\xff\x00\x7c\
-\x00\x00\x02\xc6\x00\x00\x00\x00\x00\x01\x00\x00\x4b\x3e\
-\x00\x00\x01\x8d\xe7\xff\x00\x7b\
-\x00\x00\x01\x72\x00\x00\x00\x00\x00\x01\x00\x00\x29\x8d\
-\x00\x00\x01\x8d\xe7\xff\x00\x7d\
+\x00\x00\x05\x58\x00\x00\x00\x00\x00\x01\x00\x00\x79\x2d\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x00\x80\x00\x00\x00\x00\x00\x01\x00\x00\x0b\x5d\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x05\x80\x00\x00\x00\x00\x00\x01\x00\x00\x80\x9c\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x05\x0a\x00\x00\x00\x00\x00\x01\x00\x00\x73\x49\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x06\x52\x00\x00\x00\x00\x00\x01\x00\x00\x94\x0d\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x00\xde\x00\x01\x00\x00\x00\x01\x00\x00\x15\x98\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x01\x00\x00\x10\xfd\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x02\x54\x00\x00\x00\x00\x00\x01\x00\x00\x36\x7f\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x03\x52\x00\x00\x00\x00\x00\x01\x00\x00\x4c\x2c\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x03\xf8\x00\x00\x00\x00\x00\x01\x00\x00\x5a\x3a\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x03\x76\x00\x00\x00\x00\x00\x01\x00\x00\x50\xd3\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x05\x36\x00\x00\x00\x00\x00\x01\x00\x00\x76\x68\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x06\x8f\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x05\xc8\x00\x00\x00\x00\x00\x01\x00\x00\x87\x58\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x02\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x41\xb3\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x01\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x2b\x75\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x04\x18\x00\x00\x00\x00\x00\x01\x00\x00\x5e\xb1\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x04\x84\x00\x00\x00\x00\x00\x01\x00\x00\x67\x17\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x01\xa0\x00\x00\x00\x00\x00\x01\x00\x00\x25\xeb\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x06\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x90\x0b\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x05\xee\x00\x00\x00\x00\x00\x01\x00\x00\x8d\x17\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x02\x14\x00\x00\x00\x00\x00\x01\x00\x00\x2f\x8c\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x01\xca\x00\x00\x00\x00\x00\x01\x00\x00\x29\x05\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x03\x8c\x00\x01\x00\x00\x00\x01\x00\x00\x55\x73\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x04\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x6d\x16\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x01\x32\x00\x00\x00\x00\x00\x01\x00\x00\x1c\xb6\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x03\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x49\xb6\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x02\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x3a\x9a\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x04\xae\x00\x00\x00\x00\x00\x01\x00\x00\x69\xb3\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x01\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x1f\xa1\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x05\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x83\x12\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x03\xd2\x00\x00\x00\x00\x00\x01\x00\x00\x57\xbf\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x02\x2a\x00\x00\x00\x00\x00\x01\x00\x00\x32\x27\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x01\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x18\xd8\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x02\xf2\x00\x00\x00\x00\x00\x01\x00\x00\x45\x90\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
\x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
-\x00\x00\x01\x8d\xe7\xff\x00\x7b\
-\x00\x00\x06\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x90\x3c\
-\x00\x00\x01\x8d\xe7\xff\x00\x7c\
-\x00\x00\x05\x18\x00\x00\x00\x00\x00\x01\x00\x00\x74\x75\
-\x00\x00\x01\x8d\xe7\xff\x00\x7d\
-\x00\x00\x05\xa2\x00\x00\x00\x00\x00\x01\x00\x00\x82\x50\
-\x00\x00\x01\x8d\xe7\xff\x00\x7b\
-\x00\x00\x02\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x4e\x03\
-\x00\x00\x01\x8d\xe7\xff\x00\x7a\
-\x00\x00\x03\x76\x00\x00\x00\x00\x00\x01\x00\x00\x59\x4b\
-\x00\x00\x01\x8d\xe7\xff\x00\x7a\
-\x00\x00\x00\x36\x00\x00\x00\x00\x00\x01\x00\x00\x05\xbf\
-\x00\x00\x01\x8d\xe7\xff\x00\x7c\
-\x00\x00\x03\xa0\x00\x00\x00\x00\x00\x01\x00\x00\x5c\x65\
-\x00\x00\x01\x8d\xe7\xff\x00\x7b\
-\x00\x00\x03\x12\x00\x00\x00\x00\x00\x01\x00\x00\x50\x9f\
-\x00\x00\x01\x8d\xe7\xff\x00\x7d\
-\x00\x00\x00\x9e\x00\x00\x00\x00\x00\x01\x00\x00\x12\x10\
-\x00\x00\x01\x8d\xe7\xff\x00\x7a\
-\x00\x00\x04\x28\x00\x01\x00\x00\x00\x01\x00\x00\x65\xad\
-\x00\x00\x01\x8d\xe7\xff\x00\x7c\
-\x00\x00\x05\xee\x00\x00\x00\x00\x00\x01\x00\x00\x88\xa3\
-\x00\x00\x01\x8d\xe7\xff\x00\x7c\
-\x00\x00\x01\xce\x00\x00\x00\x00\x00\x01\x00\x00\x32\x81\
-\x00\x00\x01\x8d\xe7\xff\x00\x7c\
-\x00\x00\x02\x18\x00\x00\x00\x00\x00\x01\x00\x00\x3b\x1f\
-\x00\x00\x01\x8d\xe7\xff\x00\x7a\
-\x00\x00\x04\x3e\x00\x00\x00\x00\x00\x01\x00\x00\x67\x89\
-\x00\x00\x01\x8d\xe7\xff\x00\x7b\
-\x00\x00\x01\x5c\x00\x00\x00\x00\x00\x01\x00\x00\x26\x2a\
-\x00\x00\x01\x8d\xe7\xff\x00\x7c\
-\x00\x00\x05\xd6\x00\x00\x00\x00\x00\x01\x00\x00\x85\x9c\
-\x00\x00\x01\x8d\xe7\xff\x00\x7c\
-\x00\x00\x02\x02\x00\x00\x00\x00\x00\x01\x00\x00\x36\xd9\
-\x00\x00\x01\x8d\xe7\xff\x00\x7d\
-\x00\x00\x05\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x7f\xd5\
-\x00\x00\x01\x8d\xe7\xff\x00\x7b\
-\x00\x00\x06\x12\x00\x00\x00\x00\x00\x01\x00\x00\x8b\xe4\
-\x00\x00\x01\x8d\xe7\xff\x00\x7b\
-\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x00\x5f\x59\
-\x00\x00\x01\x8d\xe7\xff\x00\x7b\
-\x00\x00\x01\xa6\x00\x00\x00\x00\x00\x01\x00\x00\x2e\x5b\
-\x00\x00\x01\x8d\xe7\xff\x00\x7c\
-\x00\x00\x00\x76\x00\x00\x00\x00\x00\x01\x00\x00\x0f\x61\
-\x00\x00\x01\x8d\xe7\xff\x00\x7a\
-\x00\x00\x02\xb0\x00\x00\x00\x00\x00\x01\x00\x00\x4a\x1e\
-\x00\x00\x01\x8d\xe7\xff\x00\x7d\
-\x00\x00\x06\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x94\x19\
-\x00\x00\x01\x8d\xe7\xff\x00\x7c\
-\x00\x00\x04\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x6d\x07\
-\x00\x00\x01\x8d\xe7\xff\x00\x7b\
-\x00\x00\x01\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x35\x6c\
-\x00\x00\x01\x8d\xe7\xff\x00\x7a\
-\x00\x00\x04\xba\x00\x00\x00\x00\x00\x01\x00\x00\x70\x4a\
-\x00\x00\x01\x8d\xe7\xff\x00\x7d\
-\x00\x00\x04\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x74\x05\
-\x00\x00\x01\x8d\xe7\xff\x00\x7d\
-\x00\x00\x03\x54\x00\x00\x00\x00\x00\x01\x00\x00\x56\x59\
-\x00\x00\x01\x8d\xe7\xff\x00\x7d\
-\x00\x00\x02\x50\x00\x00\x00\x00\x00\x01\x00\x00\x3d\x95\
-\x00\x00\x01\x8d\xe7\xff\x00\x7a\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x01\x04\x00\x00\x00\x00\x00\x01\x00\x00\x17\xb8\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x00\x38\x00\x00\x00\x00\x00\x01\x00\x00\x02\xaf\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x01\x64\x00\x00\x00\x00\x00\x01\x00\x00\x22\xa8\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x14\x2b\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
+\x00\x00\x02\x84\x00\x00\x00\x00\x00\x01\x00\x00\x3d\xf8\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x03\xa2\x00\x00\x00\x00\x00\x01\x00\x00\x57\x4f\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x04\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x70\x57\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc4\
+\x00\x00\x04\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x61\xfd\
+\x00\x00\x01\x8e\x1d\x20\x9b\xc3\
"
qt_version = [int(v) for v in QtCore.qVersion().split('.')]
diff --git a/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake b/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
index 479ad12135..b3a804070c 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
+++ b/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -2,8 +2,8 @@
# Generated by "Unix Makefiles" Generator, CMake Version 3.27
# Relative path conversion top directories.
-set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/local/src/asymptote-2.87/LspCpp")
-set(CMAKE_RELATIVE_PATH_TOP_BINARY "/usr/local/src/asymptote-2.87/LspCpp")
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/local/src/asymptote-2.88/LspCpp")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/usr/local/src/asymptote-2.88/LspCpp")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
diff --git a/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make b/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
index 791ab479aa..7dc7d8565c 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
+++ b/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
@@ -56,10 +56,10 @@ RM = /usr/bin/cmake -E rm -f
EQUALS = =
# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.87/LspCpp
+CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.88/LspCpp
# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.87/LspCpp
+CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.88/LspCpp
# Utility rule file for doc.
@@ -70,8 +70,8 @@ include third_party/uri/CMakeFiles/doc.dir/compiler_depend.make
include third_party/uri/CMakeFiles/doc.dir/progress.make
third_party/uri/CMakeFiles/doc:
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/usr/local/src/asymptote-2.87/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating API documentation with Doxygen"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri && /bin/doxygen /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/Doxyfile
+ @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/usr/local/src/asymptote-2.88/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating API documentation with Doxygen"
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri && /bin/doxygen /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/Doxyfile
doc: third_party/uri/CMakeFiles/doc
doc: third_party/uri/CMakeFiles/doc.dir/build.make
@@ -82,10 +82,10 @@ third_party/uri/CMakeFiles/doc.dir/build: doc
.PHONY : third_party/uri/CMakeFiles/doc.dir/build
third_party/uri/CMakeFiles/doc.dir/clean:
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri && $(CMAKE_COMMAND) -P CMakeFiles/doc.dir/cmake_clean.cmake
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri && $(CMAKE_COMMAND) -P CMakeFiles/doc.dir/cmake_clean.cmake
.PHONY : third_party/uri/CMakeFiles/doc.dir/clean
third_party/uri/CMakeFiles/doc.dir/depend:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /usr/local/src/asymptote-2.87/LspCpp /usr/local/src/asymptote-2.87/LspCpp/third_party/uri /usr/local/src/asymptote-2.87/LspCpp /usr/local/src/asymptote-2.87/LspCpp/third_party/uri /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake "--color=$(COLOR)"
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /usr/local/src/asymptote-2.88/LspCpp /usr/local/src/asymptote-2.88/LspCpp/third_party/uri /usr/local/src/asymptote-2.88/LspCpp /usr/local/src/asymptote-2.88/LspCpp/third_party/uri /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake "--color=$(COLOR)"
.PHONY : third_party/uri/CMakeFiles/doc.dir/depend
diff --git a/graphics/asymptote/LspCpp/third_party/uri/Doxyfile b/graphics/asymptote/LspCpp/third_party/uri/Doxyfile
index b1b0845637..b5d425d2ff 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/Doxyfile
+++ b/graphics/asymptote/LspCpp/third_party/uri/Doxyfile
@@ -128,7 +128,7 @@ FULL_PATH_NAMES = YES
# If left blank the directory from which doxygen is run is used as the
# path to strip.
-STRIP_FROM_PATH = /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/
+STRIP_FROM_PATH = /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
# the path mentioned in the documentation of a class, which tells
@@ -626,7 +626,7 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
-INPUT = /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include
+INPUT = /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@@ -658,7 +658,7 @@ RECURSIVE = YES
# Note that relative paths are relative to the directory from which doxygen is
# run.
-EXCLUDE = /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail
+EXCLUDE = /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
@@ -821,7 +821,7 @@ COLS_IN_ALPHA_INDEX = 5
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
# should be ignored while generating the index headers.
-IGNORE_PREFIX = /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/uri/src/
+IGNORE_PREFIX = /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/uri/src/
#---------------------------------------------------------------------------
# configuration options related to the HTML output
diff --git a/graphics/asymptote/LspCpp/third_party/uri/Makefile b/graphics/asymptote/LspCpp/third_party/uri/Makefile
index c5a1aa7ac5..5a5cbc0341 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/Makefile
+++ b/graphics/asymptote/LspCpp/third_party/uri/Makefile
@@ -60,10 +60,10 @@ RM = /usr/bin/cmake -E rm -f
EQUALS = =
# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.87/LspCpp
+CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.88/LspCpp
# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.87/LspCpp
+CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.88/LspCpp
#=============================================================================
# Targets provided globally by CMake.
@@ -135,14 +135,14 @@ install/strip/fast: preinstall/fast
# The main all target
all: cmake_check_build_system
- cd /usr/local/src/asymptote-2.87/LspCpp && $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.87/LspCpp/CMakeFiles /usr/local/src/asymptote-2.87/LspCpp/third_party/uri//CMakeFiles/progress.marks
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/all
- $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.87/LspCpp/CMakeFiles 0
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.88/LspCpp/CMakeFiles /usr/local/src/asymptote-2.88/LspCpp/third_party/uri//CMakeFiles/progress.marks
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/all
+ $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.88/LspCpp/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/clean
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/clean
.PHONY : clean
# The main clean target
@@ -151,22 +151,22 @@ clean/fast: clean
# Prepare targets for installation.
preinstall: all
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/preinstall
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/preinstall
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/preinstall
.PHONY : preinstall/fast
# clear depends
depend:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
# Convenience name for target.
third_party/uri/CMakeFiles/doc.dir/rule:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/CMakeFiles/doc.dir/rule
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/CMakeFiles/doc.dir/rule
.PHONY : third_party/uri/CMakeFiles/doc.dir/rule
# Convenience name for target.
@@ -175,7 +175,7 @@ doc: third_party/uri/CMakeFiles/doc.dir/rule
# fast build rule for target.
doc/fast:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/CMakeFiles/doc.dir/build.make third_party/uri/CMakeFiles/doc.dir/build
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/CMakeFiles/doc.dir/build.make third_party/uri/CMakeFiles/doc.dir/build
.PHONY : doc/fast
# Help Target
@@ -202,6 +202,6 @@ help:
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system
diff --git a/graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake b/graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake
index 8601f086b2..ec3580e206 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake
+++ b/graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake
@@ -1,4 +1,4 @@
-# Install script for directory: /usr/local/src/asymptote-2.87/LspCpp/third_party/uri
+# Install script for directory: /usr/local/src/asymptote-2.88/LspCpp/third_party/uri
# Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
@@ -43,12 +43,12 @@ if(NOT DEFINED CMAKE_OBJDUMP)
endif()
if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/." TYPE DIRECTORY FILES "/usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include")
+ file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/." TYPE DIRECTORY FILES "/usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include")
endif()
if(NOT CMAKE_INSTALL_LOCAL_ONLY)
# Include the install script for each subdirectory.
- include("/usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/cmake_install.cmake")
+ include("/usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/cmake_install.cmake")
endif()
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
index 479ad12135..b3a804070c 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -2,8 +2,8 @@
# Generated by "Unix Makefiles" Generator, CMake Version 3.27
# Relative path conversion top directories.
-set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/local/src/asymptote-2.87/LspCpp")
-set(CMAKE_RELATIVE_PATH_TOP_BINARY "/usr/local/src/asymptote-2.87/LspCpp")
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/local/src/asymptote-2.88/LspCpp")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/usr/local/src/asymptote-2.88/LspCpp")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake
index e18c2d5c19..ee4218a039 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake
@@ -8,14 +8,14 @@ set(CMAKE_DEPENDS_LANGUAGES
# The set of dependency files which are needed:
set(CMAKE_DEPENDS_DEPENDENCY_FILES
- "/usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o.d"
- "/usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_normalize.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o.d"
- "/usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_parse.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o.d"
- "/usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o.d"
- "/usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_resolve.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o.d"
- "/usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o.d"
- "/usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri_builder.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o.d"
- "/usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri_errors.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o.d"
+ "/usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o.d"
+ "/usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_normalize.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o.d"
+ "/usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_parse.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o.d"
+ "/usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o.d"
+ "/usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_resolve.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o.d"
+ "/usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o.d"
+ "/usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri_builder.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o.d"
+ "/usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri_errors.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o.d"
)
# Targets to which this target links which contain Fortran sources.
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make
index f31af4df4e..92f85c04a5 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make
@@ -56,10 +56,10 @@ RM = /usr/bin/cmake -E rm -f
EQUALS = =
# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.87/LspCpp
+CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.88/LspCpp
# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.87/LspCpp
+CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.88/LspCpp
# Include any dependencies generated for this target.
include third_party/uri/src/CMakeFiles/network-uri.dir/depend.make
@@ -75,114 +75,114 @@ include third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o: third_party/uri/src/uri.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.87/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o -MF CMakeFiles/network-uri.dir/uri.cpp.o.d -o CMakeFiles/network-uri.dir/uri.cpp.o -c /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.88/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o"
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o -MF CMakeFiles/network-uri.dir/uri.cpp.o.d -o CMakeFiles/network-uri.dir/uri.cpp.o -c /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/uri.cpp.i"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri.cpp > CMakeFiles/network-uri.dir/uri.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri.cpp > CMakeFiles/network-uri.dir/uri.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/uri.cpp.s"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri.cpp -o CMakeFiles/network-uri.dir/uri.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri.cpp -o CMakeFiles/network-uri.dir/uri.cpp.s
third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o: third_party/uri/src/uri_builder.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.87/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o -MF CMakeFiles/network-uri.dir/uri_builder.cpp.o.d -o CMakeFiles/network-uri.dir/uri_builder.cpp.o -c /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri_builder.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.88/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o"
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o -MF CMakeFiles/network-uri.dir/uri_builder.cpp.o.d -o CMakeFiles/network-uri.dir/uri_builder.cpp.o -c /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri_builder.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/uri_builder.cpp.i"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri_builder.cpp > CMakeFiles/network-uri.dir/uri_builder.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri_builder.cpp > CMakeFiles/network-uri.dir/uri_builder.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/uri_builder.cpp.s"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri_builder.cpp -o CMakeFiles/network-uri.dir/uri_builder.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri_builder.cpp -o CMakeFiles/network-uri.dir/uri_builder.cpp.s
third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o: third_party/uri/src/uri_errors.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.87/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o -MF CMakeFiles/network-uri.dir/uri_errors.cpp.o.d -o CMakeFiles/network-uri.dir/uri_errors.cpp.o -c /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri_errors.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.88/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o"
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o -MF CMakeFiles/network-uri.dir/uri_errors.cpp.o.d -o CMakeFiles/network-uri.dir/uri_errors.cpp.o -c /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri_errors.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/uri_errors.cpp.i"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri_errors.cpp > CMakeFiles/network-uri.dir/uri_errors.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri_errors.cpp > CMakeFiles/network-uri.dir/uri_errors.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/uri_errors.cpp.s"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri_errors.cpp -o CMakeFiles/network-uri.dir/uri_errors.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri_errors.cpp -o CMakeFiles/network-uri.dir/uri_errors.cpp.s
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o: third_party/uri/src/detail/uri_parse.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.87/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o -c /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_parse.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.88/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o"
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o -c /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_parse.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/detail/uri_parse.cpp.i"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_parse.cpp > CMakeFiles/network-uri.dir/detail/uri_parse.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_parse.cpp > CMakeFiles/network-uri.dir/detail/uri_parse.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/detail/uri_parse.cpp.s"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_parse.cpp -o CMakeFiles/network-uri.dir/detail/uri_parse.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_parse.cpp -o CMakeFiles/network-uri.dir/detail/uri_parse.cpp.s
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o: third_party/uri/src/detail/uri_parse_authority.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.87/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o -c /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.88/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o"
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o -c /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.i"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp > CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp > CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.s"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp -o CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp -o CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.s
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o: third_party/uri/src/detail/uri_advance_parts.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.87/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o -c /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.88/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o"
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o -c /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.i"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp > CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp > CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.s"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp -o CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp -o CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.s
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o: third_party/uri/src/detail/uri_normalize.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.87/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o -c /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.88/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o"
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o -c /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.i"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_normalize.cpp > CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_normalize.cpp > CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.s"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_normalize.cpp -o CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_normalize.cpp -o CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.s
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o: third_party/uri/src/detail/uri_resolve.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.87/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o -c /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/usr/local/src/asymptote-2.88/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o"
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o -c /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.i"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_resolve.cpp > CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_resolve.cpp > CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.s"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_resolve.cpp -o CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_resolve.cpp -o CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.s
# Object files for target network-uri
network__uri_OBJECTS = \
@@ -208,19 +208,19 @@ third_party/uri/src/libnetwork-uri.a: third_party/uri/src/CMakeFiles/network-uri
third_party/uri/src/libnetwork-uri.a: third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o
third_party/uri/src/libnetwork-uri.a: third_party/uri/src/CMakeFiles/network-uri.dir/build.make
third_party/uri/src/libnetwork-uri.a: third_party/uri/src/CMakeFiles/network-uri.dir/link.txt
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/usr/local/src/asymptote-2.87/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Linking CXX static library libnetwork-uri.a"
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -P CMakeFiles/network-uri.dir/cmake_clean_target.cmake
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/network-uri.dir/link.txt --verbose=$(VERBOSE)
+ @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/usr/local/src/asymptote-2.88/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Linking CXX static library libnetwork-uri.a"
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -P CMakeFiles/network-uri.dir/cmake_clean_target.cmake
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/network-uri.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
third_party/uri/src/CMakeFiles/network-uri.dir/build: third_party/uri/src/libnetwork-uri.a
.PHONY : third_party/uri/src/CMakeFiles/network-uri.dir/build
third_party/uri/src/CMakeFiles/network-uri.dir/clean:
- cd /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -P CMakeFiles/network-uri.dir/cmake_clean.cmake
+ cd /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -P CMakeFiles/network-uri.dir/cmake_clean.cmake
.PHONY : third_party/uri/src/CMakeFiles/network-uri.dir/clean
third_party/uri/src/CMakeFiles/network-uri.dir/depend:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /usr/local/src/asymptote-2.87/LspCpp /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src /usr/local/src/asymptote-2.87/LspCpp /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake "--color=$(COLOR)"
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /usr/local/src/asymptote-2.88/LspCpp /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src /usr/local/src/asymptote-2.88/LspCpp /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake "--color=$(COLOR)"
.PHONY : third_party/uri/src/CMakeFiles/network-uri.dir/depend
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal
index 12acd320c4..cf8a9e35c4 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal
@@ -2,7 +2,7 @@
# Generated by "Unix Makefiles" Generator, CMake Version 3.27
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
/usr/include/alloca.h
/usr/include/asm-generic/errno-base.h
/usr/include/asm-generic/errno.h
@@ -199,13 +199,13 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdarg.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stddef.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdint.h
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/optional.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/string_view.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
/usr/include/alloca.h
/usr/include/asm-generic/errno-base.h
/usr/include/asm-generic/errno.h
@@ -427,23 +427,23 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdarg.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stddef.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdint.h
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/optional.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/string_view.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/config.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/uri.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/algorithm.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/algorithm_split.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/uri.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/algorithm.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/algorithm_split.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_parse.cpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_parse.cpp
/usr/include/alloca.h
/usr/include/asm-generic/errno-base.h
/usr/include/asm-generic/errno.h
@@ -659,14 +659,14 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdarg.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stddef.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdint.h
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/optional.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/string_view.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/grammar.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_parse.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/grammar.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_parse.hpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
/usr/include/alloca.h
/usr/include/asm-generic/errno-base.h
/usr/include/asm-generic/errno.h
@@ -882,14 +882,14 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdarg.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stddef.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdint.h
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/optional.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/string_view.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/grammar.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/grammar.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
/usr/include/alloca.h
/usr/include/asm-generic/errno-base.h
/usr/include/asm-generic/errno.h
@@ -1092,21 +1092,21 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdarg.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stddef.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdint.h
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/optional.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/string_view.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/config.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/uri.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/algorithm_find.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/uri.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/algorithm_find.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri.cpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri.cpp
/usr/include/alloca.h
/usr/include/asm-generic/errno-base.h
/usr/include/asm-generic/errno.h
@@ -1328,25 +1328,25 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdarg.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stddef.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdint.h
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/optional.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/string_view.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/config.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/uri.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/algorithm.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_parse.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/uri.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/algorithm.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_parse.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri_builder.cpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri_builder.cpp
/usr/include/alloca.h
/usr/include/asm-generic/errno-base.h
/usr/include/asm-generic/errno.h
@@ -1564,22 +1564,22 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdarg.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stddef.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdint.h
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/optional.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/string_view.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/config.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/uri.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/algorithm.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/uri.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/algorithm.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/uri_errors.cpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/uri_errors.cpp
/usr/include/alloca.h
/usr/include/asm-generic/errno-base.h
/usr/include/asm-generic/errno.h
@@ -1719,6 +1719,6 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o
/usr/include/wchar.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stdarg.h
/usr/lib/gcc/x86_64-redhat-linux/13/include/stddef.h
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/config.hpp
- /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
index 6f4ffc34f3..6ee147240a 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
@@ -4,7 +4,7 @@
# compile CXX with /bin/c++
CXX_DEFINES =
-CXX_INCLUDES = -I/usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src -I/usr/local/src/asymptote-2.87/LspCpp/third_party/uri/include
+CXX_INCLUDES = -I/usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src -I/usr/local/src/asymptote-2.88/LspCpp/third_party/uri/include
CXX_FLAGS = -fPIE -D_FILE_OFFSET_BIS=64 -DUSEGC -DLSPCPP_USEGC -I../gc-8.2.4/include -std=c++11 -Wall -Werror -Wno-parentheses -O2 -g -DNDEBUG
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/Makefile b/graphics/asymptote/LspCpp/third_party/uri/src/Makefile
index 1536765f88..4ff856ce93 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/Makefile
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/Makefile
@@ -60,10 +60,10 @@ RM = /usr/bin/cmake -E rm -f
EQUALS = =
# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.87/LspCpp
+CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.88/LspCpp
# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.87/LspCpp
+CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.88/LspCpp
#=============================================================================
# Targets provided globally by CMake.
@@ -135,14 +135,14 @@ install/strip/fast: preinstall/fast
# The main all target
all: cmake_check_build_system
- cd /usr/local/src/asymptote-2.87/LspCpp && $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.87/LspCpp/CMakeFiles /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src//CMakeFiles/progress.marks
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/all
- $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.87/LspCpp/CMakeFiles 0
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.88/LspCpp/CMakeFiles /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src//CMakeFiles/progress.marks
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/all
+ $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.88/LspCpp/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/clean
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/clean
.PHONY : clean
# The main clean target
@@ -151,22 +151,22 @@ clean/fast: clean
# Prepare targets for installation.
preinstall: all
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/preinstall
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/preinstall
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/preinstall
.PHONY : preinstall/fast
# clear depends
depend:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
# Convenience name for target.
third_party/uri/src/CMakeFiles/network-uri.dir/rule:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/CMakeFiles/network-uri.dir/rule
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/CMakeFiles/network-uri.dir/rule
.PHONY : third_party/uri/src/CMakeFiles/network-uri.dir/rule
# Convenience name for target.
@@ -175,7 +175,7 @@ network-uri: third_party/uri/src/CMakeFiles/network-uri.dir/rule
# fast build rule for target.
network-uri/fast:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/build
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/build
.PHONY : network-uri/fast
detail/uri_advance_parts.o: detail/uri_advance_parts.cpp.o
@@ -183,7 +183,7 @@ detail/uri_advance_parts.o: detail/uri_advance_parts.cpp.o
# target to build an object file
detail/uri_advance_parts.cpp.o:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o
.PHONY : detail/uri_advance_parts.cpp.o
detail/uri_advance_parts.i: detail/uri_advance_parts.cpp.i
@@ -191,7 +191,7 @@ detail/uri_advance_parts.i: detail/uri_advance_parts.cpp.i
# target to preprocess a source file
detail/uri_advance_parts.cpp.i:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.i
.PHONY : detail/uri_advance_parts.cpp.i
detail/uri_advance_parts.s: detail/uri_advance_parts.cpp.s
@@ -199,7 +199,7 @@ detail/uri_advance_parts.s: detail/uri_advance_parts.cpp.s
# target to generate assembly for a file
detail/uri_advance_parts.cpp.s:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.s
.PHONY : detail/uri_advance_parts.cpp.s
detail/uri_normalize.o: detail/uri_normalize.cpp.o
@@ -207,7 +207,7 @@ detail/uri_normalize.o: detail/uri_normalize.cpp.o
# target to build an object file
detail/uri_normalize.cpp.o:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o
.PHONY : detail/uri_normalize.cpp.o
detail/uri_normalize.i: detail/uri_normalize.cpp.i
@@ -215,7 +215,7 @@ detail/uri_normalize.i: detail/uri_normalize.cpp.i
# target to preprocess a source file
detail/uri_normalize.cpp.i:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.i
.PHONY : detail/uri_normalize.cpp.i
detail/uri_normalize.s: detail/uri_normalize.cpp.s
@@ -223,7 +223,7 @@ detail/uri_normalize.s: detail/uri_normalize.cpp.s
# target to generate assembly for a file
detail/uri_normalize.cpp.s:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.s
.PHONY : detail/uri_normalize.cpp.s
detail/uri_parse.o: detail/uri_parse.cpp.o
@@ -231,7 +231,7 @@ detail/uri_parse.o: detail/uri_parse.cpp.o
# target to build an object file
detail/uri_parse.cpp.o:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o
.PHONY : detail/uri_parse.cpp.o
detail/uri_parse.i: detail/uri_parse.cpp.i
@@ -239,7 +239,7 @@ detail/uri_parse.i: detail/uri_parse.cpp.i
# target to preprocess a source file
detail/uri_parse.cpp.i:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.i
.PHONY : detail/uri_parse.cpp.i
detail/uri_parse.s: detail/uri_parse.cpp.s
@@ -247,7 +247,7 @@ detail/uri_parse.s: detail/uri_parse.cpp.s
# target to generate assembly for a file
detail/uri_parse.cpp.s:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.s
.PHONY : detail/uri_parse.cpp.s
detail/uri_parse_authority.o: detail/uri_parse_authority.cpp.o
@@ -255,7 +255,7 @@ detail/uri_parse_authority.o: detail/uri_parse_authority.cpp.o
# target to build an object file
detail/uri_parse_authority.cpp.o:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o
.PHONY : detail/uri_parse_authority.cpp.o
detail/uri_parse_authority.i: detail/uri_parse_authority.cpp.i
@@ -263,7 +263,7 @@ detail/uri_parse_authority.i: detail/uri_parse_authority.cpp.i
# target to preprocess a source file
detail/uri_parse_authority.cpp.i:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.i
.PHONY : detail/uri_parse_authority.cpp.i
detail/uri_parse_authority.s: detail/uri_parse_authority.cpp.s
@@ -271,7 +271,7 @@ detail/uri_parse_authority.s: detail/uri_parse_authority.cpp.s
# target to generate assembly for a file
detail/uri_parse_authority.cpp.s:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.s
.PHONY : detail/uri_parse_authority.cpp.s
detail/uri_resolve.o: detail/uri_resolve.cpp.o
@@ -279,7 +279,7 @@ detail/uri_resolve.o: detail/uri_resolve.cpp.o
# target to build an object file
detail/uri_resolve.cpp.o:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o
.PHONY : detail/uri_resolve.cpp.o
detail/uri_resolve.i: detail/uri_resolve.cpp.i
@@ -287,7 +287,7 @@ detail/uri_resolve.i: detail/uri_resolve.cpp.i
# target to preprocess a source file
detail/uri_resolve.cpp.i:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.i
.PHONY : detail/uri_resolve.cpp.i
detail/uri_resolve.s: detail/uri_resolve.cpp.s
@@ -295,7 +295,7 @@ detail/uri_resolve.s: detail/uri_resolve.cpp.s
# target to generate assembly for a file
detail/uri_resolve.cpp.s:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.s
.PHONY : detail/uri_resolve.cpp.s
uri.o: uri.cpp.o
@@ -303,7 +303,7 @@ uri.o: uri.cpp.o
# target to build an object file
uri.cpp.o:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o
.PHONY : uri.cpp.o
uri.i: uri.cpp.i
@@ -311,7 +311,7 @@ uri.i: uri.cpp.i
# target to preprocess a source file
uri.cpp.i:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.i
.PHONY : uri.cpp.i
uri.s: uri.cpp.s
@@ -319,7 +319,7 @@ uri.s: uri.cpp.s
# target to generate assembly for a file
uri.cpp.s:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.s
.PHONY : uri.cpp.s
uri_builder.o: uri_builder.cpp.o
@@ -327,7 +327,7 @@ uri_builder.o: uri_builder.cpp.o
# target to build an object file
uri_builder.cpp.o:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o
.PHONY : uri_builder.cpp.o
uri_builder.i: uri_builder.cpp.i
@@ -335,7 +335,7 @@ uri_builder.i: uri_builder.cpp.i
# target to preprocess a source file
uri_builder.cpp.i:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.i
.PHONY : uri_builder.cpp.i
uri_builder.s: uri_builder.cpp.s
@@ -343,7 +343,7 @@ uri_builder.s: uri_builder.cpp.s
# target to generate assembly for a file
uri_builder.cpp.s:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.s
.PHONY : uri_builder.cpp.s
uri_errors.o: uri_errors.cpp.o
@@ -351,7 +351,7 @@ uri_errors.o: uri_errors.cpp.o
# target to build an object file
uri_errors.cpp.o:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o
.PHONY : uri_errors.cpp.o
uri_errors.i: uri_errors.cpp.i
@@ -359,7 +359,7 @@ uri_errors.i: uri_errors.cpp.i
# target to preprocess a source file
uri_errors.cpp.i:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.i
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.i
.PHONY : uri_errors.cpp.i
uri_errors.s: uri_errors.cpp.s
@@ -367,7 +367,7 @@ uri_errors.s: uri_errors.cpp.s
# target to generate assembly for a file
uri_errors.cpp.s:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.s
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.s
.PHONY : uri_errors.cpp.s
# Help Target
@@ -418,6 +418,6 @@ help:
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
- cd /usr/local/src/asymptote-2.87/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+ cd /usr/local/src/asymptote-2.88/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake b/graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
index b34952d92b..bc1edffd9d 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
@@ -1,4 +1,4 @@
-# Install script for directory: /usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src
+# Install script for directory: /usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src
# Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
@@ -43,6 +43,6 @@ if(NOT DEFINED CMAKE_OBJDUMP)
endif()
if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/usr/local/src/asymptote-2.87/LspCpp/third_party/uri/src/libnetwork-uri.a")
+ file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/usr/local/src/asymptote-2.88/LspCpp/third_party/uri/src/libnetwork-uri.a")
endif()
diff --git a/graphics/asymptote/README b/graphics/asymptote/README
index e7ad374a2a..1e1c510415 100644
--- a/graphics/asymptote/README
+++ b/graphics/asymptote/README
@@ -49,9 +49,9 @@ noted below.
========================================================================
-Source code for the x86_64 and i386 3.3.3 cygwin1.dll libraries is
+Source code for the x86_64 and i386 3.5.1 cygwin1.dll libraries is
available under the GPL license:
-https://cygwin.com/snapshots/
+https://www.cygwin.com/git.html
Source for various icons is available under the MIT license from
https://github.com/driftyco/ionicons/archive/v2.0.1.zip
diff --git a/graphics/asymptote/ReleaseNotes b/graphics/asymptote/ReleaseNotes
index fe6916b08b..8ef5f382af 100644
--- a/graphics/asymptote/ReleaseNotes
+++ b/graphics/asymptote/ReleaseNotes
@@ -1,3 +1,10 @@
+Release Notes for Version 2.88
+
+Building against specific static libraries is supported again.
+An ambiguity in statistics.h was resolved.
+The output of dvisvgm is optimized by default.
+PDF 1.5 output is now generated.
+
Release Notes for Version 2.87
Templated imports were implemented.
diff --git a/graphics/asymptote/asy-keywords.el b/graphics/asymptote/asy-keywords.el
index c78bc2f122..5c67062864 100644
--- a/graphics/asymptote/asy-keywords.el
+++ b/graphics/asymptote/asy-keywords.el
@@ -2,7 +2,7 @@
;; This file is automatically generated by asy-list.pl.
;; Changes will be overwritten.
;;
-(defvar asy-keywords-version "2.87")
+(defvar asy-keywords-version "2.88")
(defvar asy-keyword-name '(
and controls tension atleast curl if else while for do return break continue struct typedef new access import unravel from include quote static public private restricted this explicit true false null cycle newframe operator ))
diff --git a/graphics/asymptote/asymptote.spec b/graphics/asymptote/asymptote.spec
index fbd2c4de65..c4895ff599 100644
--- a/graphics/asymptote/asymptote.spec
+++ b/graphics/asymptote/asymptote.spec
@@ -3,7 +3,7 @@
%global __python %{__python3}
Name: asymptote
-Version: 2.87
+Version: 2.88
Release: 1%{?dist}
Summary: Descriptive vector graphics language
diff --git a/graphics/asymptote/base/v3dheadertypes.asy b/graphics/asymptote/base/v3dheadertypes.asy
index 23c37a1f13..eb92ac48f4 100644
--- a/graphics/asymptote/base/v3dheadertypes.asy
+++ b/graphics/asymptote/base/v3dheadertypes.asy
@@ -1,6 +1,6 @@
// Enum class for v3dheadertypes
// AUTO-GENERATED from v3dheadertypes.csv
-// Generated at 2024-02-27 00:38:18
+// Generated at 2024-03-08 08:14:52
struct v3dheadertypes
{
diff --git a/graphics/asymptote/base/v3dtypes.asy b/graphics/asymptote/base/v3dtypes.asy
index dd29beb212..1556065bdf 100644
--- a/graphics/asymptote/base/v3dtypes.asy
+++ b/graphics/asymptote/base/v3dtypes.asy
@@ -1,6 +1,6 @@
// Enum class for v3dtypes
// AUTO-GENERATED from v3dtypes.csv
-// Generated at 2024-02-27 00:38:18
+// Generated at 2024-03-08 08:14:52
struct v3dtypes
{
diff --git a/graphics/asymptote/binaries/i386-windows/README b/graphics/asymptote/binaries/i386-windows/README
index e7ad374a2a..1e1c510415 100644
--- a/graphics/asymptote/binaries/i386-windows/README
+++ b/graphics/asymptote/binaries/i386-windows/README
@@ -49,9 +49,9 @@ noted below.
========================================================================
-Source code for the x86_64 and i386 3.3.3 cygwin1.dll libraries is
+Source code for the x86_64 and i386 3.5.1 cygwin1.dll libraries is
available under the GPL license:
-https://cygwin.com/snapshots/
+https://www.cygwin.com/git.html
Source for various icons is available under the MIT license from
https://github.com/driftyco/ionicons/archive/v2.0.1.zip
diff --git a/graphics/asymptote/binaries/x86_64-windows/README b/graphics/asymptote/binaries/x86_64-windows/README
index e7ad374a2a..1e1c510415 100644
--- a/graphics/asymptote/binaries/x86_64-windows/README
+++ b/graphics/asymptote/binaries/x86_64-windows/README
@@ -49,9 +49,9 @@ noted below.
========================================================================
-Source code for the x86_64 and i386 3.3.3 cygwin1.dll libraries is
+Source code for the x86_64 and i386 3.5.1 cygwin1.dll libraries is
available under the GPL license:
-https://cygwin.com/snapshots/
+https://www.cygwin.com/git.html
Source for various icons is available under the MIT license from
https://github.com/driftyco/ionicons/archive/v2.0.1.zip
diff --git a/graphics/asymptote/binaries/x86_64-windows/cygwin1.dll b/graphics/asymptote/binaries/x86_64-windows/cygwin1.dll
index fcd3430a86..756d4ee3a1 100644
--- a/graphics/asymptote/binaries/x86_64-windows/cygwin1.dll
+++ b/graphics/asymptote/binaries/x86_64-windows/cygwin1.dll
Binary files differ
diff --git a/graphics/asymptote/config.h.in b/graphics/asymptote/config.h.in
index aadf8dbe14..5141ea43ff 100644
--- a/graphics/asymptote/config.h.in
+++ b/graphics/asymptote/config.h.in
@@ -102,6 +102,9 @@
/* Define to 1 if you have the `tinfo' library (-ltinfo). */
#undef HAVE_LIBTINFO
+/* Define to 1 if you have the `tirpc' library (-ltirpc). */
+#undef HAVE_LIBTIRPC
+
/* Define to 1 if you have the `z' library (-lz). */
#undef HAVE_LIBZ
@@ -138,9 +141,6 @@
/* Define to 1 if the system has the type `ptrdiff_t'. */
#undef HAVE_PTRDIFF_T
-/* Define to 1 if you have a working <tirpc/rpc/rpc.h> header. */
-#undef HAVE_RPC_RPC_H
-
/* Define to 1 if you have GLSL shader storage buffer objects. */
#undef HAVE_SSBO
diff --git a/graphics/asymptote/configure b/graphics/asymptote/configure
index 2c74316ae6..df7d825109 100755
--- a/graphics/asymptote/configure
+++ b/graphics/asymptote/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for Asymptote 2.87.
+# Generated by GNU Autoconf 2.71 for Asymptote 2.88.
#
# Report bugs to <https://github.com/vectorgraphics/asymptote/issues>.
#
@@ -611,8 +611,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='Asymptote'
PACKAGE_TARNAME='asymptote'
-PACKAGE_VERSION='2.87'
-PACKAGE_STRING='Asymptote 2.87'
+PACKAGE_VERSION='2.88'
+PACKAGE_STRING='Asymptote 2.88'
PACKAGE_BUGREPORT='https://github.com/vectorgraphics/asymptote/issues'
PACKAGE_URL=''
@@ -759,6 +759,7 @@ enable_readline
enable_static
enable_fftw
enable_eigen
+enable_xdr
enable_gsl
enable_gl
enable_offscreen
@@ -1325,7 +1326,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Asymptote 2.87 to adapt to many kinds of systems.
+\`configure' configures Asymptote 2.88 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1391,7 +1392,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Asymptote 2.87:";;
+ short | recursive ) echo "Configuration of Asymptote 2.88:";;
esac
cat <<\_ACEOF
@@ -1413,6 +1414,7 @@ Optional Features:
--enable-static[=no] link against static libraries
--enable-fftw[=yes] enable FFTW Library
--enable-eigen[=yes] enable Eigen Library
+ --enable-xdr[=yes] enable XDR/V3D support
--enable-gsl[=yes] enable GNU Scientific Library
--enable-gl[=yes] enable OpenGL Library
--enable-offscreen[=no] use OSMesa library to implement offscreen rendering
@@ -1506,7 +1508,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Asymptote configure 2.87
+Asymptote configure 2.88
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1986,7 +1988,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Asymptote $as_me 2.87, which was
+It was created by Asymptote $as_me 2.88, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -7615,11 +7617,9 @@ then :
fi
-LDSTATIC=""
STATIC=""
DYNAMIC=""
if test "x$enable_static" = "xyes"; then
- LDSTATIC="-static "
STATIC="-Wl,-Bstatic "
DYNAMIC="-Wl,-Bdynamic "
fi
@@ -7628,11 +7628,8 @@ fi
-
-
if test "x$enable_readline" != "xno"; then
CPPFLAGS="$CPPFLAGS "`pkg-config --cflags readline`
-LDFLAGS="$LDFLAGS "`pkg-config --libs readline`
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -7656,8 +7653,9 @@ _ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
-LDFLAGS0=$LDFLAGS
-LDFLAGS=$LDFLAGS$LDSTATIC
+PKGFLAGS=`pkg-config --libs readline`
+LDFLAGS_SAVE=$LDFLAGS
+LDFLAGS="$LDFLAGS ""$STATIC ""$PKGFLAGS""$DYNAMIC "
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for history_list in -lreadline" >&5
printf %s "checking for history_list in -lreadline... " >&6; }
if test ${ac_cv_lib_readline_history_list+y}
@@ -7695,16 +7693,13 @@ printf "%s\n" "$ac_cv_lib_readline_history_list" >&6; }
if test "x$ac_cv_lib_readline_history_list" = xyes
then :
-
printf "%s\n" "#define HAVE_LIBREADLINE 1" >>confdefs.h
-LIBS=$LIBS$STATIC"-lreadline "$DYNAMIC
-
else $as_nop
if test "x$enable_static" = "xyes"; then
+LDFLAGS="$LDFLAGS_SAVE ""$PKGFLAGS"
{ ac_cv_lib_readline_history_list=; unset ac_cv_lib_readline_history_list;}
-LDFLAGS=$LDFLAGS0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for history_list in -lreadline" >&5
printf %s "checking for history_list in -lreadline... " >&6; }
if test ${ac_cv_lib_readline_history_list+y}
@@ -7859,7 +7854,6 @@ fi
fi
-LDFLAGS=$LDFLAGS0
else $as_nop
@@ -7918,9 +7912,11 @@ fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+CPPFLAGS="$CPPFLAGS "`pkg-config --cflags tinfo`
-LDFLAGS0=$LDFLAGS
-LDFLAGS=$LDFLAGS$LDSTATIC
+PKGFLAGS=`pkg-config --libs tinfo`
+LDFLAGS_SAVE=$LDFLAGS
+LDFLAGS="$LDFLAGS ""$STATIC ""$PKGFLAGS""$DYNAMIC "
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltinfo" >&5
printf %s "checking for tgetent in -ltinfo... " >&6; }
if test ${ac_cv_lib_tinfo_tgetent+y}
@@ -7958,16 +7954,13 @@ printf "%s\n" "$ac_cv_lib_tinfo_tgetent" >&6; }
if test "x$ac_cv_lib_tinfo_tgetent" = xyes
then :
-
printf "%s\n" "#define HAVE_LIBTINFO 1" >>confdefs.h
-LIBS=$LIBS$STATIC"-ltinfo "$DYNAMIC
-
else $as_nop
if test "x$enable_static" = "xyes"; then
+LDFLAGS="$LDFLAGS_SAVE ""$PKGFLAGS"
{ ac_cv_lib_tinfo_tgetent=; unset ac_cv_lib_tinfo_tgetent;}
-LDFLAGS=$LDFLAGS0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltinfo" >&5
printf %s "checking for tgetent in -ltinfo... " >&6; }
if test ${ac_cv_lib_tinfo_tgetent+y}
@@ -8021,9 +8014,9 @@ fi
fi
-LDFLAGS=$LDFLAGS0
+CPPFLAGS="$CPPFLAGS "`pkg-config --cflags ncurses`
for ac_header in ncurses/curses.h ncurses.h curses.h
do :
as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh`
@@ -8038,8 +8031,9 @@ fi
done
-LDFLAGS0=$LDFLAGS
-LDFLAGS=$LDFLAGS$LDSTATIC
+PKGFLAGS=`pkg-config --libs ncurses`
+LDFLAGS_SAVE=$LDFLAGS
+LDFLAGS="$LDFLAGS ""$STATIC ""$PKGFLAGS""$DYNAMIC "
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for setupterm in -lncurses" >&5
printf %s "checking for setupterm in -lncurses... " >&6; }
if test ${ac_cv_lib_ncurses_setupterm+y}
@@ -8077,16 +8071,13 @@ printf "%s\n" "$ac_cv_lib_ncurses_setupterm" >&6; }
if test "x$ac_cv_lib_ncurses_setupterm" = xyes
then :
-
printf "%s\n" "#define HAVE_LIBCURSES 1" >>confdefs.h
-LIBS=$LIBS$STATIC"-lncurses "$DYNAMIC
-
else $as_nop
if test "x$enable_static" = "xyes"; then
+LDFLAGS="$LDFLAGS_SAVE ""$PKGFLAGS"
{ ac_cv_lib_ncurses_setupterm=; unset ac_cv_lib_ncurses_setupterm;}
-LDFLAGS=$LDFLAGS0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for setupterm in -lncurses" >&5
printf %s "checking for setupterm in -lncurses... " >&6; }
if test ${ac_cv_lib_ncurses_setupterm+y}
@@ -8220,7 +8211,6 @@ fi
fi
-LDFLAGS=$LDFLAGS0
fi
@@ -8233,13 +8223,13 @@ fi
if test "x$enable_fftw" != "xno"; then
CPPFLAGS="$CPPFLAGS "`pkg-config --cflags fftw3`
-LDFLAGS="$LDFLAGS "`pkg-config --libs fftw3`
ac_fn_cxx_check_header_compile "$LINENO" "fftw3.h" "ac_cv_header_fftw3_h" "$ac_includes_default"
if test "x$ac_cv_header_fftw3_h" = xyes
then :
-LDFLAGS0=$LDFLAGS
-LDFLAGS=$LDFLAGS$LDSTATIC
+PKGFLAGS=`pkg-config --libs fftw3`
+LDFLAGS_SAVE=$LDFLAGS
+LDFLAGS="$LDFLAGS ""$STATIC ""$PKGFLAGS""$DYNAMIC "
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_execute in -lfftw3" >&5
printf %s "checking for fftw_execute in -lfftw3... " >&6; }
if test ${ac_cv_lib_fftw3_fftw_execute+y}
@@ -8277,16 +8267,13 @@ printf "%s\n" "$ac_cv_lib_fftw3_fftw_execute" >&6; }
if test "x$ac_cv_lib_fftw3_fftw_execute" = xyes
then :
-
printf "%s\n" "#define HAVE_LIBFFTW3 1" >>confdefs.h
-LIBS=$LIBS$STATIC"-lfftw3 "$DYNAMIC
-
else $as_nop
if test "x$enable_static" = "xyes"; then
+LDFLAGS="$LDFLAGS_SAVE ""$PKGFLAGS"
{ ac_cv_lib_fftw3_fftw_execute=; unset ac_cv_lib_fftw3_fftw_execute;}
-LDFLAGS=$LDFLAGS0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fftw_execute in -lfftw3" >&5
printf %s "checking for fftw_execute in -lfftw3... " >&6; }
if test ${ac_cv_lib_fftw3_fftw_execute+y}
@@ -8340,7 +8327,6 @@ fi
fi
-LDFLAGS=$LDFLAGS0
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: *** Header file fftw3.h not found: will compile without optional fast Fourier transforms. ***" >&5
@@ -8445,12 +8431,18 @@ then :
fi
+# Check whether --enable-xdr was given.
+if test ${enable_xdr+y}
+then :
+ enableval=$enable_xdr;
+fi
+
+if test "x$enable_xdr" != "xno"; then
case "$OSTYPE" in
darwin*)
;;
*)
CPPFLAGS="$CPPFLAGS "`pkg-config --cflags libtirpc`
- LDFLAGS="$LDFLAGS "`pkg-config --libs libtirpc`
;;
esac
@@ -8467,13 +8459,18 @@ main (void)
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing xdrstdio_create" >&5
-printf %s "checking for library containing xdrstdio_create... " >&6; }
-if test ${ac_cv_search_xdrstdio_create+y}
+
+PKGFLAGS=`pkg-config --libs libtirpc`
+LDFLAGS_SAVE=$LDFLAGS
+LDFLAGS="$LDFLAGS ""$STATIC ""$PKGFLAGS""$DYNAMIC "
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xdrstdio_create in -ltirpc" >&5
+printf %s "checking for xdrstdio_create in -ltirpc... " >&6; }
+if test ${ac_cv_lib_tirpc_xdrstdio_create+y}
then :
printf %s "(cached) " >&6
else $as_nop
- ac_func_search_save_LIBS=$LIBS
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltirpc $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -8488,51 +8485,88 @@ return conftest::xdrstdio_create ();
return 0;
}
_ACEOF
-for ac_lib in '' nsl tirpc
-do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_cxx_try_link "$LINENO"
+if ac_fn_cxx_try_link "$LINENO"
then :
- ac_cv_search_xdrstdio_create=$ac_res
+ ac_cv_lib_tirpc_xdrstdio_create=yes
+else $as_nop
+ ac_cv_lib_tirpc_xdrstdio_create=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext
- if test ${ac_cv_search_xdrstdio_create+y}
-then :
- break
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
fi
-done
-if test ${ac_cv_search_xdrstdio_create+y}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tirpc_xdrstdio_create" >&5
+printf "%s\n" "$ac_cv_lib_tirpc_xdrstdio_create" >&6; }
+if test "x$ac_cv_lib_tirpc_xdrstdio_create" = xyes
+then :
+
+printf "%s\n" "#define HAVE_LIBTIRPC 1" >>confdefs.h
+
+else $as_nop
+ if test "x$enable_static" = "xyes"; then
+
+LDFLAGS="$LDFLAGS_SAVE ""$PKGFLAGS"
+{ ac_cv_lib_tirpc_xdrstdio_create=; unset ac_cv_lib_tirpc_xdrstdio_create;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xdrstdio_create in -ltirpc" >&5
+printf %s "checking for xdrstdio_create in -ltirpc... " >&6; }
+if test ${ac_cv_lib_tirpc_xdrstdio_create+y}
then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltirpc $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+namespace conftest {
+ extern "C" int xdrstdio_create ();
+}
+int
+main (void)
+{
+return conftest::xdrstdio_create ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"
+then :
+ ac_cv_lib_tirpc_xdrstdio_create=yes
else $as_nop
- ac_cv_search_xdrstdio_create=no
+ ac_cv_lib_tirpc_xdrstdio_create=no
fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_xdrstdio_create" >&5
-printf "%s\n" "$ac_cv_search_xdrstdio_create" >&6; }
-ac_res=$ac_cv_search_xdrstdio_create
-if test "$ac_res" != no
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tirpc_xdrstdio_create" >&5
+printf "%s\n" "$ac_cv_lib_tirpc_xdrstdio_create" >&6; }
+if test "x$ac_cv_lib_tirpc_xdrstdio_create" = xyes
then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+ printf "%s\n" "#define HAVE_LIBTIRPC 1" >>confdefs.h
+
+ LIBS="-ltirpc $LIBS"
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: *** Could not find libtirpc; XDR/V3D support disabled ***" >&5
+printf "%s\n" "$as_me: *** Could not find libtirpc; XDR/V3D support disabled ***" >&6;}
fi
-printf "%s\n" "#define HAVE_RPC_RPC_H 1" >>confdefs.h
+else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: *** Could not find libtirpc; XDR/V3D support disabled ***" >&5
+printf "%s\n" "$as_me: *** Could not find libtirpc; XDR/V3D support disabled ***" >&6;}
+fi
+
+fi
+
else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Broken rpc headers; XDR/V3D support disabled ***" >&5
-printf "%s\n" "$as_me: WARNING: *** Broken rpc headers; XDR/V3D support disabled ***" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: *** Broken rpc headers; XDR/V3D support disabled ***" >&5
+printf "%s\n" "$as_me: *** Broken rpc headers; XDR/V3D support disabled ***" >&6;}
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
# Check whether --enable-gsl was given.
if test ${enable_gsl+y}
@@ -10280,7 +10314,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Asymptote $as_me 2.87, which was
+This file was extended by Asymptote $as_me 2.88, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -10344,7 +10378,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-Asymptote config.status 2.87
+Asymptote config.status 2.88
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff --git a/graphics/asymptote/configure.ac b/graphics/asymptote/configure.ac
index f6a5b5d9a1..98b56ab1f6 100644
--- a/graphics/asymptote/configure.ac
+++ b/graphics/asymptote/configure.ac
@@ -3,7 +3,7 @@
# this file.
AC_PREREQ(2)
-AC_INIT([Asymptote],[2.87],[https://github.com/vectorgraphics/asymptote/issues])
+AC_INIT([Asymptote],[2.88],[https://github.com/vectorgraphics/asymptote/issues])
VERSION=$PACKAGE_VERSION
AC_SUBST(VERSION)
m4_include([ax_pthread.m4])
@@ -317,11 +317,9 @@ AC_ARG_ENABLE(readline,
AC_ARG_ENABLE(static,
[AS_HELP_STRING(--enable-static[[[=no]]],link against static libraries)])
-LDSTATIC=""
STATIC=""
DYNAMIC=""
if test "x$enable_static" = "xyes"; then
- LDSTATIC="-static "
STATIC="-Wl,-Bstatic "
DYNAMIC="-Wl,-Bdynamic "
fi
@@ -332,31 +330,25 @@ AC_CHECK_LIB([edit],[readline])
AC_CHECK_HEADERS(editline/readline.h)
])
-AC_DEFUN([CHECK_FOUND_STATIC],[
-AC_DEFINE($1,1,DEFINE_LIB($2))
-LIBS=$LIBS$STATIC"-l$2 "$DYNAMIC
-])
-
AC_DEFUN([AC_CHECK_LIB_STATIC],[
-LDFLAGS0=$LDFLAGS
-LDFLAGS=$LDFLAGS$LDSTATIC
-AC_CHECK_LIB($1,$2,CHECK_FOUND_STATIC($3,$1),
+PKGFLAGS=`pkg-config --libs $1`
+LDFLAGS_SAVE=$LDFLAGS
+LDFLAGS="$LDFLAGS ""$STATIC ""$PKGFLAGS""$DYNAMIC "
+AC_CHECK_LIB($2,$3,AC_DEFINE($4,1,DEFINE_LIB($2)),
if test "x$enable_static" = "xyes"; then
[
-AS_UNSET([ac_cv_lib_$1_$2])
-LDFLAGS=$LDFLAGS0
-AC_CHECK_LIB($1,$2,,$4)
+LDFLAGS="$LDFLAGS_SAVE ""$PKGFLAGS"
+AS_UNSET([ac_cv_lib_$2_$3])
+AC_CHECK_LIB($2,$3,,$5)
]
else
-$4
+$5
fi
)
-LDFLAGS=$LDFLAGS0
])
if test "x$enable_readline" != "xno"; then
CPPFLAGS="$CPPFLAGS "`pkg-config --cflags readline`
-LDFLAGS="$LDFLAGS "`pkg-config --libs readline`
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([
#include <stdio.h>
@@ -367,14 +359,16 @@ AC_LANG_PROGRAM([
abort
#endif
])],
-AC_CHECK_LIB_STATIC(readline,history_list,HAVE_LIBREADLINE,READLINE),
+AC_CHECK_LIB_STATIC(readline,readline,history_list,HAVE_LIBREADLINE,READLINE),
READLINE)
-AC_CHECK_LIB_STATIC(tinfo,tgetent,HAVE_LIBTINFO,AC_MSG_NOTICE([perhaps tgetent is in -lncurses]))
+CPPFLAGS="$CPPFLAGS "`pkg-config --cflags tinfo`
+AC_CHECK_LIB_STATIC(tinfo,tinfo,tgetent,HAVE_LIBTINFO,AC_MSG_NOTICE([perhaps tgetent is in -lncurses]))
+CPPFLAGS="$CPPFLAGS "`pkg-config --cflags ncurses`
AC_CHECK_HEADERS([ncurses/curses.h ncurses.h curses.h],[break])
-AC_CHECK_LIB_STATIC([ncurses],[setupterm],HAVE_LIBCURSES,
- AC_CHECK_LIB([curses],[setupterm]))
+AC_CHECK_LIB_STATIC(ncurses,ncurses,setupterm,HAVE_LIBCURSES,
+ AC_CHECK_LIB(curses,setupterm))
fi
AC_ARG_ENABLE(fftw,
@@ -382,9 +376,8 @@ AC_ARG_ENABLE(fftw,
if test "x$enable_fftw" != "xno"; then
CPPFLAGS="$CPPFLAGS "`pkg-config --cflags fftw3`
-LDFLAGS="$LDFLAGS "`pkg-config --libs fftw3`
AC_CHECK_HEADER(fftw3.h,
-AC_CHECK_LIB_STATIC([fftw3],[fftw_execute],HAVE_LIBFFTW3,
+AC_CHECK_LIB_STATIC(fftw3,fftw3,fftw_execute,HAVE_LIBFFTW3,
AC_MSG_NOTICE([*** Could not find libfftw3: will compile without optional fast Fourier transforms. ***])),
AC_MSG_NOTICE([*** Header file fftw3.h not found: will compile without optional fast Fourier transforms. ***]))
fi
@@ -403,20 +396,22 @@ AC_CHECK_HEADERS([fenv.h stddef.h libintl.h])
AC_CHECK_HEADERS(fpu_control.h)
AC_CHECK_FUNCS([feenableexcept])
+AC_ARG_ENABLE(xdr,
+[AS_HELP_STRING(--enable-xdr[[[=yes]]],enable XDR/V3D support)])
+if test "x$enable_xdr" != "xno"; then
case "$OSTYPE" in
darwin*)
;;
*)
CPPFLAGS="$CPPFLAGS "`pkg-config --cflags libtirpc`
- LDFLAGS="$LDFLAGS "`pkg-config --libs libtirpc`
;;
esac
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include "xstream.h"])],
- [AC_SEARCH_LIBS([xdrstdio_create],[nsl tirpc])
- AC_DEFINE(HAVE_RPC_RPC_H,1,
- DEFINE([a working <tirpc/rpc/rpc.h> header]))],
- AC_MSG_WARN([*** Broken rpc headers; XDR/V3D support disabled ***]))
+ AC_CHECK_LIB_STATIC(libtirpc,tirpc,xdrstdio_create,
+ HAVE_LIBTIRPC,AC_MSG_NOTICE([*** Could not find libtirpc; XDR/V3D support disabled ***])),
+AC_MSG_NOTICE([*** Broken rpc headers; XDR/V3D support disabled ***]))
+fi
AC_ARG_ENABLE(gsl,
[AS_HELP_STRING(--enable-gsl[[[=yes]]],enable GNU Scientific Library)])
diff --git a/graphics/asymptote/doc/CAD.pdf b/graphics/asymptote/doc/CAD.pdf
index 306c5309f1..40f0d9f250 100644
--- a/graphics/asymptote/doc/CAD.pdf
+++ b/graphics/asymptote/doc/CAD.pdf
Binary files differ
diff --git a/graphics/asymptote/doc/FAQ/asy-faq.info b/graphics/asymptote/doc/FAQ/asy-faq.info
index 8a47fafe0c..00ad600d36 100644
--- a/graphics/asymptote/doc/FAQ/asy-faq.info
+++ b/graphics/asymptote/doc/FAQ/asy-faq.info
@@ -10,7 +10,7 @@ END-INFO-DIR-ENTRY
File: asy-faq.info, Node: Top, Next: Question 1.1, Up: (dir)
ASYMPTOTE FREQUENTLY ASKED QUESTIONS
- 2024-02-27
+ 2024-03-08
This is the list of Frequently Asked Questions about Asymptote (asy).
diff --git a/graphics/asymptote/doc/TeXShopAndAsymptote.pdf b/graphics/asymptote/doc/TeXShopAndAsymptote.pdf
index a43c2db07c..74c38da004 100644
--- a/graphics/asymptote/doc/TeXShopAndAsymptote.pdf
+++ b/graphics/asymptote/doc/TeXShopAndAsymptote.pdf
Binary files differ
diff --git a/graphics/asymptote/doc/asy-latex.pdf b/graphics/asymptote/doc/asy-latex.pdf
index 6a6834ba30..ce831dc291 100644
--- a/graphics/asymptote/doc/asy-latex.pdf
+++ b/graphics/asymptote/doc/asy-latex.pdf
Binary files differ
diff --git a/graphics/asymptote/doc/asy.1 b/graphics/asymptote/doc/asy.1
index 41a4ece5f6..d2686af927 100644
--- a/graphics/asymptote/doc/asy.1
+++ b/graphics/asymptote/doc/asy.1
@@ -123,7 +123,7 @@ Garbage collect using purge(divisor=n) [2].
.TP
.B \-dvisvgmMultipleFiles
dvisvgm supports multiple files [true].
--dvisvgmOptions str []
+-dvisvgmOptions str [--optimize]
.TP
.B \-embed
Embed rendered preview image [true].
diff --git a/graphics/asymptote/doc/asyRefCard.pdf b/graphics/asymptote/doc/asyRefCard.pdf
index de22ab3176..91aa8b8271 100644
--- a/graphics/asymptote/doc/asyRefCard.pdf
+++ b/graphics/asymptote/doc/asyRefCard.pdf
Binary files differ
diff --git a/graphics/asymptote/doc/asymptote.pdf b/graphics/asymptote/doc/asymptote.pdf
index 79ccc9346e..bee73f5e1a 100644
--- a/graphics/asymptote/doc/asymptote.pdf
+++ b/graphics/asymptote/doc/asymptote.pdf
Binary files differ
diff --git a/graphics/asymptote/doc/asymptote.texi b/graphics/asymptote/doc/asymptote.texi
index 3f16bb9d6e..965ed8c7ee 100644
--- a/graphics/asymptote/doc/asymptote.texi
+++ b/graphics/asymptote/doc/asymptote.texi
@@ -9628,18 +9628,14 @@ produced using the @code{-f} option (or @code{outformat} setting).
@cindex @code{SVG}
@cindex @code{dvisvgm}
-@cindex @code{libgs}
@cindex @code{graphic}
To produce @acronym{SVG} output, you will need @code{dvisvgm} (version
-2.6.3 or later) from @url{https://dvisvgm.de}.
-You might need to adjust the configuration variable @code{libgs} to
-point to the location of your @code{Ghostscript} library
-@code{libgs.so} (or to an empty string, depending on how
-@code{dvisvgm} was configured). The 2.13.1 version (or later) of
-@code{dvisvgm} can display @acronym{SVG} output (used by the
+3.2.1 or later) from @url{https://dvisvgm.de},
+which can display @acronym{SVG} output (used by the
@code{xasy} editor) for embedded @acronym{EPS}, @acronym{PDF},
@acronym{PNG}, and @acronym{JPEG} images included with the
-@code{graphic()} function.
+@code{graphic()} function. The generated output is optimized
+with the default setting @code{settings.dvisvgmOptions="--optimize"}.
@code{Asymptote} can also produce any output format supported
by the @code{ImageMagick} @code{convert} program (version 6.3.5 or
diff --git a/graphics/asymptote/doc/png/asymptote.info b/graphics/asymptote/doc/png/asymptote.info
index c3633800c7..0418cef3ee 100644
--- a/graphics/asymptote/doc/png/asymptote.info
+++ b/graphics/asymptote/doc/png/asymptote.info
@@ -1,7 +1,7 @@
This is asymptote.info, produced by makeinfo version 7.0.2 from
asymptote.texi.
-This file documents ‘Asymptote’, version 2.87.
+This file documents ‘Asymptote’, version 2.88.
<https://asymptote.sourceforge.io>
@@ -22,7 +22,7 @@ File: asymptote.info, Node: Top, Next: Description, Prev: (dir), Up: (dir)
Asymptote
*********
-This file documents ‘Asymptote’, version 2.87.
+This file documents ‘Asymptote’, version 2.88.
<https://asymptote.sourceforge.io>
@@ -8366,7 +8366,7 @@ Options (negate boolean options by replacing - with -no):
-divisor n Garbage collect using purge(divisor=n) [2]
-dvipsOptions str []
-dvisvgmMultipleFiles dvisvgm supports multiple files [true]
--dvisvgmOptions str []
+-dvisvgmOptions str [--optimize]
-embed Embed rendered preview image [true]
-e,-environment Show summary of environment settings; command-line only
-exitonEOF Exit interactive mode on EOF [true]
@@ -8514,14 +8514,11 @@ tex engine and PDF for the ‘pdflatex’, ‘xelatex’, ‘context’, ‘luat
and ‘lualatex’ tex engines. Alternative output formats may be produced
using the ‘-f’ option (or ‘outformat’ setting).
- To produce SVG output, you will need ‘dvisvgm’ (version 2.6.3 or
-later) from <https://dvisvgm.de>. You might need to adjust the
-configuration variable ‘libgs’ to point to the location of your
-‘Ghostscript’ library ‘libgs.so’ (or to an empty string, depending on
-how ‘dvisvgm’ was configured). The 2.13.1 version (or later) of
-‘dvisvgm’ can display SVG output (used by the ‘xasy’ editor) for
-embedded EPS, PDF, PNG, and JPEG images included with the ‘graphic()’
-function.
+ To produce SVG output, you will need ‘dvisvgm’ (version 3.2.1 or
+later) from <https://dvisvgm.de>, which can display SVG output (used by
+the ‘xasy’ editor) for embedded EPS, PDF, PNG, and JPEG images included
+with the ‘graphic()’ function. The generated output is optimized with
+the default setting ‘settings.dvisvgmOptions="--optimize"’.
‘Asymptote’ can also produce any output format supported by the
‘ImageMagick’ ‘convert’ program (version 6.3.5 or later recommended; an
@@ -9018,9 +9015,9 @@ Index
* ---: Bezier curves. (line 84)
* -=: Self & prefix operators.
(line 6)
-* -c: Options. (line 227)
-* -l: Options. (line 246)
-* -u: Options. (line 237)
+* -c: Options. (line 224)
+* -l: Options. (line 243)
+* -u: Options. (line 234)
* -V: Configuring. (line 6)
* -V <1>: Drawing in batch mode.
(line 16)
@@ -9099,7 +9096,7 @@ Index
* alias: Structures. (line 62)
* alias <1>: Arrays. (line 183)
* Align: label. (line 12)
-* aligndir: Options. (line 219)
+* aligndir: Options. (line 216)
* all: Arrays. (line 350)
* Allow: Pens. (line 363)
* and: Bezier curves. (line 56)
@@ -9853,7 +9850,6 @@ Index
* lexorder: math. (line 63)
* lexorder <1>: math. (line 66)
* libcurl: Import. (line 94)
-* libgs: Options. (line 193)
* libm routines: Mathematical functions.
(line 6)
* libsigsegv: Functions. (line 100)
@@ -9996,7 +9992,7 @@ Index
* None <1>: draw. (line 26)
* none: Files. (line 65)
* normal: three. (line 552)
-* nosafe: Options. (line 214)
+* nosafe: Options. (line 211)
* NOT: Arithmetic & logical.
(line 68)
* notaknot: graph. (line 36)
@@ -10017,7 +10013,7 @@ Index
* obliqueZ: three. (line 388)
* ode: ode. (line 6)
* offset: Pens. (line 123)
-* offset <1>: Options. (line 219)
+* offset <1>: Options. (line 216)
* OmitTick: graph. (line 224)
* OmitTickInterval: graph. (line 224)
* OmitTickIntervals: graph. (line 224)
@@ -10236,7 +10232,7 @@ Index
* runtime imports: Import. (line 102)
* Russian: Pens. (line 238)
* S: Labels. (line 18)
-* safe: Options. (line 214)
+* safe: Options. (line 211)
* save: Frames and pictures.
(line 288)
* saveline: Files. (line 139)
@@ -10387,7 +10383,7 @@ Index
* surface <5>: graph3. (line 128)
* SVG: Options. (line 193)
* system: Data types. (line 354)
-* system <1>: Options. (line 214)
+* system <1>: Options. (line 211)
* syzygy: syzygy. (line 6)
* tab: Files. (line 65)
* tab completion: Drawing in interactive mode.
@@ -10747,22 +10743,22 @@ Node: smoothcontour3341561
Node: slopefield343334
Node: ode344879
Node: Options345148
-Ref: configuration file353576
-Ref: settings353576
-Ref: texengines354926
-Ref: convert354926
-Node: Interactive mode358631
-Ref: history360860
-Node: GUI362233
-Node: GUI installation362803
-Node: GUI usage363799
-Node: Command-Line Interface364866
-Node: Language server protocol366354
-Node: PostScript to Asymptote367835
-Node: Help368665
-Node: Debugger370395
-Node: Credits372243
-Node: Index373504
+Ref: configuration file353586
+Ref: settings353586
+Ref: texengines354936
+Ref: convert354936
+Node: Interactive mode358492
+Ref: history360721
+Node: GUI362094
+Node: GUI installation362664
+Node: GUI usage363660
+Node: Command-Line Interface364727
+Node: Language server protocol366215
+Node: PostScript to Asymptote367696
+Node: Help368526
+Node: Debugger370256
+Node: Credits372104
+Node: Index373365

End Tag Table
diff --git a/graphics/asymptote/fileio.h b/graphics/asymptote/fileio.h
index 93f79a44fd..f64ce71d7c 100644
--- a/graphics/asymptote/fileio.h
+++ b/graphics/asymptote/fileio.h
@@ -15,7 +15,7 @@
#include "common.h"
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
#include "xstream.h"
#endif
@@ -642,7 +642,7 @@ public:
void writeline() {}
};
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
class ixfile : public file {
protected:
diff --git a/graphics/asymptote/pair.h b/graphics/asymptote/pair.h
index c94be1abb4..2ae975b924 100644
--- a/graphics/asymptote/pair.h
+++ b/graphics/asymptote/pair.h
@@ -22,7 +22,7 @@
#include "common.h"
#include "angle.h"
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
#include "xstream.h"
#endif
@@ -235,7 +235,7 @@ public:
return out;
}
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
friend xdr::oxstream& operator << (xdr::oxstream& out, pair const& v)
{
out << v.x << v.y;
diff --git a/graphics/asymptote/picture.cc b/graphics/asymptote/picture.cc
index 65c72cbca1..8f67201fb3 100644
--- a/graphics/asymptote/picture.cc
+++ b/graphics/asymptote/picture.cc
@@ -462,7 +462,6 @@ string dvisvgmCommand(mem::vector<string>& cmd, const string& outname)
string libgs=getSetting<string>("libgs");
if(!libgs.empty())
cmd.push_back("--libgs="+libgs);
- cmd.push_back("--optimize=collapse-groups,group-attributes,remove-clippaths,simplify-text,simplify-transform");
push_split(cmd,getSetting<string>("dvisvgmOptions"));
string outfile=stripDir(outname);
if(!outfile.empty())
@@ -654,7 +653,7 @@ int picture::epstopdf(const string& epsname, const string& pdfname)
cmd.push_back("-dMaxSubsetPct=100");
cmd.push_back("-dEncodeColorImages="+compress);
cmd.push_back("-dEncodeGrayImages="+compress);
- cmd.push_back("-dCompatibilityLevel=1.4");
+ cmd.push_back("-dCompatibilityLevel=1.5");
cmd.push_back("-dTransferFunctionInfo=/Apply");
if(!getSetting<bool>("autorotate"))
cmd.push_back("-dAutoRotatePages=/None");
@@ -1491,7 +1490,7 @@ bool picture::shipout3(const string& prefix, const string& format,
if(webgl)
fileObj=new jsfile(name);
else if(v3d)
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
fileObj=new gzv3dfile(name,getSetting<bool>("lossy") ||
getSetting<double>("prerender") > 0.0);
#else
diff --git a/graphics/asymptote/prc/oPRCFile.h b/graphics/asymptote/prc/oPRCFile.h
index fc45e58fb1..e5f7dc9d4f 100644
--- a/graphics/asymptote/prc/oPRCFile.h
+++ b/graphics/asymptote/prc/oPRCFile.h
@@ -41,7 +41,7 @@
#include "writePRC.h"
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
#include "xstream.h"
#endif
@@ -94,7 +94,7 @@ struct RGBAColour
friend RGBAColour operator * (const double d, const RGBAColour& a)
{ return RGBAColour(a.R*d,a.G*d,a.B*d,a.A*d); }
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
friend xdr::oxstream& operator<<(xdr::oxstream& out, RGBAColour const& col)
{
out << (float) col.R << (float) col.G << (float) col.B << (float) col.A;
diff --git a/graphics/asymptote/process.h b/graphics/asymptote/process.h
index 913af4a7dd..031111bd9b 100644
--- a/graphics/asymptote/process.h
+++ b/graphics/asymptote/process.h
@@ -21,7 +21,7 @@
#include "transform.h"
#include "parser.h"
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
#include "xstream.h"
#endif
@@ -116,7 +116,7 @@ struct processDataStruct {
terminator<std::ofstream> ofile;
terminator<std::fstream> ifile;
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
terminator<xdr::ixstream> ixfile;
terminator<xdr::oxstream> oxfile;
#endif
diff --git a/graphics/asymptote/revision.cc b/graphics/asymptote/revision.cc
index 1aa18b936a..9ff8e10b8e 100644
--- a/graphics/asymptote/revision.cc
+++ b/graphics/asymptote/revision.cc
@@ -1,2 +1,2 @@
-const char *REVISION="2.87";
+const char *REVISION="2.88";
const char *AsyGLVersion="1.02";
diff --git a/graphics/asymptote/runfile.cc b/graphics/asymptote/runfile.cc
index 7804565b7e..7ab1f0aad5 100644
--- a/graphics/asymptote/runfile.cc
+++ b/graphics/asymptote/runfile.cc
@@ -126,7 +126,7 @@ void gen_runfile3(stack *Stack)
if(mode == "binary")
f=new ibfile(name,check);
else if(mode == "xdr" || mode == "xdrgz") {
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
if(mode == "xdr")
f=new ixfile(name,check);
else if(mode == "xdrgz")
@@ -166,7 +166,7 @@ void gen_runfile4(stack *Stack)
if(update) f=new iobfile(name);
else f=new obfile(name);
} else if(mode == "xdr") {
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
if(update)
f=new ioxfile(name);
else f=new oxfile(name);
diff --git a/graphics/asymptote/runfile.in b/graphics/asymptote/runfile.in
index 1a6835b7b2..4e7e3302ec 100644
--- a/graphics/asymptote/runfile.in
+++ b/graphics/asymptote/runfile.in
@@ -47,7 +47,7 @@ file* input(string name=emptystring, bool check=true,
if(mode == "binary")
f=new ibfile(name,check);
else if(mode == "xdr" || mode == "xdrgz") {
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
if(mode == "xdr")
f=new ixfile(name,check);
else if(mode == "xdrgz")
@@ -81,7 +81,7 @@ file* output(string name=emptystring, bool update=false,
if(update) f=new iobfile(name);
else f=new obfile(name);
} else if(mode == "xdr") {
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
if(update)
f=new ioxfile(name);
else f=new oxfile(name);
diff --git a/graphics/asymptote/settings.cc b/graphics/asymptote/settings.cc
index 8dbea780c1..6ed24a6c50 100644
--- a/graphics/asymptote/settings.cc
+++ b/graphics/asymptote/settings.cc
@@ -1002,7 +1002,7 @@ struct versionOption : public option {
eigen=true;
#endif
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
xdr=true;
#endif
@@ -1483,7 +1483,7 @@ void initSettings() {
addOption(new realSetting("paperheight", 0, "bp", "Default page height"));
addOption(new stringSetting("dvipsOptions", 0, "str", ""));
- addOption(new stringSetting("dvisvgmOptions", 0, "str", ""));
+ addOption(new stringSetting("dvisvgmOptions", 0, "str", "", "--optimize"));
addOption(new boolSetting("dvisvgmMultipleFiles", 0,
"dvisvgm supports multiple files", true));
addOption(new stringSetting("convertOptions", 0, "str", ""));
diff --git a/graphics/asymptote/statistics.h b/graphics/asymptote/statistics.h
index 5588f7a99d..7d609b5053 100644
--- a/graphics/asymptote/statistics.h
+++ b/graphics/asymptote/statistics.h
@@ -108,7 +108,7 @@ public:
return stdev(varH,2.0);
}
double stderror() {
- return stdev()/sqrt(N);
+ return stdev()/sqrt((double) N);
}
double median() {
if(!computeMedian) {
diff --git a/graphics/asymptote/symbolmaps.h b/graphics/asymptote/symbolmaps.h
index c2388e1256..19e2f3b64f 100644
--- a/graphics/asymptote/symbolmaps.h
+++ b/graphics/asymptote/symbolmaps.h
@@ -450,9 +450,8 @@ namespace AsymptoteLsp
ExternalRefs(ExternalRefs const& exRef) = default;
ExternalRefs& operator=(ExternalRefs const& exRef) = default;
- ExternalRefs(ExternalRefs&& exRef) noexcept = default;
- ExternalRefs& operator=(ExternalRefs&& exRef) noexcept = default;
-
+// ExternalRefs(ExternalRefs&& exRef) noexcept = default;
+// ExternalRefs& operator=(ExternalRefs&& exRef) noexcept = default;
void clear()
{
diff --git a/graphics/asymptote/triple.h b/graphics/asymptote/triple.h
index 5cc4c2e96c..2a520bcc10 100644
--- a/graphics/asymptote/triple.h
+++ b/graphics/asymptote/triple.h
@@ -19,7 +19,7 @@
#include "angle.h"
#include "pair.h"
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
#include "xstream.h"
#endif
@@ -332,7 +332,7 @@ public:
}
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
friend xdr::oxstream& operator << (xdr::oxstream& out, triple const& v)
{
out << v.x << v.y << v.z;
diff --git a/graphics/asymptote/v3dfile.cc b/graphics/asymptote/v3dfile.cc
index e800b445df..f9a66e84e6 100644
--- a/graphics/asymptote/v3dfile.cc
+++ b/graphics/asymptote/v3dfile.cc
@@ -8,7 +8,7 @@
#include "v3dfile.h"
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
#ifdef HAVE_LIBGLM
diff --git a/graphics/asymptote/v3dfile.h b/graphics/asymptote/v3dfile.h
index d1fa102b38..0c296919b8 100644
--- a/graphics/asymptote/v3dfile.h
+++ b/graphics/asymptote/v3dfile.h
@@ -14,7 +14,7 @@
#include "common.h"
-#ifdef HAVE_RPC_RPC_H
+#ifdef HAVE_LIBTIRPC
#include "abs3doutfile.h"
#include "xstream.h"
diff --git a/graphics/asymptote/v3dheadertypes.h b/graphics/asymptote/v3dheadertypes.h
index 562a7c2607..6039c4ad7d 100644
--- a/graphics/asymptote/v3dheadertypes.h
+++ b/graphics/asymptote/v3dheadertypes.h
@@ -1,6 +1,6 @@
// Enum class for v3dheadertypes
// AUTO-GENERATED from v3dheadertypes.csv
-// Generated at 2024-02-27 00:37:58
+// Generated at 2024-03-08 08:14:33
namespace camp
{
diff --git a/graphics/asymptote/v3dheadertypes.py b/graphics/asymptote/v3dheadertypes.py
index 3c527e6414..b42d18c442 100644
--- a/graphics/asymptote/v3dheadertypes.py
+++ b/graphics/asymptote/v3dheadertypes.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
# Enum class for v3dheadertypes
""" AUTO-GENERATED from v3dheadertypes.csv """
-# Generated at 2024-02-27 00:38:18
+# Generated at 2024-03-08 08:14:52
class v3dheadertypes:
v3dheadertypes_canvasWidth=1
diff --git a/graphics/asymptote/v3dtypes.h b/graphics/asymptote/v3dtypes.h
index 29caad1df1..9c88bb21fb 100644
--- a/graphics/asymptote/v3dtypes.h
+++ b/graphics/asymptote/v3dtypes.h
@@ -1,6 +1,6 @@
// Enum class for v3dtypes
// AUTO-GENERATED from v3dtypes.csv
-// Generated at 2024-02-27 00:37:58
+// Generated at 2024-03-08 08:14:33
namespace camp
{
diff --git a/graphics/asymptote/v3dtypes.py b/graphics/asymptote/v3dtypes.py
index e5c29734d1..61a63f53b8 100644
--- a/graphics/asymptote/v3dtypes.py
+++ b/graphics/asymptote/v3dtypes.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
# Enum class for v3dtypes
""" AUTO-GENERATED from v3dtypes.csv """
-# Generated at 2024-02-27 00:38:18
+# Generated at 2024-03-08 08:14:52
class v3dtypes:
v3dtypes_material=1
diff --git a/graphics/pgf/contrib/wheelchart/README.md b/graphics/pgf/contrib/wheelchart/README.md
index 7c40af7e8e..ec414f3440 100644
--- a/graphics/pgf/contrib/wheelchart/README.md
+++ b/graphics/pgf/contrib/wheelchart/README.md
@@ -1,13 +1,13 @@
# `wheelchart`
-## Draw wheelcharts with Ti*k*Z
+## Diagrams with circular or other shapes using Ti*k*Z and LaTeX3
-Version 2.0 (2023/12/03)
+Version 3.0 (2024/03/08)
This package is based on the package [Ti*k*Z](https://ctan.org/pkg/pgf) and can be used to draw various kinds of diagrams such as a bar chart, doughnut chart, infographic, pie chart, ring chart, square chart, sunburst chart, waffle chart and wheel chart with Ti*k*Z. It provides several options to customize the diagrams. It is also possible to specify a plot for the shape of the chart. Furthermore a legend can be added and the table of contents can be displayed as one of these diagrams.
%% README.md
-%% Copyright 2023 Matthias Floré
+%% Copyright 2022-2024 Matthias Floré
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/graphics/pgf/contrib/wheelchart/wheelchart.pdf b/graphics/pgf/contrib/wheelchart/wheelchart.pdf
index 3b9a2780fa..2cfa0dd1be 100644
--- a/graphics/pgf/contrib/wheelchart/wheelchart.pdf
+++ b/graphics/pgf/contrib/wheelchart/wheelchart.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/wheelchart/wheelchart.sty b/graphics/pgf/contrib/wheelchart/wheelchart.sty
index af15d60654..e2c8543976 100644
--- a/graphics/pgf/contrib/wheelchart/wheelchart.sty
+++ b/graphics/pgf/contrib/wheelchart/wheelchart.sty
@@ -1,5 +1,5 @@
%% wheelchart.sty
-%% Copyright 2023 Matthias Floré
+%% Copyright 2022-2024 Matthias Floré
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{tikz}
\usetikzlibrary{calc}
-\ProvidesExplPackage{wheelchart}{2023/12/03}{2.0}{Draw wheelcharts with TikZ}
+\ProvidesExplPackage{wheelchart}{2024/03/08}{3.0}{Diagrams with circular or other shapes using TikZ and LaTeX3}
%%> \subsection{Variables}
@@ -27,7 +27,6 @@
\bool_new:N \l__wheelchart_arc_bool
\bool_new:N \l__wheelchart_contour_bool
\bool_new:N \g__wheelchart_def_angle_radius_shift_bool
-\bool_new:N \l__wheelchart_def_inner_contour_bool
\bool_new:N \l__wheelchart_discrete_bool
\bool_new:N \l__wheelchart_etoc_use_name_bool
\bool_new:N \l__wheelchart_legend_only_bool
@@ -46,33 +45,38 @@
\clist_new:N \g__wheelchart_slice_range_for_loop_clist
\clist_new:N \l__wheelchart_slice_range_local_clist
-\fp_const:Nn \c__wheelchart_arc_data_end_factor_center_fp { 0.5 }
-\fp_const:Nn \c__wheelchart_arc_data_end_factor_left_fp { 1 }
-\fp_const:Nn \c__wheelchart_arc_data_end_factor_right_fp { 0 }
-\fp_const:Nn \c__wheelchart_arc_data_start_factor_center_fp { -0.5 }
-\fp_const:Nn \c__wheelchart_arc_data_start_factor_left_fp { 0 }
-\fp_const:Nn \c__wheelchart_arc_data_start_factor_right_fp { -1 }
-\fp_new:N \l__wheelchart_abs_half_angle_minus_new_angle_fp
\fp_new:N \l__wheelchart_abs_half_angle_minus_new_angle_minus_gap_polar_fp
\fp_new:N \l__wheelchart_anchor_xsep_fp
\fp_new:N \l__wheelchart_anchor_ysep_fp
\fp_new:N \g__wheelchart_angle_fp
-\fp_new:N \l__wheelchart_angle_wheel_lines_fp
+\fp_new:N \l__wheelchart_arc_around_line_fp
\fp_new:N \l__wheelchart_arc_data_angle_pos_fp
\fp_new:N \l__wheelchart_arc_data_angle_shift_fp
+\fp_new:N \g__wheelchart_arc_data_aux_i_fp
+\fp_new:N \g__wheelchart_arc_data_aux_ii_fp
\fp_new:N \l__wheelchart_arc_data_dir_fp
-\fp_new:N \g__wheelchart_arc_data_factor_fp
+\fp_const:Nn \c__wheelchart_arc_data_end_factor_center_fp { 0.5 }
+\fp_const:Nn \c__wheelchart_arc_data_end_factor_left_fp { 1 }
+\fp_const:Nn \c__wheelchart_arc_data_end_factor_right_fp { 0 }
+\fp_new:N \l__wheelchart_arc_data_line_sep_factor_fp
\fp_new:N \l__wheelchart_arc_data_pos_fp
+\fp_new:N \l__wheelchart_arc_data_radius_plot_false_fp
\fp_new:N \l__wheelchart_arc_data_sep_fp
\fp_new:N \g__wheelchart_arc_data_slice_length_fp
+\fp_new:N \l__wheelchart_arc_data_start_angle_plot_false_fp
+\fp_const:Nn \c__wheelchart_arc_data_start_factor_center_fp { -0.5 }
+\fp_const:Nn \c__wheelchart_arc_data_start_factor_left_fp { 0 }
+\fp_const:Nn \c__wheelchart_arc_data_start_factor_right_fp { -1 }
+\fp_new:N \l__wheelchart_arc_data_text_pos_fp
+\fp_new:N \l__wheelchart_arc_data_total_angle_plot_false_fp
\fp_new:N \l__wheelchart_arc_pos_fp
+\fp_new:N \l__wheelchart_arc_radius_fp
\fp_new:N \l__wheelchart_arc_sep_fp
+\fp_new:N \l__wheelchart_arc_start_angle_fp
\fp_new:N \l__wheelchart_coord_determinant_fp
+\fp_new:N \g__wheelchart_coord_x_fp
+\fp_new:N \g__wheelchart_coord_y_fp
\fp_new:N \l__wheelchart_counter_or_clockwise_fp
-\fp_new:N \l__wheelchart_data_angle_pos_fp
-\fp_new:N \l__wheelchart_data_angle_shift_fp
-\fp_new:N \l__wheelchart_data_pos_fp
-\fp_new:N \l__wheelchart_data_sep_fp
\fp_new:N \g__wheelchart_def_angle_angle_fp
\fp_new:N \l__wheelchart_discrete_end_length_fp
\fp_new:N \l__wheelchart_discrete_factor_fp
@@ -85,7 +89,6 @@
\fp_new:N \l__wheelchart_discrete_start_length_fp
\fp_new:N \l__wheelchart_discrete_sublevel_end_length_fp
\fp_new:N \l__wheelchart_discrete_sublevel_start_length_fp
-\fp_new:N \l__wheelchart_explode_fp
\fp_new:N \l__wheelchart_gap_fp
\fp_new:N \l__wheelchart_gap_max_angle_fp
\fp_new:N \l__wheelchart_gap_max_angle_def_fp
@@ -96,14 +99,11 @@
\fp_new:N \l__wheelchart_inner_data_angle_shift_fp
\fp_new:N \l__wheelchart_inner_data_pos_fp
\fp_new:N \l__wheelchart_inner_data_sep_fp
-\fp_new:c { l__wheelchart_inner~end_x_fp }
-\fp_new:c { l__wheelchart_inner~end_y_fp }
-\fp_new:N \l__wheelchart_inner_gap_fp
-\fp_new:N \l__wheelchart_inner_plot_variable_fp
+\fp_new:c { g__wheelchart_inner~end_x_fp }
+\fp_new:c { g__wheelchart_inner~end_y_fp }
\fp_new:N \l__wheelchart_inner_radius_fp
-\fp_new:N \l__wheelchart_inner_radius_orig_fp
-\fp_new:c { l__wheelchart_inner~start_x_fp }
-\fp_new:c { l__wheelchart_inner~start_y_fp }
+\fp_new:c { g__wheelchart_inner~start_x_fp }
+\fp_new:c { g__wheelchart_inner~start_y_fp }
\fp_new:N \l__wheelchart_lines_fp
\fp_new:N \l__wheelchart_lines_angle_pos_fp
\fp_new:N \l__wheelchart_lines_angle_shift_fp
@@ -114,21 +114,14 @@
\fp_new:N \l__wheelchart_lines_pos_fp
\fp_new:N \l__wheelchart_lines_sep_fp
\fp_new:N \g__wheelchart_new_angle_fp
-\fp_new:c { l__wheelchart_outer~end_x_fp }
-\fp_new:c { l__wheelchart_outer~end_y_fp }
-\fp_new:N \l__wheelchart_outer_gap_fp
-\fp_new:N \l__wheelchart_outer_plot_variable_fp
+\fp_new:c { g__wheelchart_outer~end_x_fp }
+\fp_new:c { g__wheelchart_outer~end_y_fp }
\fp_new:N \l__wheelchart_outer_radius_fp
-\fp_new:c { l__wheelchart_outer~start_x_fp }
-\fp_new:c { l__wheelchart_outer~start_y_fp }
-\fp_new:N \l__wheelchart_plot_variable_fp
-\fp_new:N \g__wheelchart_previous_x_coord_fp
-\fp_new:N \g__wheelchart_previous_y_coord_fp
+\fp_new:c { g__wheelchart_outer~start_x_fp }
+\fp_new:c { g__wheelchart_outer~start_y_fp }
+\fp_new:N \g__wheelchart_previous_coord_x_fp
+\fp_new:N \g__wheelchart_previous_coord_y_fp
\fp_new:N \l__wheelchart_samples_fp
-\fp_new:N \l__wheelchart_slice_inner_end_angle_fp
-\fp_new:N \l__wheelchart_slice_inner_start_angle_fp
-\fp_new:N \l__wheelchart_slice_outer_end_angle_fp
-\fp_new:N \l__wheelchart_slice_outer_start_angle_fp
\fp_new:N \l__wheelchart_slices_angle_fp
\fp_new:N \l__wheelchart_slices_angle_pos_fp
\fp_new:N \l__wheelchart_slices_angle_shift_fp
@@ -152,17 +145,11 @@
\fp_new:N \l__wheelchart_start_angle_fp
\fp_new:N \l__wheelchart_total_angle_fp
\fp_new:N \l__wheelchart_total_count_fp
-\fp_new:N \l__wheelchart_value_fp
-\fp_new:N \g__wheelchart_value_global_fp
\fp_new:N \l__wheelchart_wheel_data_angle_pos_fp
\fp_new:N \l__wheelchart_wheel_data_angle_shift_fp
\fp_new:N \l__wheelchart_wheel_data_pos_fp
\fp_new:N \l__wheelchart_wheel_data_sep_fp
-\fp_new:N \g__wheelchart_x_coord_fp
-\fp_new:N \g__wheelchart_y_coord_fp
-\int_const:Nn \c__wheelchart_lines_ext_dir_left_int { -1 }
-\int_const:Nn \c__wheelchart_lines_ext_dir_right_int { 1 }
\int_new:N \g__wheelchart_discrete_count_int
\int_new:N \l__wheelchart_discrete_levels_int
\int_new:N \l__wheelchart_discrete_partitioning_first_index_int
@@ -176,93 +163,104 @@
\int_new:N \l__wheelchart_legend_rows_int
\int_new:N \l__wheelchart_lines_ext_bottom_dir_int
\int_new:N \l__wheelchart_lines_ext_dir_int
+\int_const:Nn \c__wheelchart_lines_ext_dir_left_int { -1 }
+\int_const:Nn \c__wheelchart_lines_ext_dir_right_int { 1 }
\int_new:N \l__wheelchart_lines_ext_top_dir_int
-\int_new:N \l__wheelchart_slice_range_index_int
+\int_new:N \l__wheelchart_max_list_items_int
+\seq_new:N \l__wheelchart_arc_data_seq
\seq_new:N \l__wheelchart_discrete_coefficients_first_seq
\seq_new:N \l__wheelchart_discrete_coefficients_second_seq
\seq_new:N \l__wheelchart_discrete_points_seq
\seq_new:N \l__wheelchart_list_seq
\seq_new:N \l__wheelchart_list_items_seq
+\tl_new:N \WClegend
+\tl_const:Nn \c__wheelchart_arc_around_text_aux_tl
+ {
+ sign ( \l__wheelchart_arc_data_dir_fp ) *
+ (
+ \cs:w c__wheelchart_arc_data_start_factor_\l__wheelchart_arc_data_align_tl _fp\cs_end:
+ + \cs:w c__wheelchart_arc_data_end_factor_\l__wheelchart_arc_data_align_tl _fp\cs_end:
+ )
+ }
\tl_new:N \l__wheelchart_arc_data_align_tl
\tl_new:N \l__wheelchart_data_anchor_tl
\tl_new:N \l__wheelchart_etoc_level_tl
\tl_new:N \l__wheelchart_etoc_name_tl
\tl_new:N \l__wheelchart_expand_list_tl
\tl_new:N \l__wheelchart_expand_list_items_tl
-\tl_new:N \g__wheelchart_inner_contour_tl
+\tl_new:N \l__wheelchart_inner_plot_variable_tl
\tl_new:N \l__wheelchart_key_name_tl
\tl_new:N \l__wheelchart_key_range_tl
\tl_new:N \l__wheelchart_legend_row_tl
\tl_new:N \g__wheelchart_name_tl
-\tl_new:N \g__wheelchart_outer_contour_tl
+\tl_new:N \l__wheelchart_outer_plot_variable_tl
+\tl_new:N \l__wheelchart_plot_variable_tl
+\tl_new:N \l__wheelchart_slice_range_index_tl
\tl_new:N \l__wheelchart_slices_tl
-\tl_new:N \l__wheelchart_slices_end_tl
-\tl_set:Nn \l__wheelchart_slices_end_tl
- { -- ( \fp_use:c { l__wheelchart_inner~end_x_fp } , \fp_use:c { l__wheelchart_inner~end_y_fp } ) }
-\tl_new:N \l__wheelchart_slices_inner_tl
-\tl_set:Nn \l__wheelchart_slices_inner_tl
- {
- \fp_compare:nNnT { \l__wheelchart_inner_radius_fp } > { 0 }
- {
- \fp_compare:nNnT { \l__wheelchart_inner_gap_fp } < { \l__wheelchart_abs_half_angle_minus_new_angle_fp }
- {
- arc
- [
- start~angle = \fp_use:N \l__wheelchart_slice_inner_end_angle_fp ,
- end~angle = \fp_use:N \l__wheelchart_slice_inner_start_angle_fp ,
- radius = \fp_use:N \l__wheelchart_inner_radius_fp
- ]
- }
- }
- }
-\tl_new:N \l__wheelchart_slices_outer_tl
-\tl_set:Nn \l__wheelchart_slices_outer_tl
- {
- arc
- [
- start~angle = \fp_use:N \l__wheelchart_slice_outer_start_angle_fp ,
- end~angle = \fp_use:N \l__wheelchart_slice_outer_end_angle_fp ,
- radius = \fp_use:N \l__wheelchart_outer_radius_fp
- ]
- }
-\tl_new:N \l__wheelchart_slices_start_tl
-\tl_set:Nn \l__wheelchart_slices_start_tl { -- cycle }
+\tl_new:N \g__wheelchart_totalcount_tl
\tl_new:N \l__wheelchart_type_tl
\tl_set:Nn \l__wheelchart_type_tl { default }
%%> \subsection{Functions}
-\cs_generate_variant:Nn \seq_set_split:Nnn { Nen , Neo }
+\cs_generate_variant:Nn \seq_set_split:Nnn { Nen , Neo , Nnf }
\cs_generate_variant:Nn \tl_build_put_right:Nn { NV }
-\cs_new:Npn \__wheelchart_arc_around_text:nnn #1#2#3
+\cs_new_protected:Npn \__wheelchart_arc_around_text_plot_false:nn #1#2
+ {
+ \fp_set:Nn \l__wheelchart_arc_start_angle_fp
+ {
+ \__wheelchart_def_angle_plot_false:nnnnn
+ { \WCcount }
+ { \l__wheelchart_arc_data_angle_pos_fp }
+ {
+ ( 0.5 * \c__wheelchart_arc_around_text_aux_tl + #2 - 0.5 ) * \g__wheelchart_arc_data_aux_ii_fp
+ + \l__wheelchart_arc_data_angle_shift_fp
+ }
+ { \l__wheelchart_arc_pos_fp }
+ { \l__wheelchart_arc_sep_fp + \g__wheelchart_half_ex_over_one_cm_fp }
+ }
+ \path
+ [ draw , / wheelchart / arc_style , / wheelchart / arc_#1_half ]
+ ( \fp_use:N \l__wheelchart_arc_start_angle_fp \c_colon_str \fp_use:N \l__wheelchart_arc_radius_fp )
+ arc
+ [
+ start~angle = \fp_use:N \l__wheelchart_arc_start_angle_fp ,
+ end~angle =
+ \__wheelchart_def_angle_plot_false:nnnnn
+ { \WCcount }
+ {#2}
+ { 0 }
+ { \l__wheelchart_arc_pos_fp }
+ { \l__wheelchart_arc_sep_fp + \g__wheelchart_half_ex_over_one_cm_fp } ,
+ radius = \fp_use:N \l__wheelchart_arc_radius_fp
+ ]
+ ;
+ }
+
+\cs_new_protected:Npn \__wheelchart_arc_around_text_plot_true:nnn #1#2#3
{
\__wheelchart_convex_comb_coord_plot:nnnnnnn
{ draw , / wheelchart / arc_style , / wheelchart / arc_#1_half }
+ { 1 }
+ { 0 }
{
+ \l__wheelchart_plot_variable_tl *
\fp_eval:n
{
- \l__wheelchart_arc_data_angle_pos_fp + 0.5 * \g__wheelchart_arc_data_factor_fp *
- (
- sign ( \l__wheelchart_arc_data_dir_fp ) *
- (
- \fp_use:c { c__wheelchart_arc_data_start_factor_\l__wheelchart_arc_data_align_tl _fp }
- + \fp_use:c { c__wheelchart_arc_data_end_factor_\l__wheelchart_arc_data_align_tl _fp }
- )
- + #2
- )
+ \l__wheelchart_arc_data_angle_pos_fp + 0.5 * \g__wheelchart_arc_data_aux_ii_fp *
+ ( \c__wheelchart_arc_around_text_aux_tl + #2 )
}
+ + (#3) * ( 1 - \l__wheelchart_plot_variable_tl )
}
- {#3}
- { \l__wheelchart_plot_variable_fp }
- { 0 }
+ { \l__wheelchart_plot_variable_tl * \l__wheelchart_arc_data_angle_shift_fp }
{ \l__wheelchart_arc_pos_fp }
{ \l__wheelchart_arc_sep_fp }
}
-\cs_new:Npn \__wheelchart_caption_and_title:nnnnn #1#2#3#4#5
+\cs_new_protected:Npn \__wheelchart_caption_and_title:nnnnn #1#2#3#4#5
{
\__wheelchart_if_text:nn {#1}
{
@@ -284,12 +282,12 @@
{
\fp_eval:n
{
- ( 1 - (#1) ) * \l__wheelchart_slice_inner_start_angle_fp
- + (#1) * \l__wheelchart_slice_inner_end_angle_fp
+ ( 1 - (#1) ) * \cs:w g__wheelchart_slice_inner_start_angle_\WCcount _fp\cs_end:
+ + (#1) * \cs:w g__wheelchart_slice_inner_end_angle_\WCcount _fp\cs_end:
+ \l__wheelchart_counter_or_clockwise_fp * (#2)
}
}
- { \fp_eval:n { \l__wheelchart_inner_radius_fp - (#4) } }
+ { \fp_eval:n { \cs:w g__wheelchart_inner_radius_\WCcount _fp\cs_end: - (#4) } }
)
! { \fp_eval:n {#3} } !
(
@@ -297,132 +295,196 @@
{
\fp_eval:n
{
- ( 1 - (#1) ) * \l__wheelchart_slice_outer_start_angle_fp
- + (#1) * \l__wheelchart_slice_outer_end_angle_fp
+ ( 1 - (#1) ) * \cs:w g__wheelchart_slice_outer_start_angle_\WCcount _fp\cs_end:
+ + (#1) * \cs:w g__wheelchart_slice_outer_end_angle_\WCcount _fp\cs_end:
+ \l__wheelchart_counter_or_clockwise_fp * (#2)
}
}
- { \fp_eval:n { \l__wheelchart_outer_radius_fp + (#4) } }
+ { \fp_eval:n { \cs:w g__wheelchart_outer_radius_\WCcount _fp\cs_end: + (#4) } }
)
$%note the () around the #i's to keep these contents together
}
-\cs_new:Npn \__wheelchart_convex_comb_coord:nnnn #1#2#3#4
- { \__wheelchart_convex_comb_coord_aux:o { \__wheelchart_convex_comb_coord_def:nnnn {#1} {#2} {#3} {#4} } }
-
-\cs_new:Npn \__wheelchart_convex_comb_coord_plot_aux:nnnn #1#2#3#4
+\cs_new_protected:Npn \__wheelchart_convex_comb_coord_plot_aux:nnnn #1#2#3#4
{
\path [#1] plot
[
domain = {#2} \c_colon_str {#3} ,
- samples = \fp_use:N \l__wheelchart_samples_fp ,
- variable = \l__wheelchart_plot_variable_fp
+ samples = \fp_use:c { g__wheelchart_samples_\WCcount _fp } ,
+ variable = \l__wheelchart_plot_variable_tl
]
( {#4} ) ;
}
\cs_generate_variant:Nn \__wheelchart_convex_comb_coord_plot_aux:nnnn { nnno }
-\cs_new:Npn \__wheelchart_convex_comb_coord_plot:nnnnnnn #1#2#3#4#5#6#7
+\cs_new_protected:Npn \__wheelchart_convex_comb_coord_plot:nnnnnnn #1#2#3#4#5#6#7
{
\__wheelchart_convex_comb_coord_plot_aux:nnno {#1} {#2} {#3}
{ \__wheelchart_convex_comb_coord_def:nnnn {#4} {#5} {#6} { \g__wheelchart_half_ex_over_one_cm_fp + (#7) } }
}
-\cs_new:Npn \__wheelchart_def_angle:nnnN #1#2#3#4
+\cs_new_protected:Npn \__wheelchart_def_angle_aux:
{
- \path let
- \p { l__wheelchart_def_angle_1 } = \__wheelchart_convex_comb_coord:nnnn {#1} {#2} { 0 } {#3} ,
- \p { l__wheelchart_def_angle_2 } = \__wheelchart_convex_comb_coord:nnnn {#1} {#2} { 1 } {#3}
- in
- [
- / utils / exec =
- {
- \bool_gset:Nn \g__wheelchart_def_angle_radius_shift_bool
- {
- \fp_compare_p:n
- {
- \y { l__wheelchart_def_angle_2 } - \y { l__wheelchart_def_angle_1 } == 0
- &&
- \x { l__wheelchart_def_angle_2 } - \x { l__wheelchart_def_angle_1 } == 0
- }
- }
- \bool_if:NF \g__wheelchart_def_angle_radius_shift_bool
- {
- \fp_gset:Nn \g__wheelchart_def_angle_angle_fp
- {
- atand
- (
- \y { l__wheelchart_def_angle_2 } - \y { l__wheelchart_def_angle_1 } ,
- \x { l__wheelchart_def_angle_2 } - \x { l__wheelchart_def_angle_1 }
- )
- }%here \pgf@xx and so on are not used
- }
- }
- ]
- ;
- \bool_if:NT \g__wheelchart_def_angle_radius_shift_bool
+ \fp_gset:Nn \g__wheelchart_def_angle_angle_fp
+ {
+ atand
+ (
+ (
+ \pgf@xx * ( \y { l__wheelchart_def_angle_2 } - \y { l__wheelchart_def_angle_1 } )
+ - \pgf@xy * ( \x { l__wheelchart_def_angle_2 } - \x { l__wheelchart_def_angle_1 } )
+ )
+ / \l__wheelchart_coord_determinant_fp ,
+ (
+ \pgf@yy * ( \x { l__wheelchart_def_angle_2 } - \x { l__wheelchart_def_angle_1 } )
+ - \pgf@yx * ( \y { l__wheelchart_def_angle_2 } - \y { l__wheelchart_def_angle_1 } )
+ )
+ / \l__wheelchart_coord_determinant_fp
+ )
+ }%\pgf@xx and so on are necessary if an option such as [x={(-0.5,0)},y={(0,0.5)}] is given to the tikzpicture
+ }
+
+\cs_new_protected:Npn \__wheelchart_def_angle:nnnn #1#2#3#4
+ {
+ \bool_if:NTF \l__wheelchart_plot_bool
{
\path let
- \p { l__wheelchart_def_angle_1 } =
- \__wheelchart_convex_comb_coord:nnnn {#1} {#2} { 0 } { \fp_eval:n { (#3) + 1 / \l__wheelchart_samples_fp } } ,
- \p { l__wheelchart_def_angle_2 } =
- \__wheelchart_convex_comb_coord:nnnn {#1} {#2} { 1 } { \fp_eval:n { (#3) + 1 / \l__wheelchart_samples_fp } }
+ \p { l__wheelchart_def_angle_1 } = \__wheelchart_point_plot_true:nnnnn { \WCcount } {#1} {#2} { 0 } {#4} ,
+ \p { l__wheelchart_def_angle_2 } = \__wheelchart_point_plot_true:nnnnn { \WCcount } {#1} {#2} { 1 } {#4}
in
[
/ utils / exec =
{
- \fp_gset:Nn \g__wheelchart_def_angle_angle_fp
+ \bool_gset:Nn \g__wheelchart_def_angle_radius_shift_bool
{
- atand
- (
- \y { l__wheelchart_def_angle_2 } - \y { l__wheelchart_def_angle_1 } ,
- \x { l__wheelchart_def_angle_2 } - \x { l__wheelchart_def_angle_1 }
- )
+ \fp_compare_p:n
+ {
+ \y { l__wheelchart_def_angle_2 } - \y { l__wheelchart_def_angle_1 } == 0
+ &&
+ \x { l__wheelchart_def_angle_2 } - \x { l__wheelchart_def_angle_1 } == 0
+ }
}
+ \bool_if:NF \g__wheelchart_def_angle_radius_shift_bool
+ { \__wheelchart_def_angle_aux: }
}
]
- ;%here \pgf@xx and so on are not used
+ ;
+ \bool_if:NT \g__wheelchart_def_angle_radius_shift_bool
+ {
+ \path let
+ \p { l__wheelchart_def_angle_1 } =
+ \__wheelchart_point_plot_true:nnnnn { \WCcount } {#1} {#2} { 0 }
+ { \fp_eval:n { (#4) + 1 / \cs:w g__wheelchart_samples_\WCcount _fp\cs_end: } } ,
+ \p { l__wheelchart_def_angle_2 } =
+ \__wheelchart_point_plot_true:nnnnn { \WCcount } {#1} {#2} { 1 }
+ { \fp_eval:n { (#4) + 1 / \cs:w g__wheelchart_samples_\WCcount _fp\cs_end: } }
+ in [ / utils / exec = { \__wheelchart_def_angle_aux: } ]
+ ;
+ }
+ \pgfmathparse { Mod ( \fp_use:N \g__wheelchart_def_angle_angle_fp , 360 ) }
+ }
+ {
+ \pgfmathparse { Mod ( \__wheelchart_def_angle_plot_false:nnnnn { \WCcount } {#1} {#2} {#3} {#4} , 360 ) }
+ }
+ }
+
+\cs_new:Npn \__wheelchart_def_angle_plot_false_aux_angle:nn #1#2
+ {
+ ( 1 - (#2) ) *
+ (
+ \cs:w g__wheelchart_slice_outer_start_angle_#1_fp\cs_end:
+ - \cs:w g__wheelchart_slice_inner_start_angle_#1_fp\cs_end:
+ )
+ + (#2) * ( \cs:w g__wheelchart_slice_outer_end_angle_#1_fp\cs_end: - \cs:w g__wheelchart_slice_inner_end_angle_#1_fp\cs_end: )
+ }
+
+\cs_new:Npn \__wheelchart_def_angle_plot_false:nnnnn #1#2#3#4#5
+ {
+ \fp_eval:n
+ {
+ \fp_compare:nNnTF { \__wheelchart_def_angle_plot_false_aux_angle:nn {#1} {#2} } = { 0 }
+ { 0 }
+ {
+ asind
+ (
+ (
+ sqrt
+ (
+ ( \cs:w g__wheelchart_outer_radius_#1_fp\cs_end: + \cs:w g__wheelchart_inner_radius_#1_fp\cs_end: ) ^ 2
+ - \cs:w g__wheelchart_outer_radius_#1_fp\cs_end: * \cs:w g__wheelchart_inner_radius_#1_fp\cs_end: *
+ (
+ 2 + 2 * cosd ( \__wheelchart_def_angle_plot_false_aux_angle:nn {#1} {#2} )
+ + \cs:w g__wheelchart_outer_radius_#1_fp\cs_end: * \cs:w g__wheelchart_inner_radius_#1_fp\cs_end:
+ *
+ (
+ (
+ sind ( \__wheelchart_def_angle_plot_false_aux_angle:nn {#1} {#2} )
+ / \__wheelchart_def_radius:nnn {#1} {#4} {#5}
+ )
+ ^ 2
+ )
+ )
+ )
+ + \cs:w g__wheelchart_inner_radius_#1_fp\cs_end: *
+ (
+ \cs:w g__wheelchart_inner_radius_#1_fp\cs_end:
+ - \cs:w g__wheelchart_outer_radius_#1_fp\cs_end:
+ * cosd ( \__wheelchart_def_angle_plot_false_aux_angle:nn {#1} {#2} )
+ )
+ / \__wheelchart_def_radius:nnn {#1} {#4} {#5}
+ )
+ * \cs:w g__wheelchart_outer_radius_#1_fp\cs_end: * sind ( \__wheelchart_def_angle_plot_false_aux_angle:nn {#1} {#2} )
+ /
+ (
+ ( \cs:w g__wheelchart_outer_radius_#1_fp\cs_end: + \cs:w g__wheelchart_inner_radius_#1_fp\cs_end: ) ^ 2
+ - 2 * \cs:w g__wheelchart_outer_radius_#1_fp\cs_end: * \cs:w g__wheelchart_inner_radius_#1_fp\cs_end:
+ * ( 1 + cosd ( \__wheelchart_def_angle_plot_false_aux_angle:nn {#1} {#2} ) )
+ )
+ )
+ }
+ + ( 1 - (#2) ) * ( \cs:w g__wheelchart_slice_inner_start_angle_#1_fp\cs_end: )
+ + (#2) * ( \cs:w g__wheelchart_slice_inner_end_angle_#1_fp\cs_end: )
+ + \l__wheelchart_counter_or_clockwise_fp * (#3)
}
- \pgfmathsetmacro {#4} { Mod ( \fp_use:N \g__wheelchart_def_angle_angle_fp , 360 ) }
}
-\cs_new:Npn \__wheelchart_def_coord_aux:nn #1#2
+\cs_new_protected:Npn \__wheelchart_def_coord:nnnn #1#2#3#4
{
- \path let \p { l__wheelchart_coord } = ( \use:c { __wheelchart_#1_plot:nn } {#2} { \fp_use:c { l__wheelchart_#1_radius_fp } } )
+ \path let \p { l__wheelchart_coord } =
+ ( \cs:w __wheelchart_#2_plot:nn\cs_end: {#4} { \fp_use:c { g__wheelchart_#2_radius_\WCcount _fp } } )
in
[
/ utils / exec =
{
- \fp_gset:Nn \g__wheelchart_x_coord_fp
+ \fp_gset:cn { g__wheelchart_#1_x_fp }
{
( \pgf@yy * \x { l__wheelchart_coord } - \pgf@yx * \y { l__wheelchart_coord } ) / \l__wheelchart_coord_determinant_fp
}
- \fp_gset:Nn \g__wheelchart_y_coord_fp
+ \fp_gset:cn { g__wheelchart_#1_y_fp }
{
( \pgf@xx * \y { l__wheelchart_coord } - \pgf@xy * \x { l__wheelchart_coord } ) / \l__wheelchart_coord_determinant_fp
}
}
]
+ coordinate ( g__wheelchart_slice_\WCcount _#2~#3_coordinate ) at ( \p { l__wheelchart_coord } )
;
}
-\cs_new:Npn \__wheelchart_def_coord:nn #1#2
+\cs_new_protected:Npn \__wheelchart_def_fp:nn #1#2
{
- \__wheelchart_def_coord_aux:nn {#1} { \fp_use:c { l__wheelchart_slice_#1_#2_angle_fp } }
- \fp_set_eq:cN { l__wheelchart_#1~#2_x_fp } \g__wheelchart_x_coord_fp
- \fp_set_eq:cN { l__wheelchart_#1~#2_y_fp } \g__wheelchart_y_coord_fp
+ \pgfmathparse { \pgfkeysvalueof { / wheelchart / #2 } }
+ \fp_set:cn { l__wheelchart_#1_fp } { \pgfmathresult }
}
-\cs_new:Npn \__wheelchart_def_gap:NN #1#2
+\cs_new_protected:Npn \__wheelchart_def_gap:nn #1#2
{
- \fp_set:Nn #1
+ \fp_gset:cn { g__wheelchart_#1_gap_\WCcount _fp }
{
(#2) * sind ( min ( \l__wheelchart_abs_half_angle_minus_new_angle_minus_gap_polar_fp , \l__wheelchart_gap_max_angle_def_fp ) )
<
\l__wheelchart_gap_fp
?
- min ( \l__wheelchart_abs_half_angle_minus_new_angle_fp , \l__wheelchart_gap_max_angle_def_fp )
+ min ( \cs:w g__wheelchart_abs_half_angle_minus_new_angle_\WCcount _fp\cs_end: , \l__wheelchart_gap_max_angle_def_fp )
:
asind ( min ( \l__wheelchart_gap_fp / ( (#2) + 1 - sign (#2) ) , 1 ) ) + \l__wheelchart_gap_polar_fp
%note the min ( ... , 1 ) such that the asind is always defined
@@ -430,70 +492,125 @@
}
}
-\cs_new:Npn \__wheelchart_def_macro:Nn #1#2
+\cs_new_protected:Npn \__wheelchart_def_inner_radius:
{
- \str_case:enF { \pgfkeysvalueof { / wheelchart / parse } }
+ \bool_if:NTF \l__wheelchart_pie_bool
+ { \fp_set:Nn \l__wheelchart_inner_radius_fp { 0 } }
{
- { pgfmath }
- {
- \pgfmathparse {#2}
- \fp_set:Nn #1 { \pgfmathresult }
- }
- { l3fp }
- { \fp_set:Nn #1 {#2} }
+ \pgfmathparse { \pgfkeysvalueof { / wheelchart / inner~radius } }
+ \fp_set:Nn \l__wheelchart_inner_radius_fp { \pgfmathresult + \l__wheelchart_gap_radius_fp }
}
- { \pgfkeys { / errors / unknown~choice~value /. expanded = { parse } { \pgfkeysvalueof { / wheelchart / parse } } } }
}
-\cs_new:Npn \__wheelchart_def_macros:n #1
+\cs_new_protected:Npn \__wheelchart_def_orientation:
+ {%determine the orientation, this is necessary even if no plot is used, for example if
+ %inner radius > outer radius then \g__wheelchart_slices_orientation_fp is different from
+ %\l__wheelchart_counter_or_clockwise_fp
+ \fp_set:Nn \l__wheelchart_slices_orientation_new_angle_fp
+ {
+ \g__wheelchart_angle_fp +
+ (
+ \g__wheelchart_new_angle_fp == \g__wheelchart_angle_fp
+ ?
+ \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_total_angle_fp
+ :
+ \g__wheelchart_new_angle_fp - \g__wheelchart_angle_fp
+ )
+ / \cs:w g__wheelchart_samples_1_fp\cs_end:
+ }
+ \path let
+ \p { l__wheelchart_slices_orientation_1 } =
+ (
+ \__wheelchart_outer_plot:nn
+ { \fp_use:N \g__wheelchart_angle_fp }
+ { \fp_use:c { g__wheelchart_outer_radius_1_fp } }
+ ) ,
+ \p { l__wheelchart_slices_orientation_2 } =
+ (
+ \__wheelchart_outer_plot:nn
+ { \fp_use:N \l__wheelchart_slices_orientation_new_angle_fp }
+ { \fp_use:c { g__wheelchart_outer_radius_1_fp } }
+ ) ,
+ \p { l__wheelchart_slices_orientation_3 } =
+ (
+ \__wheelchart_inner_plot:nn
+ { \fp_use:N \l__wheelchart_slices_orientation_new_angle_fp }
+ { \fp_use:c { g__wheelchart_inner_radius_1_fp } }
+ ) ,
+ \p { l__wheelchart_slices_orientation_4 } =
+ (
+ \__wheelchart_inner_plot:nn
+ { \fp_use:N \g__wheelchart_angle_fp }
+ { \fp_use:c { g__wheelchart_inner_radius_1_fp } }
+ )
+ in
+ [
+ / utils / exec =
+ {
+ \fp_gset:Nn \g__wheelchart_slices_orientation_fp
+ {
+ sign
+ (
+ 0.1 * \y { l__wheelchart_slices_orientation_1 }
+ * ( \x { l__wheelchart_slices_orientation_4 } - \x { l__wheelchart_slices_orientation_2 } )
+ + 0.1 * \y { l__wheelchart_slices_orientation_2 }
+ * ( \x { l__wheelchart_slices_orientation_1 } - \x { l__wheelchart_slices_orientation_3 } )
+ + 0.1 * \y { l__wheelchart_slices_orientation_3 }
+ * ( \x { l__wheelchart_slices_orientation_2 } - \x { l__wheelchart_slices_orientation_4 } )
+ + 0.1 * \y { l__wheelchart_slices_orientation_4 }
+ * ( \x { l__wheelchart_slices_orientation_3 } - \x { l__wheelchart_slices_orientation_1 } )
+ )
+ * sign ( \l__wheelchart_coord_determinant_fp )
+ }
+ }
+ ]
+ ;%the terms are multiplied with 0.1 to try to avoid an overflow
+ \fp_compare:nNnT { \g__wheelchart_slices_orientation_fp } = { 0 }
+ { \fp_gset_eq:NN \g__wheelchart_slices_orientation_fp \l__wheelchart_counter_or_clockwise_fp }
+ }
+
+\cs_new_protected:Npn \__wheelchart_def_outer_radius:
+ {
+ \pgfmathparse { \pgfkeysvalueof { / wheelchart / outer~radius } }
+ \fp_set:Nn \l__wheelchart_outer_radius_fp { \pgfmathresult - \l__wheelchart_gap_radius_fp }
+ }
+
+\cs_new:Npn \__wheelchart_def_radius:nnn #1#2#3
{
- \str_case:enF { \pgfkeysvalueof { / wheelchart / parse } }
+ \fp_eval:n
{
- { pgfmath }
- {
- \clist_map_inline:nn {#1}
- {
- \pgfmathparse { \pgfkeysvalueof { / wheelchart / ##1 } }
- \fp_set:cn { l__wheelchart_\str_map_function:nN {##1} \__wheelchart_space_to_underscore:n _fp } { \pgfmathresult }
- }
- }
- { l3fp }
- {
- \clist_map_inline:nn {#1}
- {
- \fp_set:cn { l__wheelchart_\str_map_function:nN {##1} \__wheelchart_space_to_underscore:n _fp }
- { \pgfkeysvalueof { / wheelchart / ##1 } }
- }
- }
+ ( 1 - (#2) ) * ( \cs:w g__wheelchart_inner_radius_#1_fp\cs_end: - (#3) )
+ + (#2) * ( \cs:w g__wheelchart_outer_radius_#1_fp\cs_end: + (#3) )
}
- { \pgfkeys { / errors / unknown~choice~value /. expanded = { parse } { \pgfkeysvalueof { / wheelchart / parse } } } }
}
-\cs_new:Npn \__wheelchart_def_slice_angle:nnnn #1#2#3#4
+\cs_new_protected:Npn \__wheelchart_def_slice_angle:nnnn #1#2#3#4
{
+ \fp_gzero_new:c { g__wheelchart_slice_#1_#2_angle_\WCcount _fp }
\bool_if:NTF \l__wheelchart_plot_bool
{
- \fp_set:cn { l__wheelchart_slice_#1_#2_angle_fp }
+ \fp_gset:cn { g__wheelchart_slice_#1_#2_angle_\WCcount _fp }
{
- \fp_use:c { g__wheelchart_#3angle_fp } +
+ \cs:w g__wheelchart_#3angle_fp\cs_end: +
(
\l__wheelchart_counter_or_clockwise_fp *
- ( (#4) * \fp_use:c { l__wheelchart_#1_gap_fp } + \fp_use:c { l__wheelchart_slices_#1_#2_angle_shift_fp } )
+ ( (#4) * \cs:w g__wheelchart_#1_gap_\WCcount _fp\cs_end: + \cs:w l__wheelchart_slices_#1_#2_angle_shift_fp\cs_end: )
)
}
}
{
- \fp_set:cn { l__wheelchart_slice_#1_#2_angle_fp }
+ \fp_gset:cn { g__wheelchart_slice_#1_#2_angle_\WCcount _fp }
{
- \fp_use:c { g__wheelchart_#3angle_fp } +
+ \cs:w g__wheelchart_#3angle_fp\cs_end: +
(
\l__wheelchart_counter_or_clockwise_fp *
(
- (#4) * \fp_use:c { l__wheelchart_#1_gap_fp } + \fp_use:c { l__wheelchart_slices_#1_#2_angle_shift_fp }
+ (#4) * \cs:w g__wheelchart_#1_gap_\WCcount _fp\cs_end: + \cs:w l__wheelchart_slices_#1_#2_angle_shift_fp\cs_end:
- asind
(
- \l__wheelchart_inner_radius_fp * sind ( \fp_use:c { l__wheelchart_slices_#1_#2_angle_shift_fp } )
- / \l__wheelchart_outer_radius_fp
+ \cs:w g__wheelchart_inner_radius_\WCcount _fp\cs_end:
+ * sind ( \cs:w l__wheelchart_slices_#1_#2_angle_shift_fp\cs_end: )
+ / \cs:w g__wheelchart_outer_radius_\WCcount _fp\cs_end:
)
)
)
@@ -501,7 +618,7 @@
}
}
-\cs_new:Npn \__wheelchart_def_slice_keys:n #1
+\cs_new_protected:Npn \__wheelchart_def_slice_keys:n #1
{
{%note the double {{...}} such that the contents is in a group
%such that pgfkeys which are specific to the current slice are local for this slice
@@ -514,11 +631,10 @@
}
}
-\cs_new:Npn \__wheelchart_def_WClegend:
+\cs_new_protected:Npn \__wheelchart_def_WClegend:
{
\int_set:Nn \l__wheelchart_legend_columns_int
{ \fp_eval:n { ceil ( \WCtotalcount / ceil ( \WCtotalcount / ( \pgfkeysvalueof { / wheelchart / legend~columns } ) ) ) } }
- \cs_set:Npn \WClegend {}
\tl_build_begin:N \WClegend
\int_compare:nNnTF { \l__wheelchart_legend_columns_int } = { 1 }
{ \int_step_inline:nnn { 2 } { \WCtotalcount } { \__wheelchart_legend_append:nn {##1} { \\ } } }
@@ -569,14 +685,14 @@
{
\clist_if_empty:NTF \l__wheelchart_header_clist
{
- \int_step_inline:nn { \seq_count:N \l__wheelchart_list_items_seq }
+ \int_step_inline:nn { \l__wheelchart_max_list_items_int }
{
\cs_set:cpn { WCvar\int_to_Alph:n {##1} }
{ \cs:w l__wheelchart_item_WCvar\int_to_Alph:n {##1}_\theg__wheelchart_WCcount_counter\cs_end: }
}
}
{
- \int_step_inline:nn { \seq_count:N \l__wheelchart_list_items_seq }
+ \int_step_inline:nn { \l__wheelchart_max_list_items_int }
{
\cs_set:cpn { \pgfkeysvalueof { / wheelchart / header~prefix } \clist_item:Nn \l__wheelchart_header_clist {##1} }
{
@@ -601,13 +717,13 @@
(
atand
(
- \fp_use:c { l__wheelchart_#3_y_fp } - \fp_use:c { l__wheelchart_#4_y_fp } ,
- \fp_use:c { l__wheelchart_#3_x_fp } - \fp_use:c { l__wheelchart_#4_x_fp }
+ \cs:w g__wheelchart_#3_y_fp\cs_end: - \cs:w g__wheelchart_#4_y_fp\cs_end: ,
+ \cs:w g__wheelchart_#3_x_fp\cs_end: - \cs:w g__wheelchart_#4_x_fp\cs_end:
)
- atand
(
- \fp_use:c { l__wheelchart_#1_y_fp } - \fp_use:c { l__wheelchart_#2_y_fp } ,
- \fp_use:c { l__wheelchart_#1_x_fp } - \fp_use:c { l__wheelchart_#2_x_fp }
+ \cs:w g__wheelchart_#1_y_fp\cs_end: - \cs:w g__wheelchart_#2_y_fp\cs_end: ,
+ \cs:w g__wheelchart_#1_x_fp\cs_end: - \cs:w g__wheelchart_#2_x_fp\cs_end:
)
)
}
@@ -616,17 +732,12 @@
)%note the Mod 360 because for example cos(90/2)\neq cos(-270/2)
}
-\cs_new:Npn \__wheelchart_discrete_algorithm:
+\cs_new_protected:Npn \__wheelchart_discrete_algorithm:
{
- \__wheelchart_def_macros:n { discrete~factor , gap~radius , samples }
- \__wheelchart_def_macro:Nn \l__wheelchart_outer_radius_fp
- { \pgfkeysvalueof { / wheelchart / outer~radius } - \fp_use:N \l__wheelchart_gap_radius_fp }
- \bool_if:NTF \l__wheelchart_pie_bool
- { \fp_set:Nn \l__wheelchart_inner_radius_fp { 0 } }
- {
- \__wheelchart_def_macro:Nn \l__wheelchart_inner_radius_fp
- { \pgfkeysvalueof { / wheelchart / inner~radius } + \fp_use:N \l__wheelchart_gap_radius_fp }
- }
+ \__wheelchart_def_fp:nn { discrete_factor } { discrete~factor }
+ \__wheelchart_def_fp:nn { gap_radius } { gap~radius }
+ \__wheelchart_def_outer_radius:
+ \__wheelchart_def_inner_radius:
\int_compare:nNnT { \l__wheelchart_discrete_space_at_borders_int } = { -1 }
{
\pgfkeys
@@ -639,6 +750,7 @@
\seq_clear:N \l__wheelchart_discrete_points_seq
\bool_if:NTF \l__wheelchart_plot_bool
{
+ \__wheelchart_def_fp:nn { samples } { samples }
\fp_zero:N \l__wheelchart_discrete_outer_length_fp
\__wheelchart_discrete_def_coord:nn { outer } { 0 }
\int_step_inline:nn { \fp_use:N \l__wheelchart_samples_fp - 1 }
@@ -648,8 +760,8 @@
{
sqrt
(
- ( \g__wheelchart_x_coord_fp - \g__wheelchart_previous_x_coord_fp ) ^ 2
- + ( \g__wheelchart_y_coord_fp - \g__wheelchart_previous_y_coord_fp ) ^ 2
+ ( \g__wheelchart_coord_x_fp - \g__wheelchart_previous_coord_x_fp ) ^ 2
+ + ( \g__wheelchart_coord_y_fp - \g__wheelchart_previous_coord_y_fp ) ^ 2
)
}
}
@@ -658,8 +770,8 @@
{
sqrt
(
- ( \g__wheelchart_x_coord_fp - \g__wheelchart_previous_x_coord_fp ) ^ 2
- + ( \g__wheelchart_y_coord_fp - \g__wheelchart_previous_y_coord_fp ) ^ 2
+ ( \g__wheelchart_coord_x_fp - \g__wheelchart_previous_coord_x_fp ) ^ 2
+ + ( \g__wheelchart_coord_y_fp - \g__wheelchart_previous_coord_y_fp ) ^ 2
)
}
\fp_zero:N \l__wheelchart_discrete_inner_length_fp
@@ -670,8 +782,8 @@
{
sqrt
(
- ( \g__wheelchart_x_coord_fp - \g__wheelchart_previous_x_coord_fp ) ^ 2
- + ( \g__wheelchart_y_coord_fp - \g__wheelchart_previous_y_coord_fp ) ^ 2
+ ( \g__wheelchart_coord_x_fp - \g__wheelchart_previous_coord_x_fp ) ^ 2
+ + ( \g__wheelchart_coord_y_fp - \g__wheelchart_previous_coord_y_fp ) ^ 2
)
}
}
@@ -680,8 +792,8 @@
{
sqrt
(
- ( \g__wheelchart_x_coord_fp - \g__wheelchart_previous_x_coord_fp ) ^ 2
- + ( \g__wheelchart_y_coord_fp - \g__wheelchart_previous_y_coord_fp ) ^ 2
+ ( \g__wheelchart_coord_x_fp - \g__wheelchart_previous_coord_x_fp ) ^ 2
+ + ( \g__wheelchart_coord_y_fp - \g__wheelchart_previous_coord_y_fp ) ^ 2
)
}
}
@@ -857,9 +969,9 @@
\__wheelchart_for_loop:n
{
\pgfkeysvalueof { / wheelchart / before~slices }
- \int_step_inline:nn { \fp_eval:n { round ( \l__wheelchart_value_fp ) } }%note that \fp_eval:n { round ( ... ) } is necessary
- %even when the value is an integer because if parse=pgfmath then .0 is added and then
- %\int_step_inline:nn { \fp_use:N \l__wheelchart_value_fp } would give the messages
+ \int_step_inline:nn { \fp_eval:n { round ( \cs:w g__wheelchart_value_\WCcount _fp\cs_end: ) } }
+ %note that \fp_eval:n { round ( ... ) } is necessary even when the value is an integer because if parse=pgfmath
+ %then .0 is added and then \int_step_inline:nn { \cs:w g__wheelchart_value_\WCcount _fp\cs_end: } would give the messages
%Missing character: There is no . in font nullfont! Missing character: There is no 0 in font nullfont!
{
\int_gincr:N \g__wheelchart_discrete_count_int
@@ -870,57 +982,84 @@
%greater than the rounded value of \WCtotalnum.
%For example if there are 2 values 1.6 and 1.7 then these numbers are 4 and 3 and then there is no 4-th item in the list.
%However only positive integer values make practical sense for this diagram.
- \pic [ / wheelchart / slices_style ] at
- (
- $
+ \bool_if:NTF \l__wheelchart_plot_bool
+ {
+ \coordinate ( g__wheelchart_slice_##1_####1_coordinate ) at
(
- \__wheelchart_inner_plot:nn
- {
- \fp_eval:n
+ $
+ (
+ \__wheelchart_inner_plot:nn
{
- \l__wheelchart_start_angle_fp + \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_total_angle_fp *
- (
- \seq_item:Nn \l__wheelchart_discrete_coefficients_first_seq
- { \l__wheelchart_discrete_partitioning_first_index_int }
- )
+ \fp_eval:n
+ {
+ \l__wheelchart_start_angle_fp + \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_total_angle_fp *
+ (
+ \seq_item:Nn \l__wheelchart_discrete_coefficients_first_seq
+ { \l__wheelchart_discrete_partitioning_first_index_int }
+ )
+ }
}
- }
- { \fp_use:N \l__wheelchart_inner_radius_fp }
- )
- !
- {
- \seq_item:Nn \l__wheelchart_discrete_coefficients_first_seq
- { \l__wheelchart_discrete_partitioning_second_index_int }
- }
- !
- (
- \__wheelchart_outer_plot:nn
- {
- \fp_eval:n
+ { \fp_use:N \l__wheelchart_inner_radius_fp }
+ )
+ !
+ {
+ \seq_item:Nn \l__wheelchart_discrete_coefficients_first_seq
+ { \l__wheelchart_discrete_partitioning_second_index_int }
+ }
+ !
+ (
+ \__wheelchart_outer_plot:nn
{
- \l__wheelchart_start_angle_fp + \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_total_angle_fp *
- (
- \seq_item:Nn \l__wheelchart_discrete_coefficients_first_seq
- { \l__wheelchart_discrete_partitioning_first_index_int }
- )
+ \fp_eval:n
+ {
+ \l__wheelchart_start_angle_fp + \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_total_angle_fp *
+ (
+ \seq_item:Nn \l__wheelchart_discrete_coefficients_first_seq
+ { \l__wheelchart_discrete_partitioning_first_index_int }
+ )
+ }
}
+ { \fp_use:N \l__wheelchart_outer_radius_fp }
+ )
+ $
+ ) ;
+ }
+ {
+ \coordinate ( g__wheelchart_slice_##1_####1_coordinate ) at
+ (
+ \fp_eval:n
+ {
+ \l__wheelchart_start_angle_fp + \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_total_angle_fp *
+ (
+ \seq_item:Nn \l__wheelchart_discrete_coefficients_first_seq
+ { \l__wheelchart_discrete_partitioning_first_index_int }
+ )
}
- { \fp_use:N \l__wheelchart_outer_radius_fp }
- )
- $
- )
+ \c_colon_str
+ \fp_eval:n
+ {
+ \l__wheelchart_inner_radius_fp
+ + \seq_item:Nn \l__wheelchart_discrete_coefficients_first_seq
+ { \l__wheelchart_discrete_partitioning_second_index_int }
+ * ( \l__wheelchart_outer_radius_fp - \l__wheelchart_inner_radius_fp )
+ }
+ ) ;
+ }
+ \pic [ / wheelchart / slices_style ] at ( g__wheelchart_slice_##1_####1_coordinate )
{ code = { \pgfkeysvalueof { / wheelchart / discrete~pic } } } ;
}
\pgfkeysvalueof { / wheelchart / after~slices }
}
}
-\cs_new:Npn \__wheelchart_discrete_def_coord:nn #1#2
+\cs_new_protected:Npn \__wheelchart_discrete_def_coord:nn #1#2
{
- \fp_gset_eq:NN \g__wheelchart_previous_x_coord_fp \g__wheelchart_x_coord_fp
- \fp_gset_eq:NN \g__wheelchart_previous_y_coord_fp \g__wheelchart_y_coord_fp
- \__wheelchart_def_coord_aux:nn
+ \fp_gset_eq:NN \g__wheelchart_previous_coord_x_fp \g__wheelchart_coord_x_fp
+ \fp_gset_eq:NN \g__wheelchart_previous_coord_y_fp \g__wheelchart_coord_y_fp
+ \__wheelchart_def_coord:nnnn
+ { coord }
{#1}
+ {}
{
\fp_eval:n
{
@@ -930,134 +1069,33 @@
}
}
-\cs_new:Npn \__wheelchart_for_loop:n #1
+\cs_new_protected:Npn \__wheelchart_for_loop:n #1
{
- \fp_gset_eq:NN \g__wheelchart_angle_fp \l__wheelchart_start_angle_fp
\__wheelchart_for_loop_initial:n
{
\__wheelchart_def_slice_keys:n
{
- \fp_set_eq:Nc \l__wheelchart_value_fp { l__wheelchart_value_\WCcount _fp }
\cs_set_eq:Nc \WCpercentage { l__wheelchart_WCpercentage_\WCcount }
\cs_set_eq:Nc \WCpercentagerounded { l__wheelchart_WCpercentagerounded_\WCcount }
- \fp_gset:Nn \g__wheelchart_new_angle_fp
- {
- \WCcount == \WCtotalcount
- ?
- \l__wheelchart_start_angle_fp + \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_total_angle_fp
- :
- \g__wheelchart_angle_fp +
- (
- \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_value_fp
- * ( \l__wheelchart_total_angle_fp / \WCtotalnum )
- )
- }
- \__wheelchart_def_macros:n
- {
- data~angle~pos ,
- gap ,
- gap~max~angle ,
- gap~polar ,
- gap~radius ,
- samples ,
- slices~inner~end~angle~shift ,
- slices~inner~start~angle~shift ,
- slices~outer~end~angle~shift ,
- slices~outer~start~angle~shift
- }
- \__wheelchart_def_macro:Nn \l__wheelchart_outer_radius_fp
- { \pgfkeysvalueof { / wheelchart / outer~radius } - \fp_use:N \l__wheelchart_gap_radius_fp }
- \bool_if:NTF \l__wheelchart_pie_bool
- { \fp_set:Nn \l__wheelchart_inner_radius_fp { 0 } }
- {
- \__wheelchart_def_macro:Nn \l__wheelchart_inner_radius_fp
- { \pgfkeysvalueof { / wheelchart / inner~radius } + \fp_use:N \l__wheelchart_gap_radius_fp }
- }
- \fp_set_eq:NN \l__wheelchart_inner_radius_orig_fp \l__wheelchart_inner_radius_fp
- \fp_set:Nn \l__wheelchart_abs_half_angle_minus_new_angle_fp
- { abs ( \g__wheelchart_angle_fp - \g__wheelchart_new_angle_fp ) / 2 }
- \fp_set:Nn \l__wheelchart_abs_half_angle_minus_new_angle_minus_gap_polar_fp
- { \l__wheelchart_abs_half_angle_minus_new_angle_fp - \l__wheelchart_gap_polar_fp }
- \bool_if:NTF \l__wheelchart_plot_bool
- {
- \fp_set_eq:NN \l__wheelchart_outer_gap_fp \l__wheelchart_gap_polar_fp
- \fp_set_eq:NN \l__wheelchart_inner_gap_fp \l__wheelchart_gap_polar_fp
- }
- {
- \fp_set:Nn \l__wheelchart_gap_max_angle_def_fp
- {
- \l__wheelchart_inner_radius_fp > 0
- ?
- 90
- :
- (
- sind ( \l__wheelchart_abs_half_angle_minus_new_angle_minus_gap_polar_fp ) < 0.001
- ?
- (
- 90 < \l__wheelchart_gap_max_angle_fp && \l__wheelchart_gap_max_angle_fp < 180
- ?
- \l__wheelchart_gap_max_angle_fp
- :
- 90
- )
- :
- (
- \l__wheelchart_gap_max_angle_fp < 90 || \l__wheelchart_gap_max_angle_fp > 180
- ?
- 180
- :
- \l__wheelchart_gap_max_angle_fp
- )
- )
- }
- \__wheelchart_def_gap:NN \l__wheelchart_outer_gap_fp \l__wheelchart_outer_radius_fp
- \__wheelchart_def_gap:NN \l__wheelchart_inner_gap_fp \l__wheelchart_inner_radius_fp
- \fp_compare:nNnT { \l__wheelchart_abs_half_angle_minus_new_angle_minus_gap_polar_fp } > { 0.01 }
- {
- \fp_set:Nn \l__wheelchart_inner_radius_fp
- {
- max
- (
- \l__wheelchart_gap_fp
- / sind
- (
- min
- (
- \l__wheelchart_abs_half_angle_minus_new_angle_minus_gap_polar_fp ,
- \l__wheelchart_gap_max_angle_def_fp
- )
- )
- ,
- \l__wheelchart_inner_radius_fp
- )
- }
- }
- }
- \__wheelchart_def_slice_angle:nnnn { inner } { end } { new_ } { -1 }
- \__wheelchart_def_slice_angle:nnnn { inner } { start } {} { 1 }
- \__wheelchart_def_slice_angle:nnnn { outer } { end } { new_ } { -1 }
- \__wheelchart_def_slice_angle:nnnn { outer } { start } {} { 1 }
- \__wheelchart_def_angle:nnnN { 0.5 } { 0 } { 0 } \WCmidangle
- \__wheelchart_def_macros:n { data~angle~shift , data~sep }
- \__wheelchart_def_angle:nnnN
- { \l__wheelchart_data_angle_pos_fp }
- { \l__wheelchart_data_angle_shift_fp }
- { \l__wheelchart_data_sep_fp }
- \WCdataangle
- \__wheelchart_def_macros:n { explode }
+ \cs_set:Npe \WCdataangle
+ { \fp_use:c { g__wheelchart_WCdataangle_\WCcount _fp } }
+ \cs_set:Npe \WCmidangle
+ { \fp_use:c { g__wheelchart_WCmidangle_\WCcount _fp } }
\pgfkeysvalueof { / wheelchart / for~loop~start }%this must be placed after the definition of macros such as \WCpercentage
%such that these macros can be used in the key for loop start
\begin { scope }
- [ shift = { ( \WCmidangle \c_colon_str \fp_use:N \l__wheelchart_explode_fp ) } , / wheelchart / slices_scope ]
+ [
+ shift = { ( \WCmidangle \c_colon_str \fp_use:c { g__wheelchart_explode_\WCcount _fp } ) } ,
+ / wheelchart / slices_scope
+ ]
#1
\end { scope }
- \fp_gset_eq:NN \g__wheelchart_angle_fp \g__wheelchart_new_angle_fp
\pgfkeysvalueof { / wheelchart / for~loop~end }
}
}
}
-\cs_new:Npn \__wheelchart_for_loop_initial:n #1
+\cs_new_protected:Npn \__wheelchart_for_loop_initial:n #1
{
\str_case:en { \l__wheelchart_type_tl }
{
@@ -1068,7 +1106,7 @@
\int_step_inline:nn { \WCtotalcount }
{
\cs_set:Npe \WCcount {##1}
- \int_step_inline:nn { \seq_count:N \l__wheelchart_list_items_seq }
+ \int_step_inline:nn { \l__wheelchart_max_list_items_int }
{ \cs_set_eq:cc { WCvar\int_to_Alph:n {####1} } { l__wheelchart_item_WCvar\int_to_Alph:n {####1}_##1 } }
#1
}
@@ -1077,7 +1115,7 @@
\int_step_inline:nn { \WCtotalcount }
{
\cs_set:Npe \WCcount {##1}
- \int_step_inline:nn { \seq_count:N \l__wheelchart_list_items_seq }
+ \int_step_inline:nn { \l__wheelchart_max_list_items_int }
{
\cs_set_eq:cc
{ \pgfkeysvalueof { / wheelchart / header~prefix } \clist_item:Nn \l__wheelchart_header_clist {####1} }
@@ -1116,7 +1154,14 @@
}
}
-\cs_new:Npn \__wheelchart_if_text:nn #1#2
+\cs_new_protected:Npn \__wheelchart_gdef_count_fp:nn #1#2
+ {
+ \fp_gzero_new:c { g__wheelchart_#1_\WCcount _fp }
+ \pgfmathparse { \pgfkeysvalueof { / wheelchart / #2 } }
+ \fp_gset:cn { g__wheelchart_#1_\WCcount _fp } { \pgfmathresult }
+ }
+
+\cs_new_protected:Npn \__wheelchart_if_text:nn #1#2
{
%https://tex.stackexchange.com/questions/42280/expand-away-empty-macros-within-ifthenelse
%https://tex.stackexchange.com/questions/44919/proper-way-to-detect-empty-blank-text
@@ -1128,7 +1173,7 @@
{ {#2} }
}
-\cs_new:Npn \__wheelchart_initial:n #1
+\cs_new_protected:Npn \__wheelchart_initial:n #1
{
\str_case:en { \l__wheelchart_type_tl }
{
@@ -1137,17 +1182,20 @@
\tl_if_empty:nTF {#1}
{ \cs_set:Npn \WCtotalcount { 0 } }
{
- \use:c { seq_set_split:Ne\l__wheelchart_expand_list_tl }
+ \cs:w seq_set_split:Ne\l__wheelchart_expand_list_tl\cs_end:
\l__wheelchart_list_seq
{ \pgfkeysvalueof { / wheelchart / separator~rows } }
{#1}
\cs_set:Npe \WCtotalcount { \seq_count:N \l__wheelchart_list_seq }
+ \int_zero:N \l__wheelchart_max_list_items_int
\seq_map_indexed_inline:Nn \l__wheelchart_list_seq
{
- \use:c { seq_set_split:Ne\l__wheelchart_expand_list_items_tl }
+ \cs:w seq_set_split:Ne\l__wheelchart_expand_list_items_tl\cs_end:
\l__wheelchart_list_items_seq
{ \pgfkeysvalueof { / wheelchart / separator~columns } }
{##2}
+ \int_compare:nNnT { \seq_count:N \l__wheelchart_list_items_seq } > { \l__wheelchart_max_list_items_int }
+ { \int_set:Nn \l__wheelchart_max_list_items_int { \seq_count:N \l__wheelchart_list_items_seq } }
%make sure that the namespace l__wheelchart_item_ below is unique
\clist_if_empty:NTF \l__wheelchart_header_clist
{
@@ -1184,7 +1232,7 @@
{ \cs_set:Npn \WCtotalcount { 0 } }
}
{
- \@ifpackageloaded { etoc } {}
+ \IfPackageLoadedTF { etoc } {}
{ \PackageError { wheelchart } { The~package~etoc~must~be~loaded~to~use~the~key~etoc~level } {} }
\etocsetlevel { part } { 0 }
\etocsetlevel { chapter } { 0 }
@@ -1197,7 +1245,7 @@
\etocsetnexttocdepth { -1 }%only for the next toc
\etocsetstyle { \l__wheelchart_etoc_level_tl } {} {}
{
- \int_compare:nNnT { \int_use:c { g__wheelchart_etoc_item_\l__wheelchart_etoc_name_tl _count_int } } > { 0 }
+ \int_compare:nNnT { \cs:w g__wheelchart_etoc_item_\l__wheelchart_etoc_name_tl _count_int\cs_end: } > { 0 }
{
\cs_gset:cpe
{
@@ -1256,7 +1304,7 @@
{}
\int_gzero_new:c { g__wheelchart_etoc_item_\l__wheelchart_etoc_name_tl _count_int }
\pgfkeysvalueof { / wheelchart / etoc~code }
- \int_compare:nNnT { \int_use:c { g__wheelchart_etoc_item_\l__wheelchart_etoc_name_tl _count_int } } > { 0 }
+ \int_compare:nNnT { \cs:w g__wheelchart_etoc_item_\l__wheelchart_etoc_name_tl _count_int\cs_end: } > { 0 }
{
\cs_gset:cpe
{
@@ -1282,27 +1330,41 @@
\__wheelchart_for_loop_initial:n
{
\__wheelchart_def_slice_keys:n
- {
- \__wheelchart_def_macros:n { value }
- \fp_gset_eq:NN \g__wheelchart_value_global_fp \l__wheelchart_value_fp
- }
- \fp_zero_new:c { l__wheelchart_value_\WCcount _fp }
- \fp_set_eq:cN { l__wheelchart_value_\WCcount _fp } \g__wheelchart_value_global_fp
- \cs_set:Npe \WCtotalnum { \fp_eval:n { \WCtotalnum + \g__wheelchart_value_global_fp } }
+ { \__wheelchart_gdef_count_fp:nn { value } { value } }
+ \cs_set:Npe \WCtotalnum { \fp_eval:n { \WCtotalnum + \cs:w g__wheelchart_value_\WCcount _fp\cs_end: } }
}
\int_step_inline:nn { \WCtotalcount }
{
\cs_set:cpe { l__wheelchart_WCpercentage_##1 }
- { \fp_eval:n { \fp_use:c { l__wheelchart_value_##1_fp } / ( \WCtotalnum / 100 ) } }
+ { \fp_eval:n { \cs:w g__wheelchart_value_##1_fp\cs_end: / ( \WCtotalnum / 100 ) } }
\cs_set:cpe { l__wheelchart_WCpercentagerounded_##1 }
{ \fp_eval:n { round ( \cs:w l__wheelchart_WCpercentage_##1\cs_end: , \pgfkeysvalueof { / wheelchart / perc~precision } ) } }
}
}
+\cs_new_protected:Npn \__wheelchart_inner_and_wheel_data:n #1
+ {
+ \__wheelchart_if_text:nn { #1~data }
+ {
+ \__wheelchart_def_fp:nn { #1_data_angle_pos } { #1~data~angle~pos }
+ \__wheelchart_def_fp:nn { #1_data_angle_shift } { #1~data~angle~shift }
+ \__wheelchart_def_fp:nn { #1_data_pos } { #1~data~pos }
+ \__wheelchart_def_fp:nn { #1_data_sep } { #1~data~sep }
+ \node [ align = left , / wheelchart / #1_data_style ] at
+ \cs:w __wheelchart_point_plot_\bool_to_str:N \l__wheelchart_plot_bool :nnnnn\cs_end:
+ { \WCcount }
+ { \cs:w l__wheelchart_#1_data_angle_pos_fp\cs_end: }
+ { \cs:w l__wheelchart_#1_data_angle_shift_fp\cs_end: }
+ { \cs:w l__wheelchart_#1_data_pos_fp\cs_end: }
+ { \cs:w l__wheelchart_#1_data_sep_fp\cs_end: }
+ { \pgfkeysvalueof { / wheelchart / #1~data } } ;
+ }
+ }
+
\cs_new:Npn \__wheelchart_inner_plot:nn #1#2
{ {#1} \c_colon_str {#2} }
-\cs_new:Npn \__wheelchart_legend_append:nn #1#2
+\cs_new_protected:Npn \__wheelchart_legend_append:nn #1#2
{
\tl_build_put_right:NV \WClegend \l__wheelchart_legend_row_tl%note the V specifier such that \WClegend can also be combined
%with an S column of the package siunitx and such that \WClegend can be used in a tblr environment of the package tabularray
@@ -1316,27 +1378,44 @@
\tl_build_put_right:Nn \WClegend {#2}
}
+\cs_new:Npn \__wheelchart_mod:n #1
+ {
+ \int_eval:n
+ {
+ \int_mod:nn { (#1) - \int_compare:nNnTF {#1} > { 0 } { 1 } { 0 } } { \g__wheelchart_totalcount_tl }
+ + \int_compare:nNnTF {#1} > { 0 } { 1 } { \g__wheelchart_totalcount_tl }
+ }
+ }
+
\cs_new:Npn \__wheelchart_outer_plot:nn #1#2
{ {#1} \c_colon_str {#2} }
-\cs_new:Npn \__wheelchart_slices_arc:nnnnnn #1#2#3#4#5#6
+\cs_new:Npn \__wheelchart_point_plot_false:nnnnn #1#2#3#4#5
+ { ( \__wheelchart_def_angle_plot_false:nnnnn {#1} {#2} {#3} {#4} {#5} \c_colon_str \__wheelchart_def_radius:nnn {#1} {#4} {#5} ) }
+
+\cs_new:Npn \__wheelchart_point_plot_true:nnnnn #1#2#3#4#5
+ { \__wheelchart_convex_comb_coord_aux:o { \__wheelchart_convex_comb_coord_def:nnnn {#2} {#3} {#4} {#5} } }
+
+\cs_new_protected:Npn \__wheelchart_slices_arc:nnnnnn #1#2#3#4#5#6
{
{
[
/ utils / exec =
{
- \__wheelchart_def_macro:Nn \l__wheelchart_slices_arc_A_fp {#1}
+ \pgfmathparse {#1}
+ \fp_set:Nn \l__wheelchart_slices_arc_A_fp { \pgfmathresult }
#6
\fp_set:Nn \l__wheelchart_slices_arc_A_abs_fp { abs ( \l__wheelchart_slices_arc_A_fp ) }
\fp_compare:nNnF { \l__wheelchart_slices_arc_A_abs_fp } < { 0.01 }
{
- \__wheelchart_def_macro:Nn \l__wheelchart_slices_arc_B_fp {#2}
+ \pgfmathparse {#2}
+ \fp_set:Nn \l__wheelchart_slices_arc_B_fp { \pgfmathresult }
\fp_set:Nn \l__wheelchart_slices_arc_rotate_fp
{
atand
(
- \fp_use:c { l__wheelchart_#3_y_fp } - \fp_use:c { l__wheelchart_#4_y_fp } ,
- \fp_use:c { l__wheelchart_#3_x_fp } - \fp_use:c { l__wheelchart_#4_x_fp }
+ \cs:w g__wheelchart_#3_y_fp\cs_end: - \cs:w g__wheelchart_#4_y_fp\cs_end: ,
+ \cs:w g__wheelchart_#3_x_fp\cs_end: - \cs:w g__wheelchart_#4_x_fp\cs_end:
)
}
\fp_set:Nn \l__wheelchart_slices_arc_coord_fp
@@ -1375,9 +1454,9 @@
--
(
$
- ( \fp_use:c { l__wheelchart_#3_x_fp } , \fp_use:c { l__wheelchart_#3_y_fp } )
+ ( g__wheelchart_slice_\WCcount _#3_coordinate )
! { \fp_eval:n { \l__wheelchart_slices_arc_coord_fp / 2 } } !
- ( \fp_use:c { l__wheelchart_#4_x_fp } , \fp_use:c { l__wheelchart_#4_y_fp } )
+ ( g__wheelchart_slice_\WCcount _#4_coordinate )
$
)
}
@@ -1407,8 +1486,8 @@
* abs ( ( 1 / \l__wheelchart_slices_arc_A_fp ) + \l__wheelchart_slices_arc_A_fp )
* sqrt
(
- ( \fp_use:c { l__wheelchart_#3_x_fp } - \fp_use:c { l__wheelchart_#4_x_fp } ) ^ 2
- + ( \fp_use:c { l__wheelchart_#3_y_fp } - \fp_use:c { l__wheelchart_#4_y_fp } ) ^ 2
+ ( \cs:w g__wheelchart_#3_x_fp\cs_end: - \cs:w g__wheelchart_#4_x_fp\cs_end: ) ^ 2
+ + ( \cs:w g__wheelchart_#3_y_fp\cs_end: - \cs:w g__wheelchart_#4_y_fp\cs_end: ) ^ 2
)
}
}
@@ -1420,16 +1499,18 @@
}
}
-\cs_new:Npn \__wheelchart_slices_arrow:nnnnn #1#2#3#4#5
+\cs_new_protected:Npn \__wheelchart_slices_arrow:nnnnn #1#2#3#4#5
{
{
[
/ utils / exec =
{
- \__wheelchart_def_macro:Nn \l__wheelchart_slices_arrow_A_fp {#1}
+ \pgfmathparse {#1}
+ \fp_set:Nn \l__wheelchart_slices_arrow_A_fp { \pgfmathresult }
\fp_compare:nNnF { \l__wheelchart_slices_arrow_A_fp } = { 0 }
{
- \__wheelchart_def_macro:Nn \l__wheelchart_slices_arrow_B_fp {#2}
+ \pgfmathparse {#2}
+ \fp_set:Nn \l__wheelchart_slices_arrow_B_fp { \pgfmathresult }
\fp_set:Nn \l__wheelchart_slices_arrow_coord_fp
{
\l__wheelchart_slices_arrow_A_fp < 0 && \l__wheelchart_slices_arrow_B_fp < 0 ? 0 : \l__wheelchart_slices_arrow_B_fp
@@ -1447,9 +1528,9 @@
--
(
$
- ( \fp_use:c { l__wheelchart_#3_x_fp } , \fp_use:c { l__wheelchart_#3_y_fp } )
+ ( g__wheelchart_slice_\WCcount _#3_coordinate )
! { \fp_eval:n { \l__wheelchart_slices_arrow_coord_fp / 2 } } !
- ( \fp_use:c { l__wheelchart_#4_x_fp } , \fp_use:c { l__wheelchart_#4_y_fp } )
+ ( g__wheelchart_slice_\WCcount _#4_coordinate )
$
)
}
@@ -1458,11 +1539,11 @@
\fp_eval:n
{
(
- \fp_use:c { l__wheelchart_#3_x_fp } + \fp_use:c { l__wheelchart_#4_x_fp } +
+ \cs:w g__wheelchart_#3_x_fp\cs_end: + \cs:w g__wheelchart_#4_x_fp\cs_end: +
(
\g__wheelchart_slices_orientation_fp * ( \l__wheelchart_slices_arrow_coord_fp - 1 )
* \l__wheelchart_slices_arrow_A_fp
- * ( \fp_use:c { l__wheelchart_#3_y_fp } - \fp_use:c { l__wheelchart_#4_y_fp } )
+ * ( \cs:w g__wheelchart_#3_y_fp\cs_end: - \cs:w g__wheelchart_#4_y_fp\cs_end: )
)
)
/ 2
@@ -1471,11 +1552,11 @@
\fp_eval:n
{
(
- \fp_use:c { l__wheelchart_#3_y_fp } + \fp_use:c { l__wheelchart_#4_y_fp } +
+ \cs:w g__wheelchart_#3_y_fp\cs_end: + \cs:w g__wheelchart_#4_y_fp\cs_end: +
(
\g__wheelchart_slices_orientation_fp * ( \l__wheelchart_slices_arrow_coord_fp - 1 )
* \l__wheelchart_slices_arrow_A_fp
- * ( \fp_use:c { l__wheelchart_#4_x_fp } - \fp_use:c { l__wheelchart_#3_x_fp } )
+ * ( \cs:w g__wheelchart_#4_x_fp\cs_end: - \cs:w g__wheelchart_#3_x_fp\cs_end: )
)
)
/ 2
@@ -1486,9 +1567,9 @@
--
(
$
- ( \fp_use:c { l__wheelchart_#4_x_fp } , \fp_use:c { l__wheelchart_#4_y_fp } )
+ ( g__wheelchart_slice_\WCcount _#4_coordinate )
! { \fp_eval:n { \l__wheelchart_slices_arrow_coord_fp / 2 } } !
- ( \fp_use:c { l__wheelchart_#3_x_fp } , \fp_use:c { l__wheelchart_#3_y_fp } )
+ ( g__wheelchart_slice_\WCcount _#3_coordinate )
$
)
}
@@ -1508,8 +1589,16 @@
]
}
-\cs_new:Npn \__wheelchart_space_to_underscore:n #1
- { \str_if_eq:nnTF {#1} { ~ } { _ } {#1} }
+\cs_new:Npn \__wheelchart_wheel_lines_aux:nn #1#2
+ {
+ \fp_eval:n
+ {
+ ( 1 - (#1) / max ( round ( \cs:w g__wheelchart_value_\WCcount _fp\cs_end: ) , 1 ) )
+ * \cs:w g__wheelchart_slice_#2_start_angle_\WCcount _fp\cs_end:
+ + (#1) * \cs:w g__wheelchart_slice_#2_end_angle_\WCcount _fp\cs_end:
+ / max ( round ( \cs:w g__wheelchart_value_\WCcount _fp\cs_end: ) , 1 )
+ }
+ }
%%> \subsection{Pgfkeys}
@@ -1526,6 +1615,7 @@
arc_style /. style = {#1}
} ,
arc_style /. style = {} ,
+ arc~around~line /. initial = 1 ,
arc~around~text /. default = true ,%this key is not set up with /.is choice or \bool_set:Nn
%such that for example \WCvarA can be used as value for this key
arc~around~text /. initial = false ,
@@ -1536,6 +1626,8 @@
arc~data~angle~pos /. initial = 0.5 ,
arc~data~angle~shift /. initial = 0 ,
arc~data~dir /. initial = 1 ,
+ arc~data~expand /. initial = n ,
+ arc~data~line~sep~factor /. initial = 1 ,
arc~data~pos /. initial = 1 ,
arc~data~sep /. initial = 1 ex / 1 cm ,
arc~data~style /. style = { arc_data_style /. style = {#1} } ,
@@ -1613,7 +1705,7 @@
\tl_set:Nn \l__wheelchart_etoc_level_tl {#1}
} ,
etoc~name /. code = { \tl_set:Nn \l__wheelchart_etoc_name_tl {#1} } ,
- etoc~name = ,
+ etoc~name = {} ,
etoc~use~name /. code =
{
\tl_set:Nn \l__wheelchart_etoc_name_tl {#1}
@@ -1656,23 +1748,27 @@
inner~data~sep /. initial = 0.2 ,
inner~data~style /. style = { inner_data_style /. style = {#1} } ,
inner_data_style /. style = {} ,
- inner~plot /. code =
+ inner~plot /. style =
{
- \bool_set_true:N \l__wheelchart_plot_bool
- \cs_set:Npn \__wheelchart_inner_plot:nn ##1##2 {#1}
- \tl_set:Nn \l__wheelchart_slices_inner_tl
+ bool_set_true = \l__wheelchart_plot_bool ,
+ / utils / exec = { \cs_set:Npn \__wheelchart_inner_plot:nn ##1##2 {#1} } ,
+ slices~inner =
{
-- plot
[
domain =
- \fp_use:N \l__wheelchart_slice_inner_end_angle_fp
+ \fp_use:c { g__wheelchart_slice_inner_end_angle_\WCcount _fp }
\c_colon_str
- \fp_use:N \l__wheelchart_slice_inner_start_angle_fp ,
- samples = \fp_use:N \l__wheelchart_samples_fp ,
- variable = \l__wheelchart_inner_plot_variable_fp ,
+ \fp_use:c { g__wheelchart_slice_inner_start_angle_\WCcount _fp } ,
+ samples = \fp_use:c { g__wheelchart_samples_\WCcount _fp } ,
+ variable = \l__wheelchart_inner_plot_variable_tl ,
/ wheelchart / inner_plot_style
]
- ( \__wheelchart_inner_plot:nn { \l__wheelchart_inner_plot_variable_fp } { \fp_use:N \l__wheelchart_inner_radius_fp } )
+ (
+ \__wheelchart_inner_plot:nn
+ { \l__wheelchart_inner_plot_variable_tl }
+ { \fp_use:c { g__wheelchart_inner_radius_\WCcount _fp } }
+ )
}
} ,
inner~plot~style /. style = { inner_plot_style /. style = {#1} } ,
@@ -1710,16 +1806,22 @@
{
\fp_eval:n
{
- \l__wheelchart_lines_ext_dir_int
- * ( \l__wheelchart_outer_radius_fp + \l__wheelchart_lines_sep_fp + \l__wheelchart_lines_fp + \l__wheelchart_lines_ext_fp )
+ \l__wheelchart_lines_ext_dir_int *
+ (
+ \cs:w g__wheelchart_outer_radius_\WCcount _fp\cs_end: + \l__wheelchart_lines_sep_fp
+ + \l__wheelchart_lines_fp + \l__wheelchart_lines_ext_fp
+ )
}
} ,
lines~ext~fixed~right /. initial =
{
\fp_eval:n
{
- \l__wheelchart_lines_ext_dir_int
- * ( \l__wheelchart_outer_radius_fp + \l__wheelchart_lines_sep_fp + \l__wheelchart_lines_fp + \l__wheelchart_lines_ext_fp )
+ \l__wheelchart_lines_ext_dir_int *
+ (
+ \cs:w g__wheelchart_outer_radius_\WCcount _fp\cs_end: + \l__wheelchart_lines_sep_fp
+ + \l__wheelchart_lines_fp + \l__wheelchart_lines_ext_fp
+ )
}
} ,
lines~ext~left~anchor /. initial = mid~east ,
@@ -1741,29 +1843,32 @@
middle_style /. style = {} ,
name /. code = { \tl_gset:Ne \g__wheelchart_name_tl {#1} } ,
name = wheelchart@name ,
- outer~plot /. code =
+ outer~plot /. style =
{
- \bool_set_true:N \l__wheelchart_plot_bool
- \cs_set:Npn \__wheelchart_outer_plot:nn ##1##2 {#1}
- \tl_set:Nn \l__wheelchart_slices_outer_tl
+ bool_set_true = \l__wheelchart_plot_bool ,
+ / utils / exec = { \cs_set:Npn \__wheelchart_outer_plot:nn ##1##2 {#1} } ,
+ slices~outer =
{
-- plot
[
domain =
- \fp_use:N \l__wheelchart_slice_outer_start_angle_fp
+ \fp_use:c { g__wheelchart_slice_outer_start_angle_\WCcount _fp }
\c_colon_str
- \fp_use:N \l__wheelchart_slice_outer_end_angle_fp ,
- samples = \fp_use:N \l__wheelchart_samples_fp ,
- variable = \l__wheelchart_outer_plot_variable_fp ,
+ \fp_use:c { g__wheelchart_slice_outer_end_angle_\WCcount _fp } ,
+ samples = \fp_use:c { g__wheelchart_samples_\WCcount _fp } ,
+ variable = \l__wheelchart_outer_plot_variable_tl ,
/ wheelchart / outer_plot_style
]
- ( \__wheelchart_outer_plot:nn { \l__wheelchart_outer_plot_variable_fp } { \fp_use:N \l__wheelchart_outer_radius_fp } )
+ (
+ \__wheelchart_outer_plot:nn
+ { \l__wheelchart_outer_plot_variable_tl }
+ { \fp_use:c { g__wheelchart_outer_radius_\WCcount _fp } }
+ )
}
} ,
outer~plot~style /. style = { outer_plot_style /. style = {#1} } ,
outer_plot_style /. style = {} ,
outer~radius /. initial = 3 ,
- parse /. initial = pgfmath ,
perc~precision /. initial = 0 ,
pie /. code = { \bool_set:Nn \l__wheelchart_pie_bool { \cs:w c_#1_bool\cs_end: } } ,
pie /. default = true ,
@@ -1870,42 +1975,74 @@
slices~arc~outer~start~end / true /. value~forbidden ,
slices~arc~outer~start~end /. initial = false ,
slices~arc~outer~start~end /. default = true ,
+ slices~Arrow /. style =
+ {
+ slices~end =
+ {
+ -- ( \WCpoint { 1 } {#1} { 0.5 } { 0 } )
+ -- ( \WCpoint { 1 } { 0 } { 0 } { 0 } )
+ } ,
+ slices~start =
+ {
+ -- ( \WCpoint { 0 } {#1} { 0.5 } { 0 } )
+ -- cycle
+ }
+ } ,
slices~arrow /. style~2~args =
{
slices~start~arrow = { - (#1) } {#2} ,
slices~end~arrow = {#1} {#2}
} ,
- slices~end~arc /. code~2~args =
+ slices~end /. initial = { -- ( g__wheelchart_slice_\WCcount _inner~end_coordinate ) } ,
+ slices~end~arc /. style~2~args =
{
- \tl_set:Nn \l__wheelchart_slices_end_tl
+ slices~end =
{
\__wheelchart_slices_arc:nnnnnn
{#1}
{#2}
{ outer~end }
{ inner~end }
- { -- ( \fp_use:c { l__wheelchart_inner~end_x_fp } , \fp_use:c { l__wheelchart_inner~end_y_fp } ) }
+ { -- ( g__wheelchart_slice_\WCcount _inner~end_coordinate ) }
{}
}
} ,
- slices~end~arrow /. code~2~args =
+ slices~end~arrow /. style~2~args =
{
- \tl_set:Nn \l__wheelchart_slices_end_tl
+ slices~end =
{
\__wheelchart_slices_arrow:nnnnn
{#1}
{#2}
{ outer~end }
{ inner~end }
- { -- ( \fp_use:c { l__wheelchart_inner~end_x_fp } , \fp_use:c { l__wheelchart_inner~end_y_fp } ) }
+ { -- ( g__wheelchart_slice_\WCcount _inner~end_coordinate ) }
}
} ,
- slices~end~to /. code~2~args =
+ slices~end~to /. style~2~args =
{
- \tl_set:Nn \l__wheelchart_slices_end_tl
+ slices~end =
{
\__wheelchart_slices_to:nn {#2} {#1}
- ( \fp_use:c { l__wheelchart_inner~end_x_fp } , \fp_use:c { l__wheelchart_inner~end_y_fp } )
+ ( g__wheelchart_slice_\WCcount _inner~end_coordinate )
+ }
+ } ,
+ slices~inner /. initial =
+ {
+ \fp_compare:nNnT { \cs:w g__wheelchart_inner_radius_\WCcount _fp\cs_end: } > { 0 }
+ {
+ \fp_compare:nNnT
+ { \cs:w g__wheelchart_inner_gap_\WCcount _fp\cs_end: }
+ <
+ { \cs:w g__wheelchart_abs_half_angle_minus_new_angle_\WCcount _fp\cs_end: }
+ {
+ arc
+ [
+ start~angle = \fp_use:c { g__wheelchart_slice_inner_end_angle_\WCcount _fp } ,
+ end~angle = \fp_use:c { g__wheelchart_slice_inner_start_angle_\WCcount _fp } ,
+ radius = \fp_use:c { g__wheelchart_inner_radius_\WCcount _fp }
+ ]
+ }
}
} ,
slices~inner~angle~reduce /. style =
@@ -1918,32 +2055,32 @@
slices~inner~end~angle~shift = {#1} ,
slices~inner~start~angle~shift = {#1}
} ,
- slices~inner~arc /. code~2~args =
+ slices~inner~arc /. style~2~args =
{
- \tl_set:Nn \l__wheelchart_slices_inner_tl
+ slices~inner =
{
\__wheelchart_slices_arc:nnnnnn
{#1}
{#2}
{ inner~end }
{ inner~start }
- { -- ( \fp_use:c { l__wheelchart_inner~start_x_fp } , \fp_use:c { l__wheelchart_inner~start_y_fp } ) }
+ { -- ( g__wheelchart_slice_\WCcount _inner~start_coordinate ) }
{}
}
} ,
slices~inner~arc~tangent /. is~choice ,
slices~inner~arc~tangent / false /. code = {} ,
slices~inner~arc~tangent / false /. value~forbidden ,
- slices~inner~arc~tangent / true /. code =
+ slices~inner~arc~tangent / true /. style =
{
- \tl_set:Nn \l__wheelchart_slices_inner_tl
+ slices~inner =
{
\__wheelchart_slices_arc:nnnnnn
{ \__wheelchart_diff_atan:nnnn { outer~start } { inner~start } { outer~end } { inner~end } }
{ 0 }
{ inner~end }
{ inner~start }
- { -- ( \fp_use:c { l__wheelchart_inner~start_x_fp } , \fp_use:c { l__wheelchart_inner~start_y_fp } ) }
+ { -- ( g__wheelchart_slice_\WCcount _inner~start_coordinate ) }
{
\fp_compare:nNnTF { \l__wheelchart_slices_arc_A_fp } > { 359.99 }
{ \fp_set:Nn \l__wheelchart_slices_arc_A_fp { 1 } }
@@ -1954,28 +2091,37 @@
slices~inner~arc~tangent / true /. value~forbidden ,
slices~inner~arc~tangent /. initial = false ,
slices~inner~arc~tangent /. default = true ,
- slices~inner~arrow /. code~2~args =
+ slices~inner~arrow /. style~2~args =
{
- \tl_set:Nn \l__wheelchart_slices_inner_tl
+ slices~inner =
{
\__wheelchart_slices_arrow:nnnnn
{#1}
{#2}
{ inner~end }
{ inner~start }
- { -- ( \fp_use:c { l__wheelchart_inner~start_x_fp } , \fp_use:c { l__wheelchart_inner~start_y_fp } ) }
+ { -- ( g__wheelchart_slice_\WCcount _inner~start_coordinate ) }
}
} ,
slices~inner~end~angle~shift /. initial = 0 ,
slices~inner~start~angle~shift /. initial = 0 ,
- slices~inner~to /. code~2~args =
+ slices~inner~to /. style~2~args =
{
- \tl_set:Nn \l__wheelchart_slices_inner_tl
+ slices~inner =
{
\__wheelchart_slices_to:nn {#2} {#1}
- ( \fp_use:c { l__wheelchart_inner~start_x_fp } , \fp_use:c { l__wheelchart_inner~start_y_fp } )
+ ( g__wheelchart_slice_\WCcount _inner~start_coordinate )
}
} ,
+ slices~outer /. initial =
+ {
+ arc
+ [
+ start~angle = \fp_use:c { g__wheelchart_slice_outer_start_angle_\WCcount _fp } ,
+ end~angle = \fp_use:c { g__wheelchart_slice_outer_end_angle_\WCcount _fp } ,
+ radius = \fp_use:c { g__wheelchart_outer_radius_\WCcount _fp }
+ ]
+ } ,
slices~outer~angle~reduce /. style =
{
slices~outer~end~angle~shift = { - (#1) } ,
@@ -1986,32 +2132,32 @@
slices~outer~end~angle~shift = {#1} ,
slices~outer~start~angle~shift = {#1}
} ,
- slices~outer~arc /. code~2~args =
+ slices~outer~arc /. style~2~args =
{
- \tl_set:Nn \l__wheelchart_slices_outer_tl
+ slices~outer =
{
\__wheelchart_slices_arc:nnnnnn
{#1}
{#2}
{ outer~start }
{ outer~end }
- { -- ( \fp_use:c { l__wheelchart_outer~end_x_fp } , \fp_use:c { l__wheelchart_outer~end_y_fp } ) }
+ { -- ( g__wheelchart_slice_\WCcount _outer~end_coordinate ) }
{}
}
} ,
slices~outer~arc~tangent /. is~choice ,
slices~outer~arc~tangent / false /. code = {} ,
slices~outer~arc~tangent / false /. value~forbidden ,
- slices~outer~arc~tangent / true /. code =
+ slices~outer~arc~tangent / true /. style =
{
- \tl_set:Nn \l__wheelchart_slices_outer_tl
+ slices~outer =
{
\__wheelchart_slices_arc:nnnnnn
{ \__wheelchart_diff_atan:nnnn { outer~start } { inner~start } { outer~end } { inner~end } }
{ 0 }
{ outer~start }
{ outer~end }
- { -- ( \fp_use:c { l__wheelchart_outer~end_x_fp } , \fp_use:c { l__wheelchart_outer~end_y_fp } ) }
+ { -- ( g__wheelchart_slice_\WCcount _outer~end_coordinate ) }
{
\fp_compare:nNnTF { \l__wheelchart_slices_arc_A_fp } > { 359.99 }
{ \fp_set:Nn \l__wheelchart_slices_arc_A_fp { 1 } }
@@ -2026,35 +2172,36 @@
slices~outer~arc~tangent / true /. value~forbidden ,
slices~outer~arc~tangent /. initial = false ,
slices~outer~arc~tangent /. default = true ,
- slices~outer~arrow /. code~2~args =
+ slices~outer~arrow /. style~2~args =
{
- \tl_set:Nn \l__wheelchart_slices_outer_tl
+ slices~outer =
{
\__wheelchart_slices_arrow:nnnnn
{#1}
{#2}
{ outer~start }
{ outer~end }
- { -- ( \fp_use:c { l__wheelchart_outer~end_x_fp } , \fp_use:c { l__wheelchart_outer~end_y_fp } ) }
+ { -- ( g__wheelchart_slice_\WCcount _outer~end_coordinate ) }
}
} ,
slices~outer~end~angle~shift /. initial = 0 ,
slices~outer~start~angle~shift /. initial = 0 ,
- slices~outer~to /. code~2~args =
+ slices~outer~to /. style~2~args =
{
- \tl_set:Nn \l__wheelchart_slices_outer_tl
+ slices~outer =
{
\__wheelchart_slices_to:nn {#1} {#2}
- ( \fp_use:c { l__wheelchart_outer~end_x_fp } , \fp_use:c { l__wheelchart_outer~end_y_fp } )
+ ( g__wheelchart_slice_\WCcount _outer~end_coordinate )
}
} ,
slices~pos /. initial = 0.5 ,
slices~scope /. style = { slices_scope /. style = {#1} } ,
slices_scope /. style = {} ,
slices~sep /. initial = 0 ,
- slices~start~arc /. code~2~args =
+ slices~start /. initial = { -- cycle } ,
+ slices~start~arc /. style~2~args =
{
- \tl_set:Nn \l__wheelchart_slices_start_tl
+ slices~start =
{
\__wheelchart_slices_arc:nnnnnn
{#1}
@@ -2065,9 +2212,9 @@
{}
}
} ,
- slices~start~arrow/.code~2~args =
+ slices~start~arrow/.style~2~args =
{
- \tl_set:Nn \l__wheelchart_slices_start_tl
+ slices~start =
{
\__wheelchart_slices_arrow:nnnnn
{#1}
@@ -2077,7 +2224,7 @@
{ -- cycle }
}
} ,
- slices~start~to /. code~2~args = { \tl_set:Nn \l__wheelchart_slices_start_tl { \__wheelchart_slices_to:nn {#1} {#2} cycle } } ,
+ slices~start~to /. style~2~args = { slices~start = { \__wheelchart_slices_to:nn {#1} {#2} cycle } } ,
slices~style /. style = { slices_style /. style = {#1} } ,
slices_style /. style = {} ,
slices~style = { \WCvarB } ,
@@ -2094,7 +2241,7 @@
(#1) -
\fp_eval:n
{
- \l__wheelchart_counter_or_clockwise_fp * \fp_use:c { l__wheelchart_value_1_fp } * 0.5
+ \l__wheelchart_counter_or_clockwise_fp * \cs:w g__wheelchart_value_1_fp\cs_end: * 0.5
* ( \l__wheelchart_total_angle_fp / \WCtotalnum )
}
}
@@ -2112,7 +2259,8 @@
total~count /. code =
{
\tl_set:Nn \l__wheelchart_type_tl { totalcount }
- \__wheelchart_def_macro:Nn \l__wheelchart_total_count_fp {#1}
+ \pgfmathparse {#1}
+ \fp_set:Nn \l__wheelchart_total_count_fp { \pgfmathresult }
} ,
triangle~proportional~area /. style~2~args =
{
@@ -2134,7 +2282,7 @@
WC_list /. code~2~args =
{
\cs_set:cpn {#1}
- { \use:e { \clist_item:nn {#2} { \int_mod:nn { \WCcount-1 } { \clist_count:n {#2} } + 1 } } }
+ { \use:e { \clist_item:nn {#2} { \int_mod:nn { \WCcount - 1 } { \clist_count:n {#2} } + 1 } } }
%note the \use:e such that \WClist<name> also works when given as an argument to pgfmath
%if the list contains a macro, for example
%\begin{tikzpicture}
@@ -2199,14 +2347,15 @@
}
{
\clist_gclear:N \g__wheelchart_slice_range_for_loop_clist
- \foreach \l__wheelchart_slice_range_index_int [ parse = true ] in \l__wheelchart_key_range_tl
+ \foreach \l__wheelchart_slice_range_index_tl [ parse = true ] in \l__wheelchart_key_range_tl
{
\clist_gput_right:Ne \g__wheelchart_slice_range_for_loop_clist
- { \fp_eval:n { \l__wheelchart_slice_range_index_int } }
+ { \fp_eval:n { \l__wheelchart_slice_range_index_tl } }
}
\clist_map_inline:Nn \g__wheelchart_slice_range_for_loop_clist
{
- \clist_put_right:Nn \l__wheelchart_slice_range_local_clist {##1}
+ \clist_if_in:NnF \l__wheelchart_slice_range_local_clist {##1}
+ { \clist_put_right:Nn \l__wheelchart_slice_range_local_clist {##1} }
\clist_if_exist:cF { l__wheelchart_slice_##1_keys_clist }
{ \clist_new:c { l__wheelchart_slice_##1_keys_clist } }
\str_if_eq:eeTF { \l__wheelchart_key_name_tl } { slice }
@@ -2226,13 +2375,27 @@
}
}%this gives an error message if a key of the form <unknown key for wheelchart>{<range>} is given
+%%> \subsection{Additional commands}
+
+\NewExpandableDocumentCommand \WCangle { O { \WCcount } m m m m }
+ { \__wheelchart_def_angle_plot_false:nnnnn { \__wheelchart_mod:n {#1} } {#2} {#3} {#4} {#5} }
+
+\NewExpandableDocumentCommand \WCcoordinate { O { \WCcount } m }
+ { g__wheelchart_slice_\__wheelchart_mod:n {#1}_#2_coordinate }
+
+\NewExpandableDocumentCommand \WCpoint { O { \WCcount } m m m m }
+ { \WCangle [#1] {#2} {#3} {#4} {#5} \c_colon_str \WCradius [#1] {#4} {#5} }
+
+\NewExpandableDocumentCommand \WCradius { O { \WCcount } m m }
+ { \__wheelchart_def_radius:nnn { \__wheelchart_mod:n {#1} } {#2} {#3} }
+
%%> \subsection{The command \textbackslash wheelchart}
-\NewDocumentCommand { \wheelchart } { O{} m }
+\NewDocumentCommand \wheelchart { O {} m }
{
- {%note the double {{...}} such that the contents is in a group and such that & can be used in pgfmath in a tabular
+ {%note the double braces {{...}} such that the contents is in a group and such that & can be used in pgfmath in a tabular
\pgfkeys { / wheelchart , #1 }
- \@ifpackageloaded { siunitx }
+ \IfPackageLoadedTF { siunitx }
{ \cs_set:Npn \WCperc { \qty { \WCpercentagerounded } { \percent } } }
{ \cs_set:Npn \WCperc { \WCpercentagerounded \, \% } }%the definition of \WCperc is placed inside the command \wheelchart
%such that \WCperc is not defined outside this command
@@ -2245,63 +2408,175 @@
}
{
\fp_set:Nn \l__wheelchart_coord_determinant_fp { \pgf@yy * \pgf@xx - \pgf@yx * \pgf@xy }
- \begin { scope } [ shift /. expanded = { \pgfkeysvalueof { / wheelchart / at } } ]
- \begin { scope } [ local~bounding~box /. expanded = \g__wheelchart_name_tl ]
- \__wheelchart_def_macros:n { total~angle }
- \__wheelchart_initial:n {#2}
- \__wheelchart_def_macros:n { start~angle }
- \bool_if:NF \l__wheelchart_plot_bool
+ \__wheelchart_def_fp:nn { total_angle } { total~angle }
+ \__wheelchart_initial:n {#2}
+ \tl_gset:Ne \g__wheelchart_totalcount_tl { \WCtotalcount }%\WCtotalcount is local and \g__wheelchart_totalcount_tl is global
+ %because it is used in commands such as \WCangle thus must be available after the command \wheelchart
+ \__wheelchart_def_fp:nn { start_angle } { start~angle }
+ \fp_gset_eq:NN \g__wheelchart_angle_fp \l__wheelchart_start_angle_fp
+ \__wheelchart_for_loop_initial:n
+ {
+ \__wheelchart_def_slice_keys:n
{
- \bool_set_false:N \l__wheelchart_def_inner_contour_bool
- \bool_if:NTF \l__wheelchart_contour_bool
+ \cs_set_eq:Nc \WCpercentage { l__wheelchart_WCpercentage_\WCcount }
+ \cs_set_eq:Nc \WCpercentagerounded { l__wheelchart_WCpercentagerounded_\WCcount }
+ \fp_compare:nNnTF { \WCcount } = { \WCtotalcount }
{
- \bool_set_true:N \l__wheelchart_def_inner_contour_bool
- \tl_build_gbegin:N \g__wheelchart_outer_contour_tl
- \__wheelchart_for_loop:n
- {
- \tl_build_gput_left:Ne \g__wheelchart_outer_contour_tl
- {
- ( \fp_use:N \g__wheelchart_new_angle_fp \c_colon_str \fp_use:N \l__wheelchart_outer_radius_fp )
- arc
- [
- start~angle = \fp_use:N \g__wheelchart_new_angle_fp ,
- end~angle = \fp_use:N \g__wheelchart_angle_fp ,
- radius = \fp_use:N \l__wheelchart_outer_radius_fp
- ]
- --
- }
- }
- \tl_build_gend:N \g__wheelchart_outer_contour_tl
+ \fp_gset:Nn \g__wheelchart_new_angle_fp
+ { \l__wheelchart_start_angle_fp + \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_total_angle_fp }
}
{
- \bool_if:NT \l__wheelchart_middle_fill_bool
- { \bool_set_true:N \l__wheelchart_def_inner_contour_bool }
+ \fp_gset:Nn \g__wheelchart_new_angle_fp
+ {
+ \g__wheelchart_angle_fp +
+ (
+ \l__wheelchart_counter_or_clockwise_fp * \cs:w g__wheelchart_value_\WCcount _fp\cs_end:
+ * ( \l__wheelchart_total_angle_fp / \WCtotalnum )
+ )
+ }
}
- \bool_if:NT \l__wheelchart_def_inner_contour_bool
+ \__wheelchart_gdef_count_fp:nn { data_angle_pos } { data~angle~pos }
+ \__wheelchart_def_fp:nn { gap } { gap }
+ \__wheelchart_def_fp:nn { gap_max_angle } { gap~max~angle }
+ \__wheelchart_def_fp:nn { gap_polar } { gap~polar }
+ \__wheelchart_def_fp:nn { gap_radius } { gap~radius }
+ \__wheelchart_gdef_count_fp:nn { samples } { samples }
+ \__wheelchart_def_fp:nn { slices_inner_start_angle_shift } { slices~inner~start~angle~shift }
+ \__wheelchart_def_fp:nn { slices_inner_end_angle_shift } { slices~inner~end~angle~shift }
+ \__wheelchart_def_fp:nn { slices_outer_end_angle_shift } { slices~outer~end~angle~shift }
+ \__wheelchart_def_fp:nn { slices_outer_start_angle_shift } { slices~outer~start~angle~shift }
+ \__wheelchart_def_outer_radius:
+ \__wheelchart_def_inner_radius:
+ \fp_gzero_new:c { g__wheelchart_inner_radius_\WCcount _fp }
+ \fp_gset_eq:cN { g__wheelchart_inner_radius_\WCcount _fp } \l__wheelchart_inner_radius_fp
+ \fp_gzero_new:c { g__wheelchart_outer_radius_\WCcount _fp }
+ \fp_gset_eq:cN { g__wheelchart_outer_radius_\WCcount _fp } \l__wheelchart_outer_radius_fp
+ \fp_gzero_new:c { g__wheelchart_abs_half_angle_minus_new_angle_\WCcount _fp }
+ \fp_gset:cn { g__wheelchart_abs_half_angle_minus_new_angle_\WCcount _fp }
+ { abs ( \g__wheelchart_angle_fp - \g__wheelchart_new_angle_fp ) / 2 }
+ \fp_set:Nn \l__wheelchart_abs_half_angle_minus_new_angle_minus_gap_polar_fp
+ { \cs:w g__wheelchart_abs_half_angle_minus_new_angle_\WCcount _fp\cs_end: - \l__wheelchart_gap_polar_fp }
+ \fp_gzero_new:c { g__wheelchart_outer_gap_\WCcount _fp }
+ \fp_gzero_new:c { g__wheelchart_inner_gap_\WCcount _fp }
+ \bool_if:NTF \l__wheelchart_plot_bool
{
- \tl_build_gbegin:N \g__wheelchart_inner_contour_tl
- \__wheelchart_for_loop:n
- {
- \tl_build_gput_right:Ne \g__wheelchart_inner_contour_tl
- {
- ( \fp_use:N \g__wheelchart_angle_fp \c_colon_str \fp_use:N \l__wheelchart_inner_radius_fp )
- arc
- [
- start~angle = \fp_use:N \g__wheelchart_angle_fp ,
- end~angle = \fp_use:N \g__wheelchart_new_angle_fp ,
- radius = \fp_use:N \l__wheelchart_inner_radius_fp
- ]
- --
- }
- }
- \tl_build_gend:N \g__wheelchart_inner_contour_tl
+ \fp_gset_eq:cN { g__wheelchart_outer_gap_\WCcount _fp } \l__wheelchart_gap_polar_fp
+ \fp_gset_eq:cN { g__wheelchart_inner_gap_\WCcount _fp } \l__wheelchart_gap_polar_fp
}
- \bool_if:NT \l__wheelchart_middle_fill_bool
{
+ \fp_set:Nn \l__wheelchart_gap_max_angle_def_fp
+ {
+ \cs:w g__wheelchart_inner_radius_\WCcount _fp\cs_end: > 0
+ ?
+ 90
+ :
+ (
+ sind ( \l__wheelchart_abs_half_angle_minus_new_angle_minus_gap_polar_fp ) < 0.001
+ ?
+ (
+ 90 < \l__wheelchart_gap_max_angle_fp && \l__wheelchart_gap_max_angle_fp < 180
+ ?
+ \l__wheelchart_gap_max_angle_fp
+ :
+ 90
+ )
+ :
+ (
+ \l__wheelchart_gap_max_angle_fp < 90 || \l__wheelchart_gap_max_angle_fp > 180
+ ?
+ 180
+ :
+ \l__wheelchart_gap_max_angle_fp
+ )
+ )
+ }
+ \__wheelchart_def_gap:nn { outer } { \cs:w g__wheelchart_outer_radius_\WCcount _fp\cs_end: }
+ \__wheelchart_def_gap:nn { inner } { \cs:w g__wheelchart_inner_radius_\WCcount _fp\cs_end: }
+ \fp_compare:nNnT { \l__wheelchart_abs_half_angle_minus_new_angle_minus_gap_polar_fp } > { 0.01 }
+ {
+ \fp_gset:cn { g__wheelchart_inner_radius_\WCcount _fp }
+ {
+ max
+ (
+ \l__wheelchart_gap_fp
+ / sind
+ (
+ min
+ (
+ \l__wheelchart_abs_half_angle_minus_new_angle_minus_gap_polar_fp ,
+ \l__wheelchart_gap_max_angle_def_fp
+ )
+ )
+ ,
+ \cs:w g__wheelchart_inner_radius_\WCcount _fp\cs_end:
+ )
+ }
+ }
+ }
+ \__wheelchart_def_slice_angle:nnnn { inner } { end } { new_ } { -1 }
+ \__wheelchart_def_slice_angle:nnnn { inner } { start } {} { 1 }
+ \__wheelchart_def_slice_angle:nnnn { outer } { end } { new_ } { -1 }
+ \__wheelchart_def_slice_angle:nnnn { outer } { start } {} { 1 }
+ \__wheelchart_def_angle:nnnn { 0.5 } { 0 } { 0.5 } { 0 }
+ \cs_set:Npe \WCmidangle { \pgfmathresult }
+ \__wheelchart_gdef_count_fp:nn { data_angle_shift } { data~angle~shift }
+ \__wheelchart_gdef_count_fp:nn { data_pos } { data~pos }
+ \__wheelchart_gdef_count_fp:nn { data_sep } { data~sep }
+ \__wheelchart_def_angle:nnnn
+ { \cs:w g__wheelchart_data_angle_pos_\WCcount _fp\cs_end: }
+ { \cs:w g__wheelchart_data_angle_shift_\WCcount _fp\cs_end: }
+ { \cs:w g__wheelchart_data_pos_\WCcount _fp\cs_end: }
+ { \cs:w g__wheelchart_data_sep_\WCcount _fp\cs_end: }
+ \cs_set:Npe \WCdataangle { \pgfmathresult }
+ \__wheelchart_gdef_count_fp:nn { explode } { explode }
+ \pgfkeysvalueof { / wheelchart / for~loop~start }%this must be placed after the definition of macros such as
+ %\WCpercentage such that these macros can be used in the key for loop start
+ \int_compare:nNnT { \WCcount } = { 1 }
+ {
+ \begin { scope }
+ [
+ shift = { ( \WCmidangle \c_colon_str \fp_use:c { g__wheelchart_explode_\WCcount _fp } ) } ,
+ / wheelchart / slices_scope
+ ]
+ \__wheelchart_def_orientation:
+ \end { scope }
+ }
+ \fp_gzero_new:c { g__wheelchart_WCdataangle_\WCcount _fp }
+ \fp_gset:cn { g__wheelchart_WCdataangle_\WCcount _fp } { \WCdataangle }
+ \fp_gzero_new:c { g__wheelchart_WCmidangle_\WCcount _fp }
+ \fp_gset:cn { g__wheelchart_WCmidangle_\WCcount _fp } { \WCmidangle }
+ \fp_gset_eq:NN \g__wheelchart_angle_fp \g__wheelchart_new_angle_fp
+ \pgfkeysvalueof { / wheelchart / for~loop~end }
+ }
+ }
+ \begin { scope } [ shift /. expanded = { \pgfkeysvalueof { / wheelchart / at } } ]
+ \begin { scope } [ local~bounding~box /. expanded = \g__wheelchart_name_tl ]
+ \bool_if:NT \l__wheelchart_middle_fill_bool
+ {
+ \bool_if:NF \l__wheelchart_plot_bool
+ {
+ \__wheelchart_def_inner_radius:
\fill [ / wheelchart / middle_fill ]
- \fp_compare:nNnF { \l__wheelchart_total_angle_fp } = { 360 }
- { ( 0 , 0 ) -- }
- \g__wheelchart_inner_contour_tl cycle ;
+ \fp_compare:nNnTF { \l__wheelchart_total_angle_fp } = { 360 }
+ { ( 0 , 0 ) circle [ radius = \fp_use:N \l__wheelchart_inner_radius_fp ] }
+ {
+ ( 0 , 0 )
+ -- ( \fp_use:N \l__wheelchart_start_angle_fp \c_colon_str \fp_use:N \l__wheelchart_inner_radius_fp )
+ arc
+ [
+ start~angle = \fp_use:N \l__wheelchart_start_angle_fp ,
+ end~angle =
+ \fp_eval:n
+ {
+ \l__wheelchart_start_angle_fp
+ + \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_total_angle_fp
+ }
+ ,
+ radius = \fp_use:N \l__wheelchart_inner_radius_fp
+ ]
+ -- cycle
+ }
+ ;
}
}
\bool_if:NTF \l__wheelchart_discrete_bool
@@ -2309,116 +2584,53 @@
{
\__wheelchart_for_loop:n
{
- \int_compare:nNnT { \WCcount } = { 1 }
- {
- %determine the orientation, this is necessary even if no plot is used, for example if
- %inner radius > outer radius then \g__wheelchart_slices_orientation_fp is different from
- %\l__wheelchart_counter_or_clockwise_fp
- \fp_set:Nn \l__wheelchart_slices_orientation_new_angle_fp
- {
- \g__wheelchart_angle_fp +
- (
- \g__wheelchart_new_angle_fp == \g__wheelchart_angle_fp
- ?
- \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_total_angle_fp
- :
- \g__wheelchart_new_angle_fp - \g__wheelchart_angle_fp
- )
- / \l__wheelchart_samples_fp
- }
- \path let
- \p { l__wheelchart_slices_orientation_1 } =
- (
- \__wheelchart_outer_plot:nn
- { \fp_use:N \g__wheelchart_angle_fp }
- { \fp_use:N \l__wheelchart_outer_radius_fp }
- ) ,
- \p { l__wheelchart_slices_orientation_2 } =
- (
- \__wheelchart_outer_plot:nn
- { \fp_use:N \l__wheelchart_slices_orientation_new_angle_fp }
- { \fp_use:N \l__wheelchart_outer_radius_fp }
- ) ,
- \p { l__wheelchart_slices_orientation_3 } =
- (
- \__wheelchart_inner_plot:nn
- { \fp_use:N \l__wheelchart_slices_orientation_new_angle_fp }
- { \fp_use:N \l__wheelchart_inner_radius_fp }
- ) ,
- \p { l__wheelchart_slices_orientation_4 } =
- (
- \__wheelchart_inner_plot:nn
- { \fp_use:N \g__wheelchart_angle_fp }
- { \fp_use:N \l__wheelchart_inner_radius_fp }
- )
- in
- [
- / utils / exec =
- {
- \fp_gset:Nn \g__wheelchart_slices_orientation_fp
- {
- sign
- (
- 0.1 * \y { l__wheelchart_slices_orientation_1 }
- * ( \x { l__wheelchart_slices_orientation_4 } - \x { l__wheelchart_slices_orientation_2 } )
- + 0.1 * \y { l__wheelchart_slices_orientation_2 }
- * ( \x { l__wheelchart_slices_orientation_1 } - \x { l__wheelchart_slices_orientation_3 } )
- + 0.1 * \y { l__wheelchart_slices_orientation_3 }
- * ( \x { l__wheelchart_slices_orientation_2 } - \x { l__wheelchart_slices_orientation_4 } )
- + 0.1 * \y { l__wheelchart_slices_orientation_4 }
- * ( \x { l__wheelchart_slices_orientation_3 } - \x { l__wheelchart_slices_orientation_1 } )
- )
- * sign ( \l__wheelchart_coord_determinant_fp )
- }
- }
- ]
- ;%the terms are multiplied with 0.1 to try to avoid an overflow
- \fp_compare:nNnT { \g__wheelchart_slices_orientation_fp } = { 0 }
- { \fp_gset_eq:NN \g__wheelchart_slices_orientation_fp \l__wheelchart_counter_or_clockwise_fp }
- }
\pgfkeysvalueof { / wheelchart / before~slices }
\bool_if:NTF \l__wheelchart_slices_bool
{
- \__wheelchart_def_macros:n { slices~angle~pos , slices~angle~shift , slices~pos , slices~sep }
- \__wheelchart_def_angle:nnnN
+ \__wheelchart_def_fp:nn { slices_angle_pos } { slices~angle~pos }
+ \__wheelchart_def_fp:nn { slices_angle_shift } { slices~angle~shift }
+ \__wheelchart_def_fp:nn { slices_pos } { slices~pos }
+ \__wheelchart_def_fp:nn { slices_sep } { slices~sep }
+ \__wheelchart_def_angle:nnnn
{ \l__wheelchart_slices_angle_pos_fp }
{ \l__wheelchart_slices_angle_shift_fp }
+ { \l__wheelchart_slices_pos_fp }
{ \l__wheelchart_slices_sep_fp }
- \l__wheelchart_slices_angle_fp
+ \fp_set:Nn \l__wheelchart_slices_angle_fp { \pgfmathresult }
\begin { scope }
[
shift /. expanded =
{
- \__wheelchart_convex_comb_coord:nnnn
+ \cs:w __wheelchart_point_plot_\bool_to_str:N \l__wheelchart_plot_bool :nnnnn\cs_end:
+ { \WCcount }
{ \l__wheelchart_slices_angle_pos_fp }
{ \l__wheelchart_slices_angle_shift_fp }
{ \l__wheelchart_slices_pos_fp }
{ \l__wheelchart_slices_sep_fp }
} ,
- rotate = \l__wheelchart_slices_angle_fp
+ rotate = \fp_use:N \l__wheelchart_slices_angle_fp
]
\fill [ / wheelchart / slices_style ] \l__wheelchart_slices_tl
\end { scope }
}
{
- %Below we define x and y coordinates of the 4 points of the slice.
%We do not use the let operation in the path \fill[/wheelchart/slices_style] ... because then
%\n, \p, \x and \y can not be used as macro names inside the argument of a key which is applied
%on this path such as the key slices inner arc.
- %First it is necessary to define \g__wheelchart_x_coord_fp and \g__wheelchart_y_coord_fp globally. Then we
- %define local macros taking these values with an expanded definition. These are defined locally such that
- %these macros do not interfere with values of another wheelchart, for example if wheelcharts would be nested.
- %We do not use a \coordinate definition because this would be global which is not suited as explained above.
- \__wheelchart_def_coord:nn { inner } { end }
- \__wheelchart_def_coord:nn { inner } { start }
- \__wheelchart_def_coord:nn { outer } { end }
- \__wheelchart_def_coord:nn { outer } { start }
+ \__wheelchart_def_coord:nnnn { inner~end } { inner } { end }
+ { \fp_use:c { g__wheelchart_slice_inner_end_angle_\WCcount _fp } }
+ \__wheelchart_def_coord:nnnn { inner~start } { inner } { start }
+ { \fp_use:c { g__wheelchart_slice_inner_start_angle_\WCcount _fp } }
+ \__wheelchart_def_coord:nnnn { outer~end } { outer } { end }
+ { \fp_use:c { g__wheelchart_slice_outer_end_angle_\WCcount _fp } }
+ \__wheelchart_def_coord:nnnn { outer~start } { outer } { start }
+ { \fp_use:c { g__wheelchart_slice_outer_start_angle_\WCcount _fp } }
\fill [ / wheelchart / slices_style ]
- ( \fp_use:c { l__wheelchart_outer~start_x_fp } , \fp_use:c { l__wheelchart_outer~start_y_fp } )
- \l__wheelchart_slices_outer_tl
- \l__wheelchart_slices_end_tl
- \l__wheelchart_slices_inner_tl
- \l__wheelchart_slices_start_tl
+ ( g__wheelchart_slice_\WCcount _outer~start_coordinate )
+ \pgfkeysvalueof { / wheelchart / slices~outer }
+ \pgfkeysvalueof { / wheelchart / slices~end }
+ \pgfkeysvalueof { / wheelchart / slices~inner }
+ \pgfkeysvalueof { / wheelchart / slices~start }
;
}
\pgfkeysvalueof { / wheelchart / after~slices }
@@ -2429,53 +2641,110 @@
\bool_if:NT \l__wheelchart_wheel_lines_bool
%this is placed inside \__wheelchart_for_loop:n such that wheel lines can be applied for specific slices
{
- \int_step_inline:nnn { 0 } { \fp_eval:n { round ( \l__wheelchart_value_fp ) } }
+ \int_step_inline:nnn { 0 } { \fp_eval:n { round ( \cs:w g__wheelchart_value_\WCcount _fp\cs_end: ) } }
%note the \fp_eval:n { round ( ... ) } to avoid the messages Missing character: There is no ... in font nullfont!
{
- \fp_set:Nn \l__wheelchart_angle_wheel_lines_fp
+ \bool_if:NTF \l__wheelchart_plot_bool
{
- \g__wheelchart_angle_fp
- + ( \l__wheelchart_counter_or_clockwise_fp * (####1) * ( \l__wheelchart_total_angle_fp / \WCtotalnum ) )
+ \draw [ / wheelchart / wheel_lines ]
+ (
+ \__wheelchart_inner_plot:nn
+ { \__wheelchart_wheel_lines_aux:nn {####1} { inner } }
+ { \fp_use:c { g__wheelchart_inner_radius_\WCcount _fp } }
+ )
+ --
+ (
+ \__wheelchart_outer_plot:nn
+ { \__wheelchart_wheel_lines_aux:nn {####1} { outer } }
+ { \fp_use:c { g__wheelchart_outer_radius_\WCcount _fp } }
+ )
+ ;
+ }
+ {
+ \draw [ / wheelchart / wheel_lines ]
+ (
+ \__wheelchart_wheel_lines_aux:nn {####1} { inner }
+ \c_colon_str
+ \fp_use:c { g__wheelchart_inner_radius_\WCcount _fp }
+ )
+ --
+ (
+ \__wheelchart_wheel_lines_aux:nn {####1} { outer }
+ \c_colon_str
+ \fp_use:c { g__wheelchart_outer_radius_\WCcount _fp }
+ )
+ ;
}
- \draw [ / wheelchart / wheel_lines ]
- (
- \__wheelchart_inner_plot:nn
- { \fp_use:N \l__wheelchart_angle_wheel_lines_fp }
- { \fp_use:N \l__wheelchart_inner_radius_fp }
- )
- --
- (
- \__wheelchart_outer_plot:nn
- { \fp_use:N \l__wheelchart_angle_wheel_lines_fp }
- { \fp_use:N \l__wheelchart_outer_radius_fp }
- )
- ;
}
}
}
- \bool_if:NF \l__wheelchart_plot_bool
+ \bool_if:NT \l__wheelchart_contour_bool
{
- \bool_if:NT \l__wheelchart_contour_bool
+ \bool_if:NF \l__wheelchart_plot_bool
{
+ \__wheelchart_def_outer_radius:
+ \__wheelchart_def_inner_radius:
\fp_compare:nNnTF { \l__wheelchart_total_angle_fp } = { 360 }
{
- \draw [ / wheelchart / contour_style ] \g__wheelchart_inner_contour_tl cycle ;
- \draw [ / wheelchart / contour_style ] \g__wheelchart_outer_contour_tl cycle ;
+ \draw [ / wheelchart / contour_style ]
+ ( 0 , 0 ) circle [ radius = \fp_use:N \l__wheelchart_inner_radius_fp ] ;
+ \draw [ / wheelchart / contour_style ]
+ ( 0 , 0 ) circle [ radius = \fp_use:N \l__wheelchart_outer_radius_fp ] ;
}
{
- \draw [ / wheelchart / contour_style ] \g__wheelchart_inner_contour_tl \g__wheelchart_outer_contour_tl cycle ;
+ \draw [ / wheelchart / contour_style ]
+ ( \fp_use:N \l__wheelchart_start_angle_fp \c_colon_str \fp_use:N \l__wheelchart_inner_radius_fp )
+ arc
+ [
+ start~angle = \fp_use:N \l__wheelchart_start_angle_fp ,
+ end~angle =
+ \fp_eval:n
+ {
+ \l__wheelchart_start_angle_fp
+ + \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_total_angle_fp
+ }
+ ,
+ radius = \fp_use:N \l__wheelchart_inner_radius_fp
+ ]
+ --
+ (
+ \fp_eval:n
+ {
+ \l__wheelchart_start_angle_fp
+ + \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_total_angle_fp
+ }
+ \c_colon_str
+ \fp_use:N \l__wheelchart_outer_radius_fp
+ )
+ arc
+ [
+ start~angle =
+ \fp_eval:n
+ {
+ \l__wheelchart_start_angle_fp
+ + \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_total_angle_fp
+ }
+ ,
+ end~angle = \fp_use:N \l__wheelchart_start_angle_fp ,
+ radius = \fp_use:N \l__wheelchart_outer_radius_fp
+ ]
+ -- cycle ;
}
}
}
\__wheelchart_for_loop:n
{
- \__wheelchart_def_macros:n
- { data~pos , lines , lines~angle~pos , lines~angle~shift , lines~ext , lines~pos , lines~sep }
+ \__wheelchart_def_fp:nn { lines } { lines }
+ \__wheelchart_def_fp:nn { lines_angle_pos } { lines~angle~pos }
+ \__wheelchart_def_fp:nn { lines_angle_shift } { lines~angle~shift }
+ \__wheelchart_def_fp:nn { lines_ext } { lines~ext }
+ \__wheelchart_def_fp:nn { lines_pos } { lines~pos }
+ \__wheelchart_def_fp:nn { lines_sep } { lines~sep }
\fp_compare:nNnF { \l__wheelchart_lines_ext_fp } = { 0 }
{
\bool_if:NF \l__wheelchart_lines_ext_dir_bool
{
- \__wheelchart_def_macros:n { lines~ext~dirsep }
+ \__wheelchart_def_fp:nn { lines_ext_dirsep } { lines~ext~dirsep }
\int_set:Nn \l__wheelchart_lines_ext_dir_int
{
\fp_eval:n
@@ -2508,18 +2777,21 @@
}
}
}
- \__wheelchart_def_macros:n { lines~ext~fixed~left , lines~ext~fixed~right }
+ \__wheelchart_def_fp:nn { lines_ext_fixed_left } { lines~ext~fixed~left }
+ \__wheelchart_def_fp:nn { lines_ext_fixed_right } { lines~ext~fixed~right }
}
\fp_compare:nF { \l__wheelchart_lines_fp == 0 && \l__wheelchart_lines_ext_fp == 0 }
{
\draw [ / wheelchart / lines_style ] let \p { l__wheelchart_lines_1 } =
- \__wheelchart_convex_comb_coord:nnnn
- { \l__wheelchart_data_angle_pos_fp }
- { \l__wheelchart_data_angle_shift_fp }
- { \l__wheelchart_data_pos_fp }
+ \cs:w __wheelchart_point_plot_\bool_to_str:N \l__wheelchart_plot_bool :nnnnn\cs_end:
+ { \WCcount }
+ { \cs:w g__wheelchart_data_angle_pos_\WCcount _fp\cs_end: }
+ { \cs:w g__wheelchart_data_angle_shift_\WCcount _fp\cs_end: }
+ { \cs:w g__wheelchart_data_pos_\WCcount _fp\cs_end: }
{ \l__wheelchart_lines_sep_fp + \l__wheelchart_lines_fp }
in
- \__wheelchart_convex_comb_coord:nnnn
+ \cs:w __wheelchart_point_plot_\bool_to_str:N \l__wheelchart_plot_bool :nnnnn\cs_end:
+ { \WCcount }
{ \l__wheelchart_lines_angle_pos_fp }
{ \l__wheelchart_lines_angle_shift_fp }
{ \l__wheelchart_lines_pos_fp }
@@ -2559,7 +2831,20 @@
}
}
coordinate
- [ shift = { ( { \fp_eval:n { \l__wheelchart_lines_ext_dir_int * \l__wheelchart_data_sep_fp } } , 0 ) } ]
+ [
+ shift =
+ {
+ (
+ {
+ \fp_eval:n
+ {
+ \l__wheelchart_lines_ext_dir_int * \cs:w g__wheelchart_data_sep_\WCcount _fp\cs_end:
+ }
+ } ,
+ 0
+ )
+ }
+ ]
( g__wheelchart_data_coordinate )
}
;
@@ -2568,7 +2853,8 @@
{
\fp_compare:nNnTF { \l__wheelchart_lines_ext_fp } = { 0 }
{
- \__wheelchart_def_macros:n { anchor~xsep , anchor~ysep }
+ \__wheelchart_def_fp:nn { anchor_xsep } { anchor~xsep }
+ \__wheelchart_def_fp:nn { anchor_ysep } { anchor~ysep }
\pgfmathparse
{
( \WCdataangle == 0 ? "west" \c_colon_str
@@ -2590,12 +2876,13 @@
\coordinate
[
at =
- \__wheelchart_convex_comb_coord:nnnn
- { \l__wheelchart_data_angle_pos_fp }
- { \l__wheelchart_data_angle_shift_fp }
- { \l__wheelchart_data_pos_fp }
+ \cs:w __wheelchart_point_plot_\bool_to_str:N \l__wheelchart_plot_bool :nnnnn\cs_end:
+ { \WCcount }
+ { \cs:w g__wheelchart_data_angle_pos_\WCcount _fp\cs_end: }
+ { \cs:w g__wheelchart_data_angle_shift_\WCcount _fp\cs_end: }
+ { \cs:w g__wheelchart_data_pos_\WCcount _fp\cs_end: }
{
- \l__wheelchart_data_sep_fp +
+ \cs:w g__wheelchart_data_sep_\WCcount _fp\cs_end: +
(
\l__wheelchart_lines_fp == 0
?
@@ -2617,106 +2904,273 @@
{ \pgfkeysvalueof { / wheelchart / data } } ;%a separate \node and not at the end of the \draw with lines_style
%such that the key lines style is not passed to this \node
}
- \__wheelchart_def_macros:n { arc~data~angle~pos , arc~data~dir }%these are needed for arc data and arc
+ \__wheelchart_def_fp:nn { arc_around_line } { arc~around~line }
+ \__wheelchart_def_fp:nn { arc_data_angle_pos } { arc~data~angle~pos }
+ \__wheelchart_def_fp:nn { arc_data_angle_shift } { arc~data~angle~shift }
+ \__wheelchart_def_fp:nn { arc_data_dir } { arc~data~dir }
+ %these are needed for arc data and arc
\pgfinterruptpicture%
\fp_gset:Nn \g__wheelchart_half_ex_over_one_cm_fp { 0.5 ex / 1 cm }%
\endpgfinterruptpicture%
- \fp_gset:Nn \g__wheelchart_arc_data_factor_fp { 0 }
+ \fp_gset:Nn \g__wheelchart_arc_data_aux_ii_fp { 0 }
\__wheelchart_if_text:nn { arc~data }
{
- \__wheelchart_def_macros:n { arc~data~angle~shift , arc~data~pos , arc~data~sep }
- \hbox_set:Nn \l__wheelchart_arc_data_box
- { \pgfinterruptpicture { \pgfkeysvalueof { / wheelchart / arc~data } } \endpgfinterruptpicture }
- \fp_gset:Nn \g__wheelchart_arc_data_slice_length_fp { 1 }%this is necessary if the value is 0
- \__wheelchart_convex_comb_coord_plot:nnnnnnn
+ \cs_set:Npn \WCperc { \WCpercentagerounded { \, } { \% } }%such that \WCperc follows the arc if used in arc data
+ %this redefinition of \WCperc is local to the group of arc data
+ \__wheelchart_def_fp:nn { arc_data_pos } { arc~data~pos }
+ \__wheelchart_def_fp:nn { arc_data_sep } { arc~data~sep }
+ \__wheelchart_def_fp:nn { arc_data_line_sep_factor } { arc~data~line~sep~factor }
+ \cs:w seq_set_split:Nn\pgfkeysvalueof { / wheelchart / arc~data~expand }\cs_end:
+ \l__wheelchart_arc_data_seq
+ { \\ }
+ { \pgfkeysvalueof { / wheelchart / arc~data } }
+ \seq_map_indexed_inline:Nn \l__wheelchart_arc_data_seq
{
- overlay ,
- decorate ,
- decoration =
+ \fp_set:Nn \l__wheelchart_arc_data_text_pos_fp
{
- text~along~path ,
- text = { {} { \fp_gset:Nn \g__wheelchart_arc_data_slice_length_fp { \pgfdecoratedpathlength } } } ,
- raise = -0.5 ex ,
- text~align = \l__wheelchart_arc_data_align_tl ,
- / wheelchart / arc_data_style
+ \l__wheelchart_arc_data_pos_fp + 2 * \g__wheelchart_slices_orientation_fp
+ * ( 2 * ####1 - \seq_count:N \l__wheelchart_arc_data_seq - 1 ) * sign ( \l__wheelchart_arc_data_dir_fp )
+ * \l__wheelchart_arc_data_line_sep_factor_fp * \g__wheelchart_half_ex_over_one_cm_fp
+ /
+ (
+ \cs:w g__wheelchart_outer_radius_\WCcount _fp\cs_end:
+ - \cs:w g__wheelchart_inner_radius_\WCcount _fp\cs_end:
+ + 2 * \l__wheelchart_arc_data_sep_fp
+ )
+ }%the sign is needed because \l__wheelchart_arc_data_dir_fp is not necessarily 1 or -1
+ \hbox_set:Nn \l__wheelchart_arc_data_box
+ { \pgfinterruptpicture {####2} \endpgfinterruptpicture }
+ \fp_gset:Nn \g__wheelchart_arc_data_slice_length_fp { 1 }%this is necessary if the value is 0
+ \bool_if:NTF \l__wheelchart_plot_bool
+ {
+ \__wheelchart_convex_comb_coord_plot:nnnnnnn
+ {
+ overlay ,
+ decorate ,
+ decoration =
+ {
+ text~along~path ,
+ text =
+ { {} { \fp_gset:Nn \g__wheelchart_arc_data_slice_length_fp { \pgfdecoratedpathlength } } } ,
+ raise = -0.5 ex ,
+ text~align = \l__wheelchart_arc_data_align_tl ,
+ / wheelchart / arc_data_style
+ }
+ }%get the length of the path
+ %note the option overlay such that this does not increase the bounding box
+ %note the {} at the start of text and the braces around \fp_gset:Nn ...
+ %such that the compilation does not stall
+ { 0 }
+ { 1 }
+ { \l__wheelchart_plot_variable_tl }
+ { 0 }
+ { \l__wheelchart_arc_data_text_pos_fp }
+ { \l__wheelchart_arc_data_sep_fp }
+ \__wheelchart_convex_comb_coord_plot:nnnnnnn
+ {
+ decorate ,
+ decoration =
+ {
+ text~along~path ,
+ text =
+ {
+ { { \fp_gset:Nn \g__wheelchart_arc_data_aux_i_fp { \the \pgfdecoratedcompleteddistance } } }
+ ####2
+ {
+ {
+ \fp_gset:Nn \g__wheelchart_arc_data_aux_i_fp
+ {
+ ( \the \pgfdecoratedcompleteddistance - \g__wheelchart_arc_data_aux_i_fp )
+ / \g__wheelchart_arc_data_slice_length_fp
+ }
+ }
+ }
+ } ,
+ raise = -0.5 ex ,
+ text~align = \l__wheelchart_arc_data_align_tl ,
+ / wheelchart / arc_data_style
+ }
+ }%note the double braces around \fp_gset:Nn ...
+ %so that for example arc data=text {\qty{5}{\percent}} is allowed
+ %note that \def\mytext{}\path[decorate,decoration={text along path,text={\mytext}}] (0,0)--(1,1);
+ %gives the message Missing character: There is no ... in font nullfont!, then
+ %text={\pgfkeysvalueof { / wheelchart / arc~data }{}} can be used
+ %if the \fp_gset:Nn ... would not be present
+ { \fp_use:c { c__wheelchart_arc_data_start_factor_\l__wheelchart_arc_data_align_tl _fp } }
+ { \fp_use:c { c__wheelchart_arc_data_end_factor_\l__wheelchart_arc_data_align_tl _fp } }
+ {
+ \l__wheelchart_plot_variable_tl * \l__wheelchart_arc_data_dir_fp * 1.1
+ * ( \dim_to_fp:n { \box_wd:N \l__wheelchart_arc_data_box } / \g__wheelchart_arc_data_slice_length_fp )
+ + \l__wheelchart_arc_data_angle_pos_fp
+ }
+ { \l__wheelchart_arc_data_angle_shift_fp }
+ { \l__wheelchart_arc_data_text_pos_fp }
+ { \l__wheelchart_arc_data_sep_fp }
}
- }%get the length of the path
- %note the option overlay such that this does not increase the bounding box
- %note the {} at the start of text and the braces around \fp_gset:Nn ... such that the compilation does not stall
- { 0 }
- { 1 }
- { \l__wheelchart_plot_variable_fp }
- { 0 }
- { \l__wheelchart_arc_data_pos_fp }
- { \l__wheelchart_arc_data_sep_fp }
- \__wheelchart_convex_comb_coord_plot:nnnnnnn
- {
- decorate ,
- decoration =
{
- text~along~path ,
- text =
+ \fp_set:Nn \l__wheelchart_arc_data_radius_plot_false_fp
{
- { { \fp_gset:Nn \g__wheelchart_arc_data_factor_fp { \the \pgfdecoratedcompleteddistance } } }
- \pgfkeysvalueof { / wheelchart / arc~data }
- {
+ \__wheelchart_def_radius:nnn
+ { \WCcount }
+ { \l__wheelchart_arc_data_text_pos_fp }
+ { \l__wheelchart_arc_data_sep_fp + \g__wheelchart_half_ex_over_one_cm_fp }
+ }
+ \fp_set:Nn \l__wheelchart_arc_data_total_angle_plot_false_fp
+ {
+ \box_wd:N \l__wheelchart_arc_data_box * 1.1 /
+ (
+ sqrt ( abs ( \l__wheelchart_coord_determinant_fp ) )%this is necessary if an option such as
+ %[x={(-0.5,0)},y={(0,0.5)}] is given to the tikzpicture
+ * \l__wheelchart_arc_data_radius_plot_false_fp * deg
+ )
+ }
+ \fp_set:Nn \l__wheelchart_arc_data_start_angle_plot_false_fp
+ {
+ \__wheelchart_def_angle_plot_false:nnnnn
+ { \WCcount }
+ { \l__wheelchart_arc_data_angle_pos_fp }
+ { \l__wheelchart_arc_data_angle_shift_fp }
+ { \l__wheelchart_arc_data_text_pos_fp }
+ { \l__wheelchart_arc_data_sep_fp + \g__wheelchart_half_ex_over_one_cm_fp }
+ + \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_arc_data_dir_fp
+ * \cs:w c__wheelchart_arc_data_start_factor_\l__wheelchart_arc_data_align_tl _fp\cs_end:
+ * \l__wheelchart_arc_data_total_angle_plot_false_fp
+ }
+ \path
+ [
+ decorate ,
+ decoration =
{
- \fp_gset:Nn \g__wheelchart_arc_data_factor_fp
+ text~along~path ,
+ text =
{
- ( \the \pgfdecoratedcompleteddistance - \g__wheelchart_arc_data_factor_fp )
- / \g__wheelchart_arc_data_slice_length_fp
- }
+ { { \fp_gset:Nn \g__wheelchart_arc_data_aux_i_fp { \the \pgfdecoratedcompleteddistance } } }
+ ####2
+ {
+ {
+ \fp_gset:Nn \g__wheelchart_arc_data_aux_i_fp
+ {
+ ( \the \pgfdecoratedcompleteddistance - \g__wheelchart_arc_data_aux_i_fp )
+ / \l__wheelchart_arc_data_radius_plot_false_fp
+ }
+ }
+ }
+ } ,
+ raise = -0.5 ex ,
+ text~align = \l__wheelchart_arc_data_align_tl ,
+ / wheelchart / arc_data_style
}
- }
- } ,
- raise = -0.5 ex ,
- text~align = \l__wheelchart_arc_data_align_tl ,
- / wheelchart / arc_data_style
+ ]
+ (
+ \fp_use:N \l__wheelchart_arc_data_start_angle_plot_false_fp
+ \c_colon_str
+ \fp_use:N \l__wheelchart_arc_data_radius_plot_false_fp
+ )
+ arc
+ [
+ start~angle = \fp_use:N \l__wheelchart_arc_data_start_angle_plot_false_fp ,
+ end~angle =
+ \fp_eval:n
+ {
+ \l__wheelchart_arc_data_start_angle_plot_false_fp
+ + \l__wheelchart_counter_or_clockwise_fp * \l__wheelchart_arc_data_dir_fp
+ * \l__wheelchart_arc_data_total_angle_plot_false_fp
+ }
+ ,
+ radius = \fp_use:N \l__wheelchart_arc_data_radius_plot_false_fp
+ ]
+ ;
}
- }%note the double braces around \fp_gset:Nn ... so that for example arc data=text {\qty{5}{\percent}} is allowed
- %note that \def\mytext{}\path[decorate,decoration={text along path,text={\mytext}}] (0,0)--(1,1);
- %gives the message Missing character: There is no ... in font nullfont!, then
- %text={\pgfkeysvalueof { / wheelchart / arc~data }{}} can be used if the \fp_gset:Nn ... would not be present
- { \fp_use:c { c__wheelchart_arc_data_start_factor_\l__wheelchart_arc_data_align_tl _fp } }
- { \fp_use:c { c__wheelchart_arc_data_end_factor_\l__wheelchart_arc_data_align_tl _fp } }
- {
- \l__wheelchart_plot_variable_fp * \l__wheelchart_arc_data_dir_fp * 1.1
- * ( \dim_to_fp:n { \box_wd:N \l__wheelchart_arc_data_box } / \g__wheelchart_arc_data_slice_length_fp )
- + \l__wheelchart_arc_data_angle_pos_fp
- }
- { \l__wheelchart_arc_data_angle_shift_fp }
- { \l__wheelchart_arc_data_pos_fp }
- { \l__wheelchart_arc_data_sep_fp }
- \fp_compare:nNnT { \g__wheelchart_arc_data_factor_fp } < { 0 }
- {
- \PackageWarning { wheelchart }
+ \fp_compare:nNnF { \g__wheelchart_arc_data_aux_i_fp } > { 0 }
{
- The~arc~data~in~slice~\WCcount \c_space_tl did~(possibly)~not~fit.~
- Increase~the~absolute~value~of~arc~data~dir.
- }%refer to \WCcount and not to \pgfkeysvalueof { / wheelchart / arc~data }
- %because the latter is not necessarily unique
+ \PackageWarning { wheelchart }
+ {
+ The~arc~data~in~slice~\WCcount \c_space_tl did~(possibly)~not~fit.~
+ Increase~the~absolute~value~of~arc~data~dir.
+ }%refer to \WCcount and not to \pgfkeysvalueof { / wheelchart / arc~data }
+ %because the latter is not necessarily unique
+ }
+ \int_compare:nNnT {####1} = { \fp_use:N \l__wheelchart_arc_around_line_fp }
+ { \fp_gset_eq:NN \g__wheelchart_arc_data_aux_ii_fp \g__wheelchart_arc_data_aux_i_fp }
}
}
\bool_if:NT \l__wheelchart_arc_bool
{
- \__wheelchart_def_macros:n { arc~pos , arc~sep }
+ \__wheelchart_def_fp:nn { arc_pos } { arc~pos }
+ \__wheelchart_def_fp:nn { arc_sep } { arc~sep }
\str_case:enF { \pgfkeysvalueof { / wheelchart / arc~around~text } }
{
{ true }
{
- \__wheelchart_arc_around_text:nnn { first } { -1 } { 0 }
- \__wheelchart_arc_around_text:nnn { second } { 1 } { 1 }
+ \bool_if:NTF \l__wheelchart_plot_bool
+ {
+ \__wheelchart_arc_around_text_plot_true:nnn { first } { -1 } { 0 }
+ \__wheelchart_arc_around_text_plot_true:nnn { second } { 1 } { 1 }
+ }
+ {
+ \fp_gset:Nn \g__wheelchart_arc_data_aux_ii_fp
+ {
+ \g__wheelchart_arc_data_aux_ii_fp
+ / ( sqrt ( abs ( \l__wheelchart_coord_determinant_fp ) ) * deg )
+ }
+ \fp_set:Nn \l__wheelchart_arc_radius_fp
+ {
+ \__wheelchart_def_radius:nnn
+ { \WCcount }
+ { \l__wheelchart_arc_pos_fp }
+ { \l__wheelchart_arc_sep_fp + \g__wheelchart_half_ex_over_one_cm_fp }
+ }
+ \__wheelchart_arc_around_text_plot_false:nn { first } { 0 }
+ \__wheelchart_arc_around_text_plot_false:nn { second } { 1 }
+ }
}
{ false }
{
- \__wheelchart_convex_comb_coord_plot:nnnnnnn
- { draw , / wheelchart / arc_style }
- { 0 }
- { 1 }
- { \l__wheelchart_plot_variable_fp }
- { 0 }
- { \l__wheelchart_arc_pos_fp }
- { \l__wheelchart_arc_sep_fp }
+ \bool_if:NTF \l__wheelchart_plot_bool
+ {
+ \__wheelchart_convex_comb_coord_plot:nnnnnnn
+ { draw , / wheelchart / arc_style }
+ { 0 }
+ { 1 }
+ { \l__wheelchart_plot_variable_tl }
+ { 0 }
+ { \l__wheelchart_arc_pos_fp }
+ { \l__wheelchart_arc_sep_fp }
+ }
+ {
+ \fp_set:Nn \l__wheelchart_arc_radius_fp
+ {
+ \__wheelchart_def_radius:nnn
+ { \WCcount }
+ { \l__wheelchart_arc_pos_fp }
+ { \l__wheelchart_arc_sep_fp + \g__wheelchart_half_ex_over_one_cm_fp }
+ }
+ \fp_set:Nn \l__wheelchart_arc_start_angle_fp
+ {
+ \__wheelchart_def_angle_plot_false:nnnnn
+ { \WCcount }
+ { 0 }
+ { 0 }
+ { \l__wheelchart_arc_pos_fp }
+ { \l__wheelchart_arc_sep_fp + \g__wheelchart_half_ex_over_one_cm_fp }
+ }
+ \path
+ [ draw , / wheelchart / arc_style ]
+ ( \fp_use:N \l__wheelchart_arc_start_angle_fp \c_colon_str \fp_use:N \l__wheelchart_arc_radius_fp )
+ arc
+ [
+ start~angle = \fp_use:N \l__wheelchart_arc_start_angle_fp ,
+ end~angle =
+ \__wheelchart_def_angle_plot_false:nnnnn
+ { \WCcount }
+ { 1 }
+ { 0 }
+ { \l__wheelchart_arc_pos_fp }
+ { \l__wheelchart_arc_sep_fp + \g__wheelchart_half_ex_over_one_cm_fp } ,
+ radius = \fp_use:N \l__wheelchart_arc_radius_fp
+ ]
+ ;
+ }
}
}
{
@@ -2728,28 +3182,8 @@
}
}
}
- \__wheelchart_if_text:nn { inner~data }
- {
- \__wheelchart_def_macros:n { inner~data~angle~pos , inner~data~angle~shift , inner~data~pos , inner~data~sep }
- \node [ align = left , / wheelchart / inner_data_style ] at
- \__wheelchart_convex_comb_coord:nnnn
- { \l__wheelchart_inner_data_angle_pos_fp }
- { \l__wheelchart_inner_data_angle_shift_fp }
- { \l__wheelchart_inner_data_pos_fp }
- { \l__wheelchart_inner_data_sep_fp }
- { \pgfkeysvalueof { / wheelchart / inner~data } } ;
- }
- \__wheelchart_if_text:nn { wheel~data }
- {
- \__wheelchart_def_macros:n { wheel~data~angle~pos , wheel~data~angle~shift , wheel~data~pos , wheel~data~sep }
- \node [ align = left , / wheelchart / wheel_data_style ] at
- \__wheelchart_convex_comb_coord:nnnn
- { \l__wheelchart_wheel_data_angle_pos_fp }
- { \l__wheelchart_wheel_data_angle_shift_fp }
- { \l__wheelchart_wheel_data_pos_fp }
- { \l__wheelchart_wheel_data_sep_fp }
- { \pgfkeysvalueof { / wheelchart / wheel~data } } ;
- }
+ \__wheelchart_inner_and_wheel_data:n { inner }
+ \__wheelchart_inner_and_wheel_data:n { wheel }
\pgfkeysvalueof { / wheelchart / legend~entry }
}
\bool_if:NT \l__wheelchart_legend_row_bool
diff --git a/graphics/pgf/contrib/wheelchart/wheelchart.tex b/graphics/pgf/contrib/wheelchart/wheelchart.tex
index bfb1a70cbc..5f0857f1a6 100644
--- a/graphics/pgf/contrib/wheelchart/wheelchart.tex
+++ b/graphics/pgf/contrib/wheelchart/wheelchart.tex
@@ -1,5 +1,5 @@
%% wheelchart.tex
-%% Copyright 2023 Matthias Floré
+%% Copyright 2022-2024 Matthias Floré
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -40,13 +40,13 @@
\usepackage{tikzlings}
\input{pgfmanual-en-macros.tex}
%The environments commandmeta and commandmetameta and the macros \extractcommandmeta and \extractcommandmetameta below are modified from pgfmanual-en-macros.tex
-\newenvironment{commandmeta}[2]{
- \begin{pgfmanualentry}
- \extractcommandmeta#1#2\@@
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
+\newenvironment{commandmeta}[2]{%
+ \begin{pgfmanualentry}%
+ \extractcommandmeta#1#2\@@%
+ \pgfmanualbody%
+}%
+{%
+ \end{pgfmanualentry}%
}
\def\extractcommandmeta#1#2\@@{%
\removeats{#1}%
@@ -54,22 +54,22 @@
\pgfmanualpdflabel{\textbackslash\strippedat\meta{#2}}{}%
\declare{\expandafter\texttt\expandafter{\string#1\meta{#2}}}%
}%
- \index{\strippedat\meta{#2} @\protect\myprintocmmand{\strippedat\meta{#2}}}
-}
-\newenvironment{commandmetameta}[2]{
- \begin{pgfmanualentry}
- \extractcommandmetameta#1\@@#2\@@
- \pgfmanualbody
+ \index{\strippedat\meta{#2} @\protect\myprintocmmand{\strippedat\meta{#2}}}%
}
-{
- \end{pgfmanualentry}
+\newenvironment{commandmetameta}[2]{%
+ \begin{pgfmanualentry}%
+ \extractcommandmetameta#1\@@#2\@@%
+ \pgfmanualbody%
+}%
+{%
+ \end{pgfmanualentry}%
}
\def\extractcommandmetameta#1\@@#2\@@{%
\pgfmanualentryheadline{%
\pgfmanualpdflabel{\textbackslash\meta{#1}\meta{#2}}{}%
\declare{\expandafter\texttt\expandafter{\textbackslash\meta{#1}\meta{#2}}}%
}%
- \index{\meta{#1}\meta{#2} @\protect\myprintocmmand{\meta{#1}\meta{#2}}}
+ \index{\meta{#1}\meta{#2} @\protect\myprintocmmand{\meta{#1}\meta{#2}}}%
}
\usepackage{codehigh}
\usepackage{fancyhdr}
@@ -80,46 +80,46 @@
\fancyhead[L,R]{}
\fancyhead[C]{\iftotalpages\ifnum\thepage<\getpagerefnumber{Usage}\else \begin{tikzpicture}
\def\WCtotal{16.6}%21-<left=2.25cm>-<right=2.25cm>+2<gap polar=0.05>
-\def\WCarrow{0.8}
+\def\WCarrow{0.73}
\pgfkeys{
- /wheelchart,
- data=,
- gap polar=0.05
+ /wheelchart,
+ data=,
+ gap polar=0.05
}
\wheelchart[
- etoc use name=wheelchart table of contents,
- slices end arrow={\WCcount==\WCtotalcount?0:\WCarrow}{0},
- slices start arrow={\WCcount==1?0:-\WCarrow}{0},
- slices style={MidnightBlue!\fpeval{\thepage<\WCetocthepage||\thepage>=\WCetocthepage+\WCetocthenumberofpages?20:50}},
- value=\WCetocthenumberofpages,
- xbar={\WCtotal}{0.4}
+ etoc use name=wheelchart table of contents,
+ slices end arrow={\WCcount==\WCtotalcount?0:\WCarrow}{0},
+ slices start arrow={\WCcount==1?0:-\WCarrow}{0},
+ slices style={MidnightBlue!\fpeval{\thepage<\WCetocthepage||\thepage>=\WCetocthepage+\WCetocthenumberofpages?20:50}},
+ value=\WCetocthenumberofpages,
+ xbar={\WCtotal}{0.4}
]{}
\wheelchart[
- at={({(\thepage -\getpagerefnumber{Usage})*\WCtotal/(\getpagerefnumber{Thesourcecode}-\getpagerefnumber{Usage})},0)},
- slices end arrow={\thepage==\getpagerefnumber{Thesourcecode}-1?0:\WCarrow}{0},
- slices start arrow={\thepage==\getpagerefnumber{Usage}?0:-\WCarrow}{0},
- xbar={\WCtotal/(\getpagerefnumber{Thesourcecode}-\getpagerefnumber{Usage})}{0.4}
+ at={({(\thepage -\getpagerefnumber{Usage})*\WCtotal/(\getpagerefnumber{Thesourcecode}-\getpagerefnumber{Usage})},0)},
+ slices end arrow={\thepage==\getpagerefnumber{Thesourcecode}-1?0:\WCarrow}{0},
+ slices start arrow={\thepage==\getpagerefnumber{Usage}?0:-\WCarrow}{0},
+ xbar={\WCtotal/(\getpagerefnumber{Thesourcecode}-\getpagerefnumber{Usage})}{0.4}
]{1/PineGreen/}
\end{tikzpicture}\fi\fi}
\fancyfoot[C]{\ifdefined\fancyfootdefaultbox\begin{tikzpicture}[scale=0.15]
\useasboundingbox (-3,-3) rectangle (3,3);
\node[inner sep=0pt] {\usebox{\fancyfootdefaultbox}};%reusing the box compiles faster
%\wheelchart[
-% gap,
-% middle=\thepage,
-% slices style=Gray,
-% slices style{\thepage}=Cyan,
-% %slices style={
-% % /utils/exec={\pgfmathsetmacro{\WCcolor}{\thepage==\WCcount?"Cyan":"Gray"}},
-% % \WCcolor
-% %},
-% total count=\getpagerefnumber{Thesourcecode}-1%\totalpages
+% gap,
+% middle=\thepage,
+% slices style=Gray,
+% slices style{\thepage}=Cyan,
+% %slices style={
+% % /utils/exec={\pgfmathsetmacro{\WCcolor}{\thepage==\WCcount?"Cyan":"Gray"}},
+% % \WCcolor
+% %},
+% total count=\getpagerefnumber{Thesourcecode}-1%\totalpages
%]{}
\wheelchart[
- gap,
- middle=\thepage,
- start angle={90-(\thepage-1)*(360/(\getpagerefnumber{Thesourcecode}-1))},%\totalpages
- total angle={360/(\getpagerefnumber{Thesourcecode}-1)},%\totalpages
+ gap,
+ middle=\thepage,
+ start angle={90-(\thepage-1)*(360/(\getpagerefnumber{Thesourcecode}-1))},%\totalpages
+ total angle={360/(\getpagerefnumber{Thesourcecode}-1)},%\totalpages
]{1/Cyan/}
\end{tikzpicture}\fi}
\usepackage{etoc}
@@ -132,12 +132,12 @@
%\PassOptionsToPackage{hyphens}{url}
\usepackage{xurl}
\usepackage[linktoc=all,pdfstartview=FitH,colorlinks=true,linkcolor=Mahogany,citecolor=ForestGreen,urlcolor=MidnightBlue,bookmarksnumbered=true]{hyperref}
-\hypersetup{pdftitle={The wheelchart package},pdfauthor={Matthias Flor\'e},pdfsubject={Manual},pdfkeywords={wheelchart}}
+\hypersetup{pdftitle={The wheelchart package},pdfauthor={Matthias Floré},pdfsubject={Manual},pdfkeywords={wheelchart}}
\setcounter{tocdepth}{2}
\setcounter{secnumdepth}{2}
-\title{The \texttt{wheelchart} package\\[12pt]\large Draw wheelcharts with \tikzname}
-\author{Matthias Flor\'e}
-\date{Version 2.0 (2023/12/03)}%\\[12pt]
+\title{The \texttt{wheelchart} package\\[12pt]\large Diagrams with circular or other shapes using \tikzname{} and \LaTeX3}
+\author{Matthias Floré}
+\date{Version 3.0 (2024/03/08)}%\\[12pt]
\begin{document}
\iftotalpages%
\newsavebox{\fancyfootdefaultbox}%
@@ -145,9 +145,9 @@
\begin{tikzpicture}[scale=0.15]
\useasboundingbox (-3,-3) rectangle (3,3);
\wheelchart[
- gap,
- slices style=Gray,
- total count=\getpagerefnumber{Thesourcecode}-1%\totalpages
+ gap,
+ slices style=Gray,
+ total count=\getpagerefnumber{Thesourcecode}-1%\totalpages
]{}
\end{tikzpicture}%note the % to avoid extra space
\end{lrbox}%
@@ -155,7 +155,7 @@
\maketitle
\thispagestyle{fancy}
\begin{abstract}
-\noindent This package is based on the package |tikz| (see \cite{TtTaPGFp}) and can be used to draw various kinds of diagrams such as a bar chart, doughnut chart, infographic, pie chart, ring chart, square chart, sunburst chart, waffle chart and wheel chart with \tikzname. It provides several options to customize the diagrams. It is also possible to specify a plot for the shape of the chart. Furthermore a legend can be added and the table of contents can be displayed as one of these diagrams. Other tools for creating wheelcharts or pie charts can be found in \cite{MpMP}, \cite{JhcIparowcltopotPGFm}, \cite{Tumfdb}, \cite{XdPCbupp} and \cite{RSVpaaMfp}.% This is the manual for version .
+\noindent This package is based on the package |tikz| (see \cite{TtTaPGFp}) and can be used to draw various kinds of diagrams such as a bar chart, doughnut chart, infographic, pie chart, ring chart, square chart, sunburst chart, waffle chart and wheel chart with \tikzname. It provides several options to customize the diagrams. It is also possible to specify a plot for the shape of the chart. Furthermore a legend can be added and the table of contents can be displayed as one of these diagrams. Other tools for creating wheel charts or pie charts can be found in \cite{MpMP}, \cite{JhcIparowcltopotPGFm}, \cite{Tumfdb}, \cite{XdPCbupp} and \cite{RSVpaaMfp}.% This is the manual for version .
\end{abstract}
\section*{\contentsname}
\iftotalpages
@@ -168,59 +168,59 @@
\usepackage[linktoc=all]{hyperref}}]
\begin{tikzpicture}
\pgfkeys{
- /wheelchart,
- for loop start={\colorlet{WCcolor}{MidnightBlue!\fpeval{(\WCcount/\WCtotalcount)*100}}},
- gap,
- start angle=0,
- value=\WCetocthenumberofpages
+ /wheelchart,
+ for loop start={\colorlet{WCcolor}{MidnightBlue!\fpeval{(\WCcount/\WCtotalcount)*100}}},
+ gap,
+ start angle=0,
+ value=\WCetocthenumberofpages
}
\wheelchart[
- after slices={
- \pgfdeclareradialshading{WCshading}{\pgfpoint{0cm}{0cm}}{
- color(0bp)=(WCcolor);
- color(16.66666bp)=(WCcolor);%2/3 * 25bp
- color(20.83333bp)=(WCcolor!10);%2.5/3 * 25bp
- color(25bp)=(WCcolor);
- color(50bp)=(WCcolor)
- }
- \shade[even odd rule,shading=WCshading] (0,0) circle[radius=3] circle[radius=2];
- },
- data=,
- etoc count total pages=\getpagerefnumber{Thesourcecode}-1,%\totalpages
- etoc level=section,
- etoc name=wheelchart table of contents,
- slices style={
- fill=none,
- clip
+ after slices={
+ \pgfdeclareradialshading{WCshading}{\pgfpoint{0cm}{0cm}}{
+ color(0bp)=(WCcolor);
+ color(16.66666bp)=(WCcolor);%2/3 * 25bp
+ color(20.83333bp)=(WCcolor!10);%2.5/3 * 25bp
+ color(25bp)=(WCcolor);
+ color(50bp)=(WCcolor)
}
+ \shade[even odd rule,shading=WCshading] (0,0) circle[radius=3] circle[radius=2];
+ },
+ data=,
+ etoc count total pages=\getpagerefnumber{Thesourcecode}-1,%\totalpages
+ etoc level=section,
+ etoc name=wheelchart table of contents,
+ slices style={
+ fill=none,
+ clip
+ }
]{}
\hypersetup{linkcolor=.}
\wheelchart[
- anchor ysep{7,8}=30,
- data={%
- \textcolor{WCcolor}{%
- \textbf{\Large\ifdefempty{\WCetocthenumber}{}{\WCetocthelinkednumber{} }\WCetocthelinkedname}}\\%
- \textcolor{PineGreen}{page \WCetocthelinkedpage}%
- },
- etoc use name=wheelchart table of contents,
- lines,
- lines style=PineGreen,
- middle={\LARGE The\\[10pt]\huge\texttt{wheelchart}\\[10pt]\LARGE package},
- slice{\getrefnumber{Keys}}={
- arc={
- draw=PineGreen,
- ->
- },
- arc around text,
- arc data=~Options for customization~,
- arc data style={text color=PineGreen},
- lines sep=0.5
+ anchor ysep{7,8}=30,
+ data={%
+ \textcolor{WCcolor}{%
+ \textbf{\Large\ifdefempty{\WCetocthenumber}{}{\WCetocthelinkednumber{} }\WCetocthelinkedname}}\\%
+ \textcolor{PineGreen}{page \WCetocthelinkedpage}%
+ },
+ etoc use name=wheelchart table of contents,
+ lines,
+ lines style=PineGreen,
+ middle={\LARGE The\\[10pt]\huge\texttt{wheelchart}\\[10pt]\LARGE package},
+ slice{\getrefnumber{Keys}}={
+ arc={
+ draw=PineGreen,
+ ->
},
- slices style={
- fill=none,
- draw=PineGreen,
- ultra thick
- }
+ arc around text,
+ arc data=~Options for customization~,
+ arc data style={text color=PineGreen},
+ lines sep=0.5
+ },
+ slices style={
+ fill=none,
+ draw=PineGreen,
+ ultra thick
+ }
]{}
\end{tikzpicture}
\end{codeexample}
@@ -259,6 +259,73 @@ The default wheelchart with these data is shown below.
\end{command}
\newpage%such that this section has its own block in the header
\section{Additional macros}
+\begin{command}{\WCangle\opt{\oarg{number}}\marg{angle pos}\marg{angle shift}\marg{pos}\marg{sep}}
+This command gives the angle in degrees of the point which is constructed as follows.
+\begin{enumerate}
+\item Consider the inner start angle and the inner end angle of slice \meta{number}. This \meta{number} is computed modulo the total number of slices. Form the convex combination of these two angles with parameter \meta{angle pos}. Then add \meta{angle shift}. Then consider the point with this angle and as radius the inner radius.
+\item Consider the similar point constructed with the outer start angle, the outer end angle and the outer radius of slice \meta{number}. Then construct the straight line between those two points.
+\item Consider the radius given by the command |\WCradius| with arguments \meta{number}, \meta{pos} and \meta{sep}.
+\item Consider the intersection of the previous line and the arc with the previous radius. The command |\WCangle| gives the angle in degrees of this point.
+\end{enumerate}
+The default value for \meta{number} is |\WCcount|.
+
+The command |\WCangle| can be used in the \meta{options} of the command |\wheelchart|. It can also be used after the command |\wheelchart|. In that case, the computed angles will correspond to the last |\wheelchart|.
+
+The command |\WCangle| should not be used with a plot.
+\begin{codeexample}[preamble={\usepackage{siunitx}}]
+\begin{tikzpicture}
+\sisetup{round-mode=places,round-precision=2}
+\wheelchart[
+ counterclockwise,
+ data=slice \WCcount\\
+ inner start angle: \ang{\WCangle{0}{0}{0}{0}}\\
+ inner end angle: \ang{\WCangle{1}{0}{0}{0}}\\
+ outer start angle: \ang{\WCangle{0}{0}{1}{0}}\\
+ outer end angle: \ang{\WCangle{1}{0}{1}{0}}\\
+ inner radius: \WCradius{0}{0}\\
+ outer radius: \WCradius{1}{0},
+ gap=0.2,
+ inner radius{list}={2.2,2,1.8},
+ legend entry={
+ \fill[Dandelion] (\WCcoordinate[\WCcount +1]{inner start}) circle[radius=4pt];
+ \fill[RubineRed] (\WCcoordinate{inner end}) circle[radius=4pt];
+ \fill[YellowGreen] (\WCcoordinate[\WCcount +1]{outer start}) circle[radius=4pt];
+ \fill[RoyalPurple] (\WCcoordinate{outer end}) circle[radius=4pt];
+ \draw[->,dashed] (\WCpoint[\WCcount -1]{0.6}{0}{0.5}{0})--(\WCpoint{0.4}{0}{0.5}{0});
+ \draw[dashed] (\WCcoordinate{inner end})
+ --(\WCpoint{1}{0}{1}{\WClistsep}) coordinate (A);
+ \draw[dashed] (\WCcoordinate[\WCcount +1]{inner start})
+ --(\WCpoint[\WCcount +1]{0}{0}{1}{1}) coordinate (B);
+ \draw[<->] (A)--(B) node[\WClistpos,midway] {gap};
+ },
+ outer radius{list}={2.8,3,3.2},
+ slices style{list}={Gray!25,Gray!50,Gray!75},
+ start angle=0,
+ total count=3,
+ WClistpos={above left,below left,right},
+ WClistsep={1.2,1.2,0.6}
+]{}
+\node[align=left] (N) at (-1.5,-6.5) {%
+ The outer end angle of slice 2 is \ang{\WCangle[2]{1}{0}{1}{0}}.\\
+ The outer radius of slice 3 is \WCradius[3]{1}{0}.%
+};
+\draw[->] (\WCcoordinate[2]{outer end})--(N) node[left,pos=0.7,align=left]
+ {These can be referenced\\after the command \textbackslash wheelchart};
+\draw[->] (\WCpoint[3]{0.2}{0}{1}{0})--(N);
+\end{tikzpicture}
+\end{codeexample}
+\end{command}
+\begin{command}{\WCcoordinate\opt{\oarg{number}}\marg{name}}
+\begin{itemize}
+\item If the key |discrete| is false then this command gives the coordinate positioned at \meta{name} of slice \meta{number}. The \meta{name} can be |inner end|, |inner start|, |outer end| or |outer start|.
+\item If the key |discrete| is true then this command gives the coordinate positioned at point \meta{name} of slice \meta{number}. The \meta{name} can be an integer from 1 till the number of points of slice \meta{number}.
+\end{itemize}
+The \meta{number} is computed modulo the total number of slices.
+
+The default value for \meta{number} is |\WCcount|.
+
+The command |\WCcoordinate| can be used in the \meta{options} of the command |\wheelchart|. It can also be used after the command |\wheelchart|. In that case, the coordinate will correspond to the last |\wheelchart|.
+\end{command}
\begin{command}{\WCcount}
This macro gives the current number of the slice in the \meta{wheelchart data}.
\end{command}
@@ -266,7 +333,7 @@ This macro gives the current number of the slice in the \meta{wheelchart data}.
If the key |discrete| is true then this macro gives the current number of the \tikzname{} pic from the key |discrete pic|.
\end{command}
\begin{command}{\WCdataangle}
-This macro is similar to |\WCmidangle| but also takes into account the keys |data angle pos|, |data angle shift| and |data sep| (with respect to the key |counterclockwise|).
+This macro is similar to |\WCmidangle| but also takes into account the keys |data angle pos|, |data angle shift|, |data pos| and |data sep| (with respect to the key |counterclockwise|).
\end{command}
\begin{command}{\WCetocthelinkedname}
\end{command}
@@ -291,24 +358,22 @@ This macro is defined when the key |WClist|\meta{name} is used and gives the ele
\end{commandmeta}
\begin{command}{\WCmidangle}
This macro gives the angle in degrees modulo $360$ of the middle of the current slice.
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[width=10cm,preamble={\usepackage{siunitx}}]
\begin{tikzpicture}
\wheelchart[
- data angle shift=\WCvarG,
- data style={
- rotate=\WCdataangle,
- draw=Magenta,
- fill=GreenYellow,
- anchor=west,
- text=Gray
- },
- inner data={%
- \textbackslash WCmidangle%
- },
- inner data style={
- rotate=\WCmidangle,
- font=\ttfamily
- }
+ data angle shift=\WCvarG,
+ data style={
+ rotate=\WCdataangle,
+ draw=Magenta,
+ fill=GreenYellow,
+ anchor=west,
+ text=Gray
+ },
+ inner data=\ang{\WCmidangle},
+ inner data style={
+ rotate=\WCmidangle,
+ font=\ttfamily
+ }
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -316,24 +381,28 @@ This macro gives the angle in degrees modulo $360$ of the middle of the current
\begin{command}{\WCperc}
This macro displays |\WCpercentagerounded| followed by a \unit{\percent} symbol.
-If the package |siunitx| is loaded then the following code is used. The package |siunitx| can be loaded before or after the package |wheelchart|.
+If the package |siunitx| is loaded then the following code is used outside the key |arc data|. The package |siunitx| can be loaded before or after the package |wheelchart|.
\begin{codeexample}[code only]
\qty{\WCpercentagerounded}{\percent}
\end{codeexample}
-If the package |siunitx| is not loaded then the following code is used.
+If the package |siunitx| is not loaded then the following code is used outside the key |arc data|.
\begin{codeexample}[code only]
\WCpercentagerounded\,\%
\end{codeexample}
+Inside the key |arc data|, the following code is used.
+\begin{codeexample}[code only]
+\WCpercentagerounded{\,}{\%}
+\end{codeexample}
\end{command}
\begin{command}{\WCpercentage}
This macro gives the percentage of the current slice where the total is computed with the values of the key |value|. Note that rounding errors can occur.
\begin{codeexample}[width=10cm,preamble={\usepackage{siunitx}}]
\begin{tikzpicture}
\wheelchart[
- data=\WCvarC\\\WCperc,
- slices style={
- \WCvarB!\fpeval{4*\WCpercentage}
- }
+ data=\WCvarC\\\WCperc,
+ slices style={
+ \WCvarB!\fpeval{4*\WCpercentage}
+ }
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -341,6 +410,28 @@ This macro gives the percentage of the current slice where the total is computed
\begin{command}{\WCpercentagerounded}
This macro displays |\WCpercentage| rounded up to the number of decimals determined by the key |perc precision|.
\end{command}
+\begin{command}{\WCpoint\opt{\oarg{number}}\marg{angle pos}\marg{angle shift}\marg{pos}\marg{sep}}
+This command gives the point where the angle is determined by |\WCangle| and the radius by |\WCradius| computed with the given arguments.
+
+The \meta{number} is computed modulo the total number of slices.
+
+The default value for \meta{number} is |\WCcount|.
+
+The command |\WCpoint| can be used in the \meta{options} of the command |\wheelchart|. It can also be used after the command |\wheelchart|. In that case, the point will correspond to the last |\wheelchart|.
+
+The command |\WCpoint| should not be used with a plot.
+\end{command}
+\begin{command}{\WCradius\opt{\oarg{number}}\marg{pos}\marg{sep}}
+This command gives the convex combination with parameter \meta{pos} of the inner radius of slice \meta{number} minus \meta{sep} and the outer radius of slice \meta{number} plus \meta{sep}.
+
+The \meta{number} is computed modulo the total number of slices.
+
+The default value for \meta{number} is |\WCcount|.
+
+The command |\WCradius| can be used in the \meta{options} of the command |\wheelchart|. It can also be used after the command |\wheelchart|. In that case, the computed radius will correspond to the last |\wheelchart|.
+
+The command |\WCradius| should not be used with a plot.
+\end{command}
\begin{command}{\WCtotalcount}
This macro gives the total number of slices.
\end{command}
@@ -349,12 +440,12 @@ This macro gives the sum of all values of the key |value|.
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- data=\WCvarC: \WCvarA,
- middle={%
- \textbf{\huge Fruit}\\%
- \WCtotalcount{} species\\%
- \WCtotalnum{} pieces%
- }
+ data=\WCvarC: \WCvarA,
+ middle={%
+ \textbf{\huge Fruit}\\%
+ \WCtotalcount{} species\\%
+ \WCtotalnum{} pieces%
+ }
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -366,9 +457,9 @@ This macro gives the sum of all values of the key |value|.
\begin{command}{\WCvarC}
\end{command}
\begin{commandmetameta}{prefix}{name}
-The \meta{wheelchart data} in the command |\wheelchart| is a list in which the items are separated by the value of the key |separator rows|. Each item in this list corresponds to one slice of the wheelchart and consists of data separated by the value of the key |separator columns|. The number of such data needs to be the same for each slice. With the initial settings, these individual data are interpreted as the macros |\WCvarA|, |\WCvarB|, |\WCvarC|, \dots, |\WCvarZ|, |\WCvarAA| and so on and can be accessed within the \meta{options} of the command |\wheelchart| if applicable.
+The \meta{wheelchart data} in the command |\wheelchart| is a list in which the items are separated by the value of the key |separator rows|. Each item in this list corresponds to one slice of the wheelchart and consists of data separated by the value of the key |separator columns|. With the initial settings, these individual data are interpreted as the macros |\WCvarA|, |\WCvarB|, |\WCvarC|, \dots, |\WCvarZ|, |\WCvarAA| and so on and can be accessed within the \meta{options} of the command |\wheelchart| if applicable.
-The name of these macros can be specified with \meta{prefix} and \meta{name} which are determined by respectively the keys |header prefix| and |header|.
+The names of these macros can be specified with \meta{prefix} and \meta{name} which are determined by respectively the keys |header prefix| and |header|.
Initially, only |\WCvarA|, |\WCvarB| and |\WCvarC| are used for |value=\WCvarA|, |slices style=\WCvarB| and |data=\WCvarC|.
@@ -376,25 +467,25 @@ Other ways to specify data are by using for example a list such as an array with
\begin{codeexample}[width=10cm,preamble={\usetikzlibrary{patterns}}]
\begin{tikzpicture}
\pgfkeys{
- /wheelchart,
- gap,
- header={value,color,text,vitamins,pattern,explode,data angle shift,border},
- header prefix=my,
- value=1
+ /wheelchart,
+ gap,
+ header={value,color,text,vitamins,pattern,explode,data angle shift,border},
+ header prefix=my,
+ value=1
}
\wheelchart[
- data=,
- radius={0.5}{3},
- slices style={\mycolor!70,draw=\myborder,ultra thick,pattern=\mypattern,pattern color=\mycolor!70},
- wheel data=\mytext,
- %wheel data style={shift={(\WCmidangle:0.5)}},
- %wheel data pos=0.5
+ data=,
+ radius={0.5}{3},
+ slices style={\mycolor!70,draw=\myborder,ultra thick,pattern=\mypattern,pattern color=\mycolor!70},
+ wheel data=\mytext,
+ %wheel data style={shift={(\WCmidangle:0.5)}},
+ %wheel data pos=0.5
]{\exampleforthismanual}
\wheelchart[
- data={\textcolor{\mycolor}{Vitamins}\\\myvitamins},
- radius={3.1}{4},
- slices arrow={1}{0.2},
- slices style=\mycolor
+ data=\textcolor{\mycolor}{Vitamins}\\\myvitamins,
+ radius={3.1}{4},
+ slices arrow={1}{0.2},
+ slices style=\mycolor
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -406,20 +497,20 @@ If applicable, an optional non-empty \meta{range} between braces can be given to
Furthermore, it is possible to add |{list}| after the \meta{key name}. Then a list can be given to the key. This list is processed analogously as how the key |WClist|\meta{name} works. Then the result is given to the key.
-We give some examples for the options \meta{range} and |{list}| below.
+Below are some examples for the options \meta{range} and |{list}|.
\begin{itemize}
\item The following wheelchart can be obtained with the 3 possibilities below.
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- data{list}={
- An,example,where,some,of,the,
- keys,are,given,using,a,list
- },
- slices style{list}={
- Thistle,Orchid,Fuchsia
- },
- total count=12
+ data{list}={
+ An,example,where,some,of,the,
+ keys,are,given,using,a,list
+ },
+ slices style{list}={
+ Thistle,Orchid,Fuchsia
+ },
+ total count=12
]{}
\end{tikzpicture}
\end{codeexample}
@@ -432,8 +523,8 @@ We give some examples for the options \meta{range} and |{list}| below.
data={\WCdata[\WCcount]},
slices style={
- /utils/exec={\pgfmathsetmacro{\WCcolornumber}{int(Mod({\WCcount-1},\WCcolorslen)+1)}},
- \WCcolors[\WCcolornumber]
+ /utils/exec={\pgfmathsetmacro{\WCcolornumber}{int(Mod({\WCcount-1},\WCcolorslen)+1)}},
+ \WCcolors[\WCcolornumber]
},
total count=\WCdatalen,
@@ -447,8 +538,8 @@ slices style{3,6,...,\WCdatalen}=Fuchsia,
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- explode=\WCvarF,
- pie
+ explode=\WCvarF,
+ pie
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -492,49 +583,54 @@ $[360-\text{|anchor ysep|},360]$ & west\\
\begin{codeexample}[width=10cm,preamble={\usepackage{siunitx}}]
\begin{tikzpicture}
\wheelchart[
- anchor xsep=10,
- anchor ysep=15,
- data=\WCvarA,
- data angle pos=\WClistdap,
- inner data=\ang{\WClistvalue},
- inner data angle pos=\WClistdap,
- inner data sep=0.3,
- lines=0.5,
- lines angle pos=\WClistdap,
- slices style{list}={
- Maroon,SeaGreen,Maroon
- },
- value=\WClistvalue,
- WClistdap={0.9,0.5,0.1},
- WClistvalue={10,65,15,15,65,10}
+ anchor xsep=10,
+ anchor ysep=15,
+ data=\WCvarA,
+ data angle pos=\WClistdap,
+ inner data=\ang{\WClistvalue},
+ inner data angle pos=\WClistdap,
+ inner data sep=0.3,
+ lines=0.5,
+ lines angle pos=\WClistdap,
+ slices style{list}={
+ Maroon,SeaGreen,Maroon
+ },
+ value=\WClistvalue,
+ WClistdap={0.9,0.5,0.1},
+ WClistvalue={10,65,15,15,65,10}
]{%
- south,
- south west,
- west,
- west,
- north west,
- north,
- north,
- north east,
- east,
- east,
- south east,
- south%
+ south,
+ south west,
+ west,
+ west,
+ north west,
+ north,
+ north,
+ north east,
+ east,
+ east,
+ south east,
+ south%
}
\end{tikzpicture}
\end{codeexample}
The anchor of the key |data| can also be specified manually by using |data style={anchor=|\meta{anchor}|}|.
\end{key}
\begin{stylekey}{/wheelchart/arc=\marg{options} (initially \normalfont empty)}
-If this key is set then an arc with the style determined by this key will be drawn following the plot for a slice of the wheelchart.
+If this key is set then an arc with the style determined by this key will be drawn following the arc or plot for a slice of the wheelchart.
\end{stylekey}
+\begin{key}{/wheelchart/arc around line=\marg{number} (initially 1)}
+The contents of the key |arc data| can consist of multiple lines separated by |\\|. If the key |arc around text| is true then the corresponding line is determined by \meta{number}.
+\end{key}
\begin{key}{/wheelchart/arc around text=\opt{\meta{boolean}} (default true, initially false)}
-If true then the arc with the style determined by the key |arc| will be split in two parts such that the gap between these two parts leaves space for the contents of the key |arc data|. The space between the arc and the contents of the key |arc data| can be increased with for example |~| in |arc data=~text~|.
+If true then the arc with the style determined by the key |arc| will be split in two parts such that the gap between these two parts leaves space for the contents of line \meta{number} of the key |arc data| where \meta{number} is determined by the key |arc around line|. The space between the arc and the contents of the key |arc data| can be increased with for example |~| in |arc data=~text~|.
\end{key}
\begin{key}{/wheelchart/arc data=\marg{text} (initially \normalfont empty)}
-This key contains the \meta{text} which will be placed following the plot for a slice of the wheelchart using the decoration |text along path|. This requires the \tikzname{} library |decorations.text|. The style of this decoration is given as follows. First, the option |raise=-0.5ex| is given. Then |text align| is determined by the key |arc data align|. Thereafter, the style of the key |arc data style| is added.
+This key contains the \meta{text} which will be placed following the arc or plot for a slice of the wheelchart using the decoration |text along path|. This requires the \tikzname{} library |decorations.text|. The style of this decoration is given as follows. First, the option |raise=-0.5ex| is given. Then |text align| is determined by the key |arc data align|. Thereafter, the style of the key |arc data style| is added.
+
+The \meta{text} can consist of multiple lines separated by |\\|.
-Note that for example |\WCpercentage| follows the arc but |\WCperc| does not. Braces are required around some macros and for example |arc data={{{{\WCperc}}}}| requires 4 pairs of braces.
+Braces or multiple pairs of braces are required around some macros.
\end{key}
\begin{key}{/wheelchart/arc data align=\mchoice{center,left,right} (initially center)}
This key determines the alignment of the contents of the key |arc data|.
@@ -545,7 +641,34 @@ This key determines the alignment of the contents of the key |arc data|.
These keys determine the position of the contents of the key |arc data| similar as the corresponding keys for the key |data|.
\end{key}
\begin{key}{/wheelchart/arc data dir=\marg{value} (initially 1)}
-This key determines the direction of the contents of the key |arc data|. If the \meta{value} is positive then the direction is the same as the direction of the slice. If the \meta{value} is negative then the direction is reversed. The values |1| and |-1| are recommended. When the contents of the key |arc data| is placed, the corresponding domain for the plot is estimated. A warning is given when the contents of the key |arc data| did (possibly) not fit. In this case, the absolute value of the key |arc data dir| should be increased.
+This key determines the direction of the contents of the key |arc data|. If the \meta{value} is positive then the direction is the same as the direction of the slice. If the \meta{value} is negative then the direction is reversed. The values |1| and |-1| are recommended.
+
+When the contents of the key |arc data| is placed, the corresponding domain for the arc or plot is estimated. A warning is given when the contents of the key |arc data| did (possibly) not fit. In this case, the absolute value of the key |arc data dir| should be increased.
+
+If an error |Dimension too large| occurs then the absolute value of the key |arc data dir| should be increased or decreased depending on the situation.
+\end{key}
+\begin{key}{/wheelchart/arc data expand=\marg{expansion type} (initially n)}
+The contents of the key |arc data| can consist of multiple lines separated by |\\|. This splitting is done with |\seq_set_split:Nnn| or a variant thereof depending on the \meta{expansion type} which determines the last letter in the signature. For most use cases, this \meta{expansion type} is |n|, |e| or |f|.
+
+In the example below, it is necessary to use |arc data expand=e| and to place |\noexpand| before |\bfseries|.
+\catcode`|=12%
+\begin{codeexample}[width=10cm,preamble={\usetikzlibrary{decorations.text}}]
+\begin{tikzpicture}
+\wheelchart[
+ arc data=|\noexpand\bfseries|\WCvarC\\
+ \WCvarD,
+ arc data expand=e,
+ arc data pos=0.5,
+ data=,
+ start angle=135,
+ total angle=90
+]{1/VioletRed/bold text/two\\lines}
+\end{tikzpicture}
+\end{codeexample}
+\catcode`|=13%
+\end{key}
+\begin{key}{/wheelchart/arc data line sep factor=\marg{factor} (initially 1)}
+The contents of the key |arc data| can consist of multiple lines separated by |\\|. The \meta{factor} determines the spacing between these lines.
\end{key}
\begin{key}{/wheelchart/arc data pos=\marg{value} (initially 1)}
\end{key}
@@ -569,20 +692,23 @@ This key determines the position of the arc similar as the corresponding key for
\begin{codeexample}[width=10cm,preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}
\wheelchart[
- arc=\WCvarB,
- arc around text,
- arc data=~\WCvarC~,
- arc data dir={\WCmidangle<180?1:-1},
- arc data pos=1.2,
- arc data style={text color=\WCvarB},
- arc first half=dashed,
- arc pos=1.2,
- arc second half=->,
- data=,
- value=width("\WCvarC")
+ arc=\WCvarB,
+ arc around line=2,
+ arc around text,
+ arc data=slice \WCcount\\
+ {~}\WCvarC{~}\\
+ \WCperc,
+ arc data dir={\WCmidangle<180?1:-1},
+ arc data expand=f,
+ arc data pos=1.3,
+ arc data style={text color=\WCvarB},
+ arc first half=dashed,
+ arc pos=1.3,
+ arc second half=->,
+ data={}
]{\exampleforthismanual}
\useasboundingbox (0,0)
- circle[radius=4];
+ circle[radius=4.3];
\end{tikzpicture}
\end{codeexample}
\end{key}
@@ -612,33 +738,33 @@ This key accepts a list of keys which will be applied to the node where the cont
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- at={(5,2)},
- caption=Caption,
- caption style={font=\scshape},
- caption left=Caption left,
- caption left style={font=\sffamily},
- middle=\texttt{name=WCname},
- name=WCname,
- start half,
- title=Title,
- title style={font=\bfseries},
- title left=Title left,
- title left style={font=\em}
+ at={(5,2)},
+ caption=Caption,
+ caption style={font=\scshape},
+ caption left=Caption left,
+ caption left style={font=\sffamily},
+ middle=\texttt{name=WCname},
+ name=WCname,
+ start half,
+ title=Title,
+ title style={font=\bfseries},
+ title left=Title left,
+ title left style={font=\em}
]{%
- 1/Goldenrod/Text\\with\\multiple\\lines,
- 1/Mahogany/Text which is longer than the short text,
- 1/JungleGreen/Another text,
- 1/RoyalBlue/Short text%
+ 1/Goldenrod/Text\\with\\multiple\\lines,
+ 1/Mahogany/Text which is longer than the short text,
+ 1/JungleGreen/Another text,
+ 1/RoyalBlue/Short text%
}
\draw[dashed] (WCname.south west) rectangle (WCname.north east);
\foreach\pos in {north,east,south,west}{
- \node at (WCname.\pos) {\pos};
+ \node at (WCname.\pos) {\pos};
}
\end{tikzpicture}
\end{codeexample}
\end{stylekey}
\begin{stylekey}{/wheelchart/contour=\marg{options} (initially \normalfont empty)}
-If this key is set then a contour with the style determined by this key will be drawn around the wheelchart. This key does \emph{not} apply if a plot is used.
+If this key is set then a contour with the style determined by this key will be drawn around the wheelchart. This requires a fixed inner and outer radius for all slices. This key does \emph{not} apply if a plot is used.
\end{stylekey}
\begin{key}{/wheelchart/counterclockwise=\opt{\meta{boolean}} (default true, initially false)}
If true, the wheelchart will be drawn counterclockwise instead of clockwise.
@@ -653,7 +779,9 @@ This key contains the \meta{text} which will be placed at each slice of the whee
\begin{key}{/wheelchart/data pos=\marg{value} (initially 1)}
\end{key}
\begin{key}{/wheelchart/data sep=\marg{value} (initially 0.2)}
-The position of the contents of the key |data| is determined as follows.
+If no plot is used then the position of the contents of the key |data| is determined as described for the commands |\WCangle| and |\WCradius|.
+
+If a plot is used then the position of the contents of the key |data| is determined as follows.
\begin{enumerate}
\item The inner plot is evaluated in the point with as angle the convex combination with as parameter the key |data angle pos| of the inner start angle and the inner end angle, added with the key |data angle shift| in degrees (taking into account the key |counterclockwise|) and as radius the inner radius minus the key |data sep|.
\item The outer plot is evaluated in the similar point but using the outer start angle, the outer end angle and the outer radius plus the key |data sep|.
@@ -663,32 +791,32 @@ The position of the contents of the key |data| is determined as follows.
\begin{codeexample}[]
\begin{tikzpicture}
\wheelchart[
- data angle pos{2}=0.3,
- data angle pos{6}=0.8,
- data angle shift{3}=-0.1,
- data angle shift{5}=0.1,
- data pos=\WClistB,
- data sep=0,
- lines{1,2,4,6,7}=0.5,
- lines{3,5}=1,
- lines angle pos{1}=0.8,
- lines angle shift{7}=-0.2,
- lines ext=\WClistA,
- lines ext dir{1,...,3}=left,
- lines ext dir{4,...,7}=right,
- lines ext fixed,
- lines ext fixed left=-1,
- lines ext fixed right=7,
- lines pos=\WClistB,
- lines sep=0.2*\WClistA,
- xbar={6}{1.5},
- WClistA={1,0},
- WClistB={0,1},
- wheel data=\WCperc,
- wheel data pos=0.5,
- wheel data pos{1}=1,
- wheel data pos{4}=0,
- wheel data sep=0.2
+ data angle pos{2}=0.3,
+ data angle pos{6}=0.8,
+ data angle shift{3}=-0.1,
+ data angle shift{5}=0.1,
+ data pos=\WClistB,
+ data sep=0,
+ lines{1,2,4,6,7}=0.5,
+ lines{3,5}=1,
+ lines angle pos{1}=0.8,
+ lines angle shift{7}=-0.2,
+ lines ext=\WClistA,
+ lines ext dir{1,...,3}=left,
+ lines ext dir{4,...,7}=right,
+ lines ext fixed,
+ lines ext fixed left=-1,
+ lines ext fixed right=7,
+ lines pos=\WClistB,
+ lines sep=0.2*\WClistA,
+ xbar={6}{1.5},
+ WClistA={1,0},
+ WClistB={0,1},
+ wheel data=\WCperc,
+ wheel data pos=0.5,
+ wheel data pos{1}=1,
+ wheel data pos{4}=0,
+ wheel data sep=0.2
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -711,30 +839,31 @@ These options are illustrated in the examples below.
\begin{codeexample}[]
\begin{tikzpicture}
\pgfkeys{
- /wheelchart,
- data=,
- discrete,
- discrete pic={\fill (0,0) circle[radius=3pt];},
- discrete space at borders=false,
- middle style={font=\ttfamily},
- start angle=180,
- total angle=180,
- value=\WCvarA/2
+ /wheelchart,
+ discrete,
+ discrete pic={\fill (0,0) circle[radius=3pt];},
+ discrete space at borders=false,
+ middle style={font=\ttfamily},
+ start angle=180,
+ total angle=180,
+ value=\WCvarA/2
}
\foreach\angle in {0,...,27}{
- \draw ({180*(\angle/27)}:2)--({180*(\angle/27)}:3);
+ \draw ({180*(\angle/27)}:2)--({180*(\angle/27)}:3);
}
\wheelchart[
- discrete partitioning=angle,
- middle={discrete\\partitioning=angle}
+ discrete partitioning=angle,
+ middle={discrete\\partitioning=angle}
]{\exampleforthismanual}
+\draw[->] (\WCcoordinate[6]{16})--++(5:2) node[right] {point 16 of slice 6};
\foreach\radius in {0,...,3}{
- \draw ({9+\radius/3},0) arc[start angle=0,end angle=180,radius={2+\radius/3}];
+ \draw ({2+\radius/3},-5) arc[start angle=0,end angle=180,radius={2+\radius/3}];
}
\wheelchart[
- at={(7,0)},
- middle={discrete\\partitioning=radius}
+ at={(0,-5)},
+ middle={discrete\\partitioning=radius}
]{\exampleforthismanual}
+\draw[->] (\WCcoordinate[7]{21})--++(5:2) node[right] {point 21 of slice 7};
\end{tikzpicture}
\end{codeexample}
\end{key}
@@ -743,17 +872,17 @@ The \meta{code} determines the \tikzname{} pics.
\begin{codeexample}[width=10cm]
\begin{tikzpicture}[yscale=-1]
\wheelchart[
- data=,
- discrete,
- discrete pic={
- \fill[draw=black] (-0.3,-0.3)
- rectangle +(0.6,0.6);
- \node[black] at (0,0)
- {\WCcountdiscrete};
- },
- discrete space at borders,
- value=\WCvarA/2,
- ybar={8}{8}
+ data=,
+ discrete,
+ discrete pic={
+ \fill[draw=black] (-0.3,-0.3)
+ rectangle +(0.6,0.6);
+ \node[black] at (0,0)
+ {\WCcountdiscrete};
+ },
+ discrete space at borders,
+ value=\WCvarA/2,
+ ybar={8}{8}
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -767,26 +896,26 @@ These options are illustrated in the examples below.
\begin{codeexample}[]
\begin{tikzpicture}
\pgfkeys{
- /wheelchart,
- data=,
- discrete,
- discrete pic={\shade[ball color=\WCvarB] (0,0) circle[radius=4pt];},
- discrete space at borders=false,
- middle style={font=\ttfamily},
- start angle=180,
- total angle=180,
- value=\WCvarA/2
+ /wheelchart,
+ data=,
+ discrete,
+ discrete pic={\shade[ball color=\WCvarB] (0,0) circle[radius=4pt];},
+ discrete space at borders=false,
+ middle style={font=\ttfamily},
+ start angle=180,
+ total angle=180,
+ value=\WCvarA/2
}
\wheelchart[
- legend columns=4,
- legend row={\tikz\shade[ball color=\WCvarB] (0,0) circle[radius=4pt]; & \WCvarC & \WCperc},
- legend={\node[anchor=north] at (3.5,-1) {\begin{tabular}{*{4}{l@{ }lr}}\WClegend\end{tabular}};},
- middle={discrete sort=angle}
+ legend columns=4,
+ legend row={\tikz\shade[ball color=\WCvarB] (0,0) circle[radius=4pt]; & \WCvarC & \WCperc},
+ legend={\node[anchor=north] at (3.5,-1) {\begin{tabular}{*{4}{l@{ }lr}}\WClegend\end{tabular}};},
+ middle={discrete sort=angle}
]{\exampleforthismanual}
\wheelchart[
- at={(7,0)},
- discrete sort=radius,
- middle={discrete sort=radius}
+ at={(7,0)},
+ discrete sort=radius,
+ middle={discrete sort=radius}
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -798,23 +927,23 @@ This key deliberately has no initial value in order to force awareness of the co
\begin{codeexample}[]
\begin{tikzpicture}
\pgfkeys{
- /wheelchart,
- discrete,
- discrete pic={\fill (0,0) circle[radius=4pt];},
- middle style={font=\ttfamily},
- start angle=180,
- total angle=180
+ /wheelchart,
+ discrete,
+ discrete pic={\fill (0,0) circle[radius=4pt];},
+ middle style={font=\ttfamily},
+ start angle=180,
+ total angle=180
}
\draw[Red,ultra thick] (-3,0.15)--+(6,0);
\wheelchart[
- discrete space at borders,
- middle={discrete space at borders=true}
+ discrete space at borders,
+ middle={discrete space at borders=true}
]{2/Cyan/,20/Gray/,2/Cyan/}
\draw[Green,ultra thick] (4,0)--+(6,0);
\wheelchart[
- at={(7,0)},
- discrete space at borders=false,
- middle={discrete space\\at borders=false}
+ at={(7,0)},
+ discrete space at borders=false,
+ middle={discrete space\\at borders=false}
]{2/Cyan/,20/Gray/,2/Cyan/}
\end{tikzpicture}
\end{codeexample}
@@ -822,21 +951,21 @@ In the example below, the red and green \tikzname{} pics overlap if |discrete sp
\begin{codeexample}[]
\begin{tikzpicture}
\pgfkeys{
- /wheelchart,
- discrete,
- discrete pic={\fill (0,0) circle[radius=\WClistradius pt];},
- middle style={font=\ttfamily}
+ /wheelchart,
+ discrete,
+ discrete pic={\fill (0,0) circle[radius=\WClistradius pt];},
+ middle style={font=\ttfamily}
}
\wheelchart[
- discrete space at borders,
- middle={discrete space\\at borders=true},
- WClistradius=4
+ discrete space at borders,
+ middle={discrete space\\at borders=true},
+ WClistradius=4
]{2/Red/,40/Gray/,2/Green/}
\wheelchart[
- at={(7,0)},
- discrete space at borders=false,
- middle={discrete space\\at borders=false},
- WClistradius={8,4,4}
+ at={(7,0)},
+ discrete space at borders=false,
+ middle={discrete space\\at borders=false},
+ WClistradius={8,4,4}
]{2/Red/,40/Gray/,2/Green/}
\end{tikzpicture}
\end{codeexample}
@@ -872,20 +1001,20 @@ The following example illustrates the difference between the possible values of
\def\WClistB{b,B}
\def\WCdata{\WClistA,\WClistB}
\foreach\expandlist [count=\n] in
- {false,once,true}{
-\wheelchart[
+ {false,once,true}{
+ \wheelchart[
at={({3.5*\n},0)},
data=\WCvarA,
expand list=\expandlist,
radius={0}{1},
slices style{list}={
- Dandelion,CarnationPink,
- SpringGreen,ProcessBlue
+ Dandelion,CarnationPink,
+ SpringGreen,ProcessBlue
},
title={expand list=\\\expandlist},
title style={font=\ttfamily},
value=1
-]{\WCdata}
+ ]{\WCdata}
}
\end{tikzpicture}
\end{codeexample}
@@ -893,16 +1022,16 @@ The initial setting |expand list=once| works in most situations, even when comma
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- %expand list=false,%false also works
- %expand list=true,%true doesn't work
- middle={expand list=\\false %
- {\normalfont or} once},
- middle style={font=\large\ttfamily}
+ %expand list=false,%false also works
+ %expand list=true,%true doesn't work
+ middle={expand list=\\false %
+ {\normalfont or} once},
+ middle style={font=\large\ttfamily}
]{%
- 1/Emerald/Section \ref{Keys},
- 1/Sepia/Reference \cite{TtTaPGFp},
- 1/YellowOrange/{$e^{i\pi}=-1$},
- 1/Salmon/\textbf{Text}%
+ 1/Emerald/Section \ref{Keys},
+ 1/Sepia/Reference \cite{TtTaPGFp},
+ 1/YellowOrange/{$e^{i\pi}=-1$},
+ 1/Salmon/\textbf{Text}%
}
\end{tikzpicture}
\end{codeexample}
@@ -910,17 +1039,17 @@ In the following example, the \meta{wheelchart data} from the previous example i
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\def\WClist{%
- 1/Emerald/Section \ref{Keys},
- 1/Sepia/Reference \cite{TtTaPGFp},
- 1/YellowOrange/{$e^{i\pi}=-1$},
- 1/Salmon/\textbf{Text}%
+ 1/Emerald/Section \ref{Keys},
+ 1/Sepia/Reference \cite{TtTaPGFp},
+ 1/YellowOrange/{$e^{i\pi}=-1$},
+ 1/Salmon/\textbf{Text}%
}
\wheelchart[
- %expand list=false,
- %expand list=true,
- %false and true do not work
- middle={expand list=once},
- middle style={font=\large\ttfamily}
+ %expand list=false,
+ %expand list=true,
+ %false and true do not work
+ middle={expand list=once},
+ middle style={font=\large\ttfamily}
]{\WClist}
\end{tikzpicture}
\end{codeexample}
@@ -930,13 +1059,13 @@ In the example below, we have to use |expand list=true|.
\def\WCcolorsA{Yellow,Red}
\def\WCcolorsB{Green,Blue}
\wheelchart[
- data=,
- expand list=true,%false and once
- %do not work
- middle={expand list=true},
- middle style={font=\large\ttfamily},
- slices style=\WCvarA,
- value=1
+ data=,
+ expand list=true,%false and once
+ %do not work
+ middle={expand list=true},
+ middle style={font=\large\ttfamily},
+ slices style=\WCvarA,
+ value=1
]{\WCcolorsA,\WCcolorsB}
\end{tikzpicture}
\end{codeexample}
@@ -948,10 +1077,10 @@ In the example below, we have to use |expand list=true| and the command |\expand
\def\WCsliceB{2/Tan/{\textbf{B}: $\pi$}}
\def\WCsliceBfinal{\expandonce\WCsliceB}
\wheelchart[
- expand list=true,%false and once
- %do not work
- middle={expand list=true},
- middle style={font=\large\ttfamily}
+ expand list=true,%false and once
+ %do not work
+ middle={expand list=true},
+ middle style={font=\large\ttfamily}
]{\WCsliceAfinal,\WCsliceBfinal}
%\WCsliceA and \WCsliceB do not work
\end{tikzpicture}
@@ -966,14 +1095,14 @@ This key is similar to the key |expand list| but applies to the items in the \me
\texttt{expand list items}%
\foreach\expandlistitems in
{false,once,true}{%
-\wheelchart[
+ \wheelchart[
expand list=false,
expand list items=\expandlistitems,
legend={; \texttt{\expandlistitems}:
\WCvarA},
legend only,
value=1
-]{\WCdata}%
+ ]{\WCdata}%
}
\end{codeexample}
\end{key}
@@ -994,21 +1123,21 @@ If the value of the key |gap| is too large then a slice can partly disappear suc
\begin{codeexample}[preamble={\usepackage{siunitx}}]
\begin{tikzpicture}
\foreach\gapmaxangle [count=\n] in {90,120,155}{
-\begin{scope}[shift={({5*\n},0)}]
-\wheelchart[
- gap=1,
- gap max angle=\gapmaxangle,
- radius={0}{2},
- total angle=315
-]{1/CornflowerBlue!50/}
-\fill (0,0) circle[radius=2pt];
-\draw (0,0) circle[radius=2];
-\draw (135:2)--(0:0)--(90:2);
-\draw (0:0)--({135+\gapmaxangle}:{1/sin(\gapmaxangle)}) arc[start angle={135+\gapmaxangle},
- end angle={450-\gapmaxangle},radius={1/sin(\gapmaxangle)}]--cycle;
-\node at (45:0.6) {\ang{\gapmaxangle}};
-\node at (180:0.6) {\ang{\gapmaxangle}};
-\end{scope}
+ \begin{scope}[shift={({5*\n},0)}]
+ \wheelchart[
+ gap=1,
+ gap max angle=\gapmaxangle,
+ radius={0}{2},
+ total angle=315
+ ]{1/CornflowerBlue!50/}
+ \fill (0,0) circle[radius=2pt];
+ \draw (0,0) circle[radius=2];
+ \draw (135:2)--(0:0)--(90:2);
+ \draw (0:0)--({135+\gapmaxangle}:{1/sin(\gapmaxangle)}) arc[start angle={135+\gapmaxangle},
+ end angle={450-\gapmaxangle},radius={1/sin(\gapmaxangle)}]--cycle;
+ \node at (45:0.6) {\ang{\gapmaxangle}};
+ \node at (180:0.6) {\ang{\gapmaxangle}};
+ \end{scope}
}
\end{tikzpicture}
\end{codeexample}
@@ -1020,15 +1149,15 @@ Note the difference between the keys |explode|, |gap| and |gap polar|. This is i
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- explode=1,
- middle={\Large\texttt{explode}},
- radius={1}{2},
- slices style={
- draw=Red,
- fill=none,
- ultra thick
- },
- total count=6
+ explode=1,
+ middle={\Large\texttt{explode}},
+ radius={1}{2},
+ slices style={
+ draw=Red,
+ fill=none,
+ ultra thick
+ },
+ total count=6
]{}
\draw (0,0) circle[radius=2];
\draw (0,0) circle[radius=3];
@@ -1037,44 +1166,49 @@ Note the difference between the keys |explode|, |gap| and |gap polar|. This is i
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- gap=0.5,
- middle={\Large\texttt{gap}},
- slices style={
- draw=Red,
- fill=none,
- ultra thick
- },
- total count=6
+ gap=0.5,
+ legend entry={
+ \draw (\WCcoordinate{outer end})
+ --(\WCcoordinate[\WCcount -2]
+ {outer start});
+ \draw[<->] (\WCpoint{1}{0}{0.5}{0})
+ --(\WCpoint[\WCcount +1]
+ {0}{0}{0.5}{0});
+ },
+ middle={\Large\texttt{gap}},
+ slices style={
+ draw=Red,
+ fill=none,
+ ultra thick
+ },
+ total count=6
]{}
\draw (0,0) circle[radius=2];
\draw (0,0) circle[radius=3];
-\foreach\a in {0,60,120}{
-\foreach\x in {-0.5,0.5}{
-\draw[rotate=\a] (\x,{sqrt(3^2-0.5^2)})
- --(\x,{-sqrt(3^2-0.5^2)});
-}
-}
\end{tikzpicture}
\end{codeexample}
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- gap polar=10,
- middle={\Large\texttt{gap polar}},
- slices style={
- draw=Red,
- fill=none,
- ultra thick
- },
- total count=6
+ gap polar=10,
+ legend entry{1,2,3}={
+ \draw (\WCcoordinate{outer start})
+ --(\WCcoordinate[\WCcount +3]
+ {outer start});
+ \draw (\WCcoordinate{outer end})
+ --(\WCcoordinate[\WCcount +3]
+ {outer end});
+ },
+ middle={\Large\texttt{gap polar}},
+ slices style={
+ draw=Red,
+ fill=none,
+ ultra thick
+ },
+ total count=6
]{}
\draw (0,0) circle[radius=2];
\draw (0,0) circle[radius=3];
-\foreach\a in {30,90,150}{
-\foreach\t in {-10,10}{
-\draw ({\t+\a}:3)--({\t+\a+180}:3);
-}
-}
\end{tikzpicture}
\end{codeexample}
\end{key}
@@ -1084,12 +1218,12 @@ The \meta{value} of this key will be added to |inner radius| and substracted fro
\begin{tikzpicture}
\def\n{73}
\wheelchart[
- data=,
- gap radius=\WCvarC,
- middle={\Huge\qty{\n}{\percent}}
+ data=,
+ gap radius=\WCvarC,
+ middle={\Huge\qty{\n}{\percent}}
]{%
- \n/NavyBlue/0,
- {100-\n}/BurntOrange/0.2%
+ \n/NavyBlue/0,
+ {100-\n}/BurntOrange/0.2%
}
\draw[Gray] (0,0) circle[radius=1.9];
\end{tikzpicture}
@@ -1140,38 +1274,38 @@ If true then only the legend is constructed. This does \emph{not} apply to the k
In this case it is \emph{not} necessary to place the command |\wheelchart| in a |tikzpicture| environment.
\begin{codeexample}[width=10cm,preamble={\usepackage{tikzlings}}]
\wheelchart[
- header={animal,accessory},
- legend columns=3,
- legend only,
- legend row={\tikz[scale=0.3]{
- \csname \WCanimal\endcsname[
- signpost=\WCcount,
- \WCaccessory
- ]} & \WCanimal},
- legend={%
- \begin{tabular}{*{3}{cl}}
- \multicolumn{6}{c}{%
- \WCtotalcount{} animals%
- from the package%
- \texttt{tikzlings}}\\\hline
- \WClegend\hline
- \end{tabular}%
- },
- separator columns={{ }},
- separator rows=;,
- value=1
+ header={animal,accessory},
+ legend columns=3,
+ legend only,
+ legend row={\tikz[scale=0.3]{
+ \csname \WCanimal\endcsname[
+ signpost=\WCcount,
+ \WCaccessory
+ ]} & \WCanimal},
+ legend={%
+ \begin{tabular}{*{3}{cl}}
+ \multicolumn{6}{c}{%
+ \WCtotalcount{} animals%
+ from the package%
+ \texttt{tikzlings}}\\\hline
+ \WClegend\hline
+ \end{tabular}%
+ },
+ separator columns={{ }},
+ separator rows=;,
+ value=1
]{%
- bear basket;
- bee book;
- bug chef;
- cat crown;
- elephant football;
- koala handbag;
- owl hat;
- panda icecream;
- penguin milkshake;
- snowman santa;
- squirrel shovel%
+ bear basket;
+ bee book;
+ bug chef;
+ cat crown;
+ elephant football;
+ koala handbag;
+ owl hat;
+ panda icecream;
+ penguin milkshake;
+ snowman santa;
+ squirrel shovel%
}
\end{codeexample}
\end{key}
@@ -1189,38 +1323,38 @@ The result is stored in the macro |\WClegend|.
\UseTblrLibrary{counter,siunitx}}]
\begin{tikzpicture}
\wheelchart[
- after slices={
- \pgfdeclareradialshading{WCshading}{\pgfpoint{0cm}{0cm}}{
- color(0bp)=(\WCvarB);
- color(16.66666bp)=(\WCvarB);%2/3 * 25bp
- color(20.83333bp)=(\WCvarB!10);%2.5/3 * 25bp
- color(25bp)=(\WCvarB);
- color(50bp)=(\WCvarB)
- }
- \shade[even odd rule,shading=WCshading] (0,0) circle[radius=3] circle[radius=2];
- },
- data=,
- legend row={\tikz\fill[\WCvarB] (0,0) rectangle (0.3,0.3);%
- & \WCvarC & \WCvarA & \WCpercentagerounded & \WCvarD},
- legend={
- \node[anchor=west] at (3.5,0) {%
- \begin{tblr}[expand=\WClegend]{
- colspec={llS[table-format=3.0]S[table-format=2.0{\,\unit{\percent}}]l},
- column{1}={rightsep=0pt,appto={\ }},
- column{2}={leftsep=0pt},
- cell{2-Y}{4}={appto={\,\unit{\percent}}},
- row{1}={guard}
- }
- & Fruit & Value & Percentage & Vitamins\\\hline
- \WClegend\hline
- & \textbf{Total} & \WCtotalnum & & \\
- \end{tblr}%
- };
- },
- slices style={
- fill=none,
- clip
+ after slices={
+ \pgfdeclareradialshading{WCshading}{\pgfpoint{0cm}{0cm}}{
+ color(0bp)=(\WCvarB);
+ color(16.66666bp)=(\WCvarB);%2/3 * 25bp
+ color(20.83333bp)=(\WCvarB!10);%2.5/3 * 25bp
+ color(25bp)=(\WCvarB);
+ color(50bp)=(\WCvarB)
}
+ \shade[even odd rule,shading=WCshading] (0,0) circle[radius=3] circle[radius=2];
+ },
+ data=,
+ legend row={\tikz\fill[\WCvarB] (0,0) rectangle (0.3,0.3);%
+ & \WCvarC & \WCvarA & \WCpercentagerounded & \WCvarD},
+ legend={
+ \node[anchor=west] at (3.5,0) {%
+ \begin{tblr}[expand=\WClegend]{
+ colspec={llS[table-format=3.0]S[table-format=2.0{\,\unit{\percent}}]l},
+ column{1}={rightsep=0pt,appto={\ }},
+ column{2}={leftsep=0pt},
+ cell{2-Y}{4}={appto={\,\unit{\percent}}},
+ row{1}=guard
+ }
+ & Fruit & Value & Percentage & Vitamins\\\hline
+ \WClegend\hline
+ & \textbf{Total} & \WCtotalnum & & \\
+ \end{tblr}%
+ };
+ },
+ slices style={
+ fill=none,
+ clip
+ }
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -1230,22 +1364,22 @@ The \meta{value} is used in the positioning of the contents of the key |data|. T
\begin{codeexample}[width=10cm,preamble={\usepackage{siunitx}}]
\begin{tikzpicture}
\def\WCtest#1#2{%
- \pgfmathparse{
- \WCpercentage>10?"#1":"#2"
- }%
- \pgfmathresult%
+ \pgfmathparse{
+ \WCpercentage>10?"#1":"#2"
+ }%
+ \pgfmathresult%
}
\wheelchart[
- data=\WCtest{}{\WCperc},
- lines={\WCpercentage>10?0:0.5},
- lines style={dotted,thick},
- pie,
- slices style={
- bottom color=\WCvarB,
- top color=\WCvarB!80!black,
- shading angle=\WCmidangle-90
- },
- wheel data=\WCtest{\WCperc}{}
+ data=\WCtest{}{\WCperc},
+ lines={\WCpercentage>10?0:0.5},
+ lines style={dotted,thick},
+ pie,
+ slices style={
+ bottom color=\WCvarB,
+ top color=\WCvarB!80!black,
+ shading angle=\WCmidangle-90
+ },
+ wheel data=\WCtest{\WCperc}{}
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -1281,40 +1415,40 @@ $\ointerval{270+\text{|lines ext dirsep|}}{360}$ & right\\
\begin{tikzpicture}[font=\ttfamily]
\def\WClinesextdirsep{10}
\wheelchart[
- data{1,6}=lines ext top dir,
- data{2}=right,
- data{3,4}=lines ext bottom dir,
- data{5}=left,
- data angle pos=\WClistdap,
- data sep=0,
- inner data angle pos{1,4}=0.1,
- inner data angle pos{3,6}=0.9,
- inner data pos=1,
- inner data sep=0.4,
- inner data style={anchor=\WClistia},
- lines=0.6,
- lines{1,3}=0.2,
- lines angle pos=\WClistdap,
- lines ext,
- lines ext dirsep=\WClinesextdirsep,
- lines sep{list}={0.7,0.2,0.7},
- lines style=->,
- slice{1,3,4,6}={
- arc=<->,
- inner data=lines ext dirsep,
- value=\WClinesextdirsep
- },
- slices style={
- draw,
- pattern=\WClistpattern
- },
- total count=6,
- value{2,5}=180-2*\WClinesextdirsep,
- WClistdap={0.9,0.2,0.1},
- WClistia={west,east},
- WClistpattern={
- crosshatch,dots,crosshatch
- }
+ data{1,6}=lines ext top dir,
+ data{2}=right,
+ data{3,4}=lines ext bottom dir,
+ data{5}=left,
+ data angle pos=\WClistdap,
+ data sep=0,
+ inner data angle pos{1,4}=0.1,
+ inner data angle pos{3,6}=0.9,
+ inner data pos=1,
+ inner data sep=0.4,
+ inner data style={anchor=\WClistia},
+ lines=0.6,
+ lines{1,3}=0.2,
+ lines angle pos=\WClistdap,
+ lines ext,
+ lines ext dirsep=\WClinesextdirsep,
+ lines sep{list}={0.7,0.2,0.7},
+ lines style=->,
+ slice{1,3,4,6}={
+ arc=<->,
+ inner data=lines ext dirsep,
+ value=\WClinesextdirsep
+ },
+ slices style={
+ draw,
+ pattern=\WClistpattern
+ },
+ total count=6,
+ value{2,5}=180-2*\WClinesextdirsep,
+ WClistdap={0.9,0.2,0.1},
+ WClistia={west,east},
+ WClistpattern={
+ crosshatch,dots,crosshatch
+ }
]{}
\end{tikzpicture}
\end{codeexample}
@@ -1358,86 +1492,86 @@ This key accepts a list of keys which will be applied to the lines drawn by the
\usetikzlibrary{decorations.markings}}]
\begin{tikzpicture}
\wheelchart[
- data=\WCperc,
- data angle pos{4}=0.2,
-% data style={outer xsep=4pt},
- legend columns=2,
- legend row={\tikz\fill[\WCvarB] (0,0) circle[radius=0.15]; & \WCvarC & $\WCvarA$},
- legend={
- \node[anchor=north,draw,rounded corners,thick] at (0,-4.5) {%
- \begin{tabular}{*{2}{l@{ }lr}}%
- \WClegend%
- \end{tabular}%
- };
- },
- lines=0.5,
- lines ext=1,
- lines ext bottom dir=left,
- lines ext dirsep=1,
- lines ext fixed,
- lines ext top dir=right,
- lines sep=0,
- lines style={
- \WCvarB,
- postaction=decorate,
- decoration={
- markings,
- mark=at position 1 with {\fill[\WCvarB] (0,0) circle[radius=0.15];}
- }
- },
- start angle=331.2
+ data=\WCperc,
+ data angle pos{4}=0.2,
+% data style={outer xsep=4pt},
+ legend columns=2,
+ legend row={\tikz\fill[\WCvarB] (0,0) circle[radius=0.15]; & \WCvarC & $\WCvarA$},
+ legend={
+ \node[anchor=north,draw,rounded corners,thick] at (0,-4.5) {%
+ \begin{tabular}{*{2}{l@{ }lr}}%
+ \WClegend%
+ \end{tabular}%
+ };
+ },
+ lines=0.5,
+ lines ext=1,
+ lines ext bottom dir=left,
+ lines ext dirsep=1,
+ lines ext fixed,
+ lines ext top dir=right,
+ lines sep=0,
+ lines style={
+ \WCvarB,
+ postaction=decorate,
+ decoration={
+ markings,
+ mark=at position 1 with {\fill[\WCvarB] (0,0) circle[radius=0.15];}
+ }
+ },
+ start angle=331.2
]{\exampleforthismanual}
\wheelchart[
- data=,
- radius={1.5}{2},
- slices style=\WCvarB!70,
- start angle=331.2
+ data=,
+ radius={1.5}{2},
+ slices style=\WCvarB!70,
+ start angle=331.2
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- data sep=0,
- data style={
- inner sep=0pt,
- shift={(0,0.1)}
- },
- lines=0.5,
- lines ext=1.2,
- lines ext bottom dir=right,
- lines ext dirsep=1,
- %lines ext fixed,
- lines ext left anchor=base west,
- lines ext right anchor=base east,
- lines ext top dir=left,
- lines pos=0.5,
- lines sep=0,
- %lines style=\WCvarB,
- start angle=331.2
+ data sep=0,
+ data style={
+ inner sep=0pt,
+ shift={(0,0.1)}
+ },
+ lines=0.5,
+ lines ext=1.2,
+ lines ext bottom dir=right,
+ lines ext dirsep=1,
+ %lines ext fixed,
+ lines ext left anchor=base west,
+ lines ext right anchor=base east,
+ lines ext top dir=left,
+ lines pos=0.5,
+ lines sep=0,
+ %lines style=\WCvarB,
+ start angle=331.2
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
\begin{codeexample}[width=10cm,preamble={\usetikzlibrary{decorations.markings}}]
\begin{tikzpicture}
\wheelchart[
- data=\WCvarC: \WCvarA,
- data angle shift=\WCvarG,
- data sep=0,
- data style={draw=\WCvarB,fill=\WCvarB!20},
- lines=1.5,
- lines ext=1,
- lines sep=-1,
- lines style={
- Black,
- postaction=decorate,
- decoration={
- markings,
- mark=at position 0 with {\fill[Black] (0,0) circle[radius=0.15];}
- }
- },
- pie,
- start angle=331.2
+ data=\WCvarC: \WCvarA,
+ data angle shift=\WCvarG,
+ data sep=0,
+ data style={draw=\WCvarB,fill=\WCvarB!20},
+ lines=1.5,
+ lines ext=1,
+ lines sep=-1,
+ lines style={
+ Black,
+ postaction=decorate,
+ decoration={
+ markings,
+ mark=at position 0 with {\fill[Black] (0,0) circle[radius=0.15];}
+ }
+ },
+ pie,
+ start angle=331.2
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -1446,29 +1580,7 @@ This key accepts a list of keys which will be applied to the lines drawn by the
This key contains the \meta{text} which will be placed at the center of the wheelchart. The \meta{text} is placed in a node. The style of this node is given as follows. First, the option |align=center| is given. Thereafter, the style of the key |middle style| is added.
\end{key}
\begin{stylekey}{/wheelchart/middle fill=\marg{options} (initially \normalfont empty)}
-If this key is set then the middle of the wheelchart will be filled with this style. This key does \emph{not} apply if a plot is used.
-\begin{codeexample}[width=10cm]
-\begin{tikzpicture}
-\wheelchart[
- counterclockwise,
- middle fill={
- Green,
- draw=Red,
- ultra thick
- },
- radius={0.8*\WCcount}
- {0.4+0.8*\WCcount},
- slices style={
- draw=Blue,
- fill=none,
- ultra thick
- },
- start angle=0,
- total angle=300,
- total count=4
-]{}
-\end{tikzpicture}
-\end{codeexample}
+If this key is set then the middle of the wheelchart will be filled with this style. This requires a fixed inner and outer radius for all slices. This key does \emph{not} apply if a plot is used.
\end{stylekey}
\begin{stylekey}{/wheelchart/middle style=\marg{options} (initially \normalfont empty)}
This key accepts a list of keys which will be applied to the node where the contents of the key |middle| is placed.
@@ -1481,30 +1593,34 @@ This key is similar to the key |inner plot| but determines the outer parts of th
\begin{codeexample}[]
\begin{tikzpicture}
\wheelchart[
- inner plot={{#1}:{#2+0.2*(cos(#1*\WCtotalcount)+1)}},
- outer plot={{#1}:{#2+0.2*(cos(#1*\WCtotalcount*2)+1)}}
+ inner plot={{#1}:{#2+0.2*(cos(#1*\WCtotalcount)+1)}},
+ outer plot={{#1}:{#2+0.2*(cos(#1*\WCtotalcount*2)+1)}}
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
-\begin{tikzpicture}
-\wheelchart[
- arc data=\WCvarC,
- arc data pos=0.5,
- data=,
- domain=0:450,
- inner plot={
- {int((#1)/180)*5+(0.5-((-1)^Mod(int((#1)/180),2))*2.5)*cos(#1)},
- {(2.5-((-1)^Mod(int((#1)/180),2))*0.5)*sin(#1)}
- },
- outer plot={
- {int((#1)/180)*5+(-0.5-((-1)^Mod(int((#1)/180),2))*2.5)*cos(#1)},
- {(2.5+((-1)^Mod(int((#1)/180),2))*0.5)*sin(#1)}
- },
- value=1
+\catcode`|=12%
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
+\begin{tikzpicture}
+\wheelchart[
+ arc data=slice \WCcount\\|\bfseries|\WCvarC,
+ arc data expand=f,
+ arc data pos=0.5,
+ arc data line sep factor=1.5,
+ data=,
+ domain=0:450,
+ inner plot={
+ {int((#1)/180)*5+(0.5-((-1)^Mod(int((#1)/180),2))*2.5)*cos(#1)},
+ {(2.5-((-1)^Mod(int((#1)/180),2))*0.5)*sin(#1)}
+ },
+ outer plot={
+ {int((#1)/180)*5+(-0.5-((-1)^Mod(int((#1)/180),2))*2.5)*cos(#1)},
+ {(2.5+((-1)^Mod(int((#1)/180),2))*0.5)*sin(#1)}
+ },
+ value=width("\WCvarC")
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
+\catcode`|=13%
\end{key}
\begin{stylekey}{/wheelchart/outer plot style=\marg{options} (initially \normalfont empty)}
This key accepts a list of keys which will be applied to the plot determined by the key |outer plot|.
@@ -1512,14 +1628,8 @@ This key accepts a list of keys which will be applied to the plot determined by
\begin{key}{/wheelchart/outer radius=\marg{value} (initially 3)}
The \meta{value} of this key defines the outer radius of the wheelchart.
\end{key}
-\begin{key}{/wheelchart/parse=\mchoice{pgfmath,l3fp} (initially pgfmath)}
-\begin{description}
-\item[\texttt{pgfmath}] In this case, the values of applicable keys will be parsed with |\pgfmathparse|.
-\item[\texttt{l3fp}] In this case, the values of applicable keys will be parsed with |\fp_eval:n|.
-\end{description}
-\end{key}
\begin{key}{/wheelchart/perc precision=\marg{number} (initially 0)}
-This key defines the number of decimals up to which the percentage in the macros |\WCperc| and |\WCpercentagerounded| are rounded.
+This key defines the number of decimals up to which the percentage in the macros |\WCperc| and |\WCpercentagerounded| is rounded. The rounding is performed with |l3fp|. With the initial setting, for example \num{49.5} and \num{50.5} are both rounded to 50. With |perc precision={0,1}|, \num{49.5} is rounded to 50 and \num{50.5} to 51.
\end{key}
\begin{key}{/wheelchart/pie=\opt{\meta{boolean}} (default true, initially false)}
If true, the inner radius of the wheelchart is set to |0|.
@@ -1533,67 +1643,67 @@ Note that positions depend on the |domain| and \emph{not} on the length of the |
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- domain=0:2,
- plot={{(#1)^2},{#2}},
- wheel data=text B,
- wheel data angle pos=sqrt(2)/2
+ domain=0:2,
+ plot={{(#1)^2},{#2}},
+ wheel data=text B,
+ wheel data angle pos=sqrt(2)/2
]{1/BrickRed/text A}
\end{tikzpicture}
\end{codeexample}
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- plot={{#1}:{0.5*(sin(#1*3)+1)+#2}}
+ plot={{#1}:{0.5*(sin(#1*3)+1)+#2}}
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
\begin{codeexample}[]
\begin{tikzpicture}
\wheelchart[
- domain=0:720,
- gap polar=5,
- plot={{#1*3.5/180},{sin(#1)-#2}},
- radius={0}{2},
- value=1,
- wheel data=\WCcount,
- wheel data pos=0.5
+ domain=0:720,
+ gap polar=5,
+ plot={{#1*3.5/180},{sin(#1)-#2}},
+ radius={0}{2},
+ value=1,
+ wheel data=\WCcount,
+ wheel data pos=0.5
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[width=10cm,preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}
\wheelchart[
- arc data=\WCvarC,
- arc data dir={\WCmidangle<180?-1:1},
- arc data pos=0.5,
- data=,
- domain=0:900,
- plot={{#1}:
- {(((#1)*pi/180+15)^2-1)/300
- +(#2)-0.25}},
- radius={0}{0.5},
- slices arrow={1}{0},
- value=sqrt(3+\WCcount*pi*(pi+6)/7)-
- sqrt(3+(\WCcount-1)*pi*(pi+6)/7)
+ arc data=\WCvarC,
+ arc data dir={\WCmidangle<180?-1:1},
+ arc data pos=0.5,
+ data=,
+ domain=0:900,
+ plot={{#1}:
+ {(((#1)*pi/180+15)^2-1)/300
+ +(#2)-0.25}},
+ radius={0}{0.5},
+ slices arrow={1}{0},
+ value=sqrt(3+\WCcount*pi*(pi+6)/7)-
+ sqrt(3+(\WCcount-1)*pi*(pi+6)/7)
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
\begin{codeexample}[]
\begin{tikzpicture}
\pgfkeys{
- /wheelchart,
- gap,
- radius={1.3}{2},
- start angle=180*(1-2/\WCtotalcount),
- value=1
+ /wheelchart,
+ gap,
+ radius={1.3}{2},
+ start angle=180*(1-2/\WCtotalcount),
+ value=1
}
\wheelchart[
- plot={{#1}:{(#2)*cos(180/\WCtotalcount)/cos(Mod(#1,{360/\WCtotalcount})-180/\WCtotalcount)}}
+ plot={{#1}:{(#2)*cos(180/\WCtotalcount)/cos(Mod(#1,{360/\WCtotalcount})-180/\WCtotalcount)}}
]{\exampleforthismanual}
\wheelchart[
- at={(8,0)},
- slices inner arrow={-cot(90*(1-2/\WCtotalcount))}{0},
- slices outer arrow={cot(90*(1-2/\WCtotalcount))}{0}
+ at={(8,0)},
+ slices inner arrow={-cot(90*(1-2/\WCtotalcount))}{0},
+ slices outer arrow={cot(90*(1-2/\WCtotalcount))}{0}
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -1603,20 +1713,6 @@ This key sets |inner plot style| and |outer plot style|.
\end{stylekey}
\begin{key}{/wheelchart/radius=\marg{inner radius}\marg{outer radius}}
This key defines the inner and outer radius of the wheelchart.
-\begin{codeexample}[width=10cm]
-\begin{tikzpicture}
-\wheelchart[
- contour={Green,ultra thick},
- data=,
- radius={0.5}{\WCcount},
- slices style=\WCvarA,
- start angle=180,
- total angle=180,
- value=2,
- wheel lines={\WCvarA!50,ultra thick}
-]{Yellow,Orange,Red,Blue}
-\end{tikzpicture}
-\end{codeexample}
\end{key}
\begin{key}{/wheelchart/samples=\marg{number} (initially 25)}
This key determines the \meta{number} of samples used in the plots.
@@ -1628,55 +1724,32 @@ The \meta{wheelchart data} in the command |\wheelchart| is a list in which the i
\end{key}
\begin{key}{/wheelchart/slices=\marg{path}}
If this key is set then the shape of the slices of the wheelchart is defined by \meta{path}.
-\begin{codeexample}[width=10cm]
-\begin{tikzpicture}
-\wheelchart[
- radius={2.7}{3.1},
- slices={(0,-0.3)--(0.3,0)--(0,0.3)
- --cycle;},
- value=1
-]{\exampleforthismanual}
-\wheelchart[
- data=,
- value=1
-]{\exampleforthismanual}
-\wheelchart[
- data=,
- radius={2}{2},
- slices={(0,0) circle[radius=0.4];},
- slices style=White,
- value=1
-]{\exampleforthismanual}
-\wheelchart[
- data=,
- radius={2}{2},
- slices={(0,0) circle[radius=0.3];},
- value=1,
- wheel data=\WCcount
-]{\exampleforthismanual}
-\end{tikzpicture}
-\end{codeexample}
+
In the following example, a |;| is placed at the beginning of the argument for the key |slices| because there is no path to be filled. Thereafter, a node is placed still within the argument for the key |slices|.
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- data=,
- radius={3.5}{3.5},
- slices={;\node[
- bottom color=\WCvarB!60,
- top color=\WCvarB!10,
- circle,
- draw=gray,
- minimum width=2.5cm
- ] (WCslice\WCcount)
- {\WCcount: \WCvarC};},
- slices style={},
- start half,
- value=1
+ data=,
+ radius={3.5}{3.5},
+ slices={
+ ;
+ \node[
+ bottom color=\WCvarB!60,
+ top color=\WCvarB!10,
+ circle,
+ draw=gray,
+ minimum width=2.5cm
+ ]
+ (WCslice\WCcount)
+ {\WCcount: \WCvarC};
+ },
+ slices style={},
+ start half,
+ value=1
]{\exampleforthismanual}
\foreach\n in {1,...,7}{
-\pgfmathsetmacro{\k}{int(Mod(\n,7)+1)}
-\draw[->,line width=2pt] (WCslice\n)
+ \pgfmathsetmacro{\k}{int(Mod(\n,7)+1)}
+ \draw[->,line width=2pt] (WCslice\n)
to[bend left=10] (WCslice\k);
}
\end{tikzpicture}
@@ -1687,44 +1760,44 @@ In the following example, a |;| is placed at the beginning of the argument for t
\begin{key}{/wheelchart/slices angle shift=\marg{angle} (initially 0)}
These keys determine the position of the slices if the key |slices| is used similar as the corresponding keys for the key |data|.
\end{key}
-Below we list some keys to modify the shape of the slices. These keys only affect the shape of the slices and \emph{not} the computation of the inner and outer plot. In particular, these keys do \emph{not} affect the placement of |arc data|, |data|, |inner data|, |lines|, |wheel data| and |wheel lines|. If this placement should be changed then the keys |inner plot| and |outer plot| can be used.
+Below we list some keys to modify the shape of the slices. These keys only affect the shape of the slices and \emph{not} the computation of the inner and outer sides. In particular, these keys do \emph{not} affect the placement of |arc|, |arc data|, |data|, |inner data|, |lines|, |wheel data| and |wheel lines|. If this placement should be changed then the keys |inner plot| and |outer plot| can be used.
\begin{key}{/wheelchart/slices arc=\marg{value 1}\marg{value 2}}
This key sets |slices end arc| and |slices start arc| but uses the opposite of \meta{value 1} for |slices start arc|.
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- slices arc={1}{0},
- wheel data=\WCcount,
- wheel data angle pos=1,
- wheel data pos=0.5,
- wheel data style={
- circle,
- fill=\WCvarB!50
- }
+ slices arc={1}{0},
+ wheel data=\WCcount,
+ wheel data angle pos=1,
+ wheel data pos=0.5,
+ wheel data style={
+ circle,
+ fill=\WCvarB!50
+ }
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- data=,
- radius={1}{4.5},
- slices arc={1}{0.66},
- slices style=\WCvarA,
- start half,
- value=1,
- wheel data={%
- \textbf{Number \WCcount}\\%
- \WCvarB%
- },
- wheel data pos=0.5,
- wheel data style=White
+ data=,
+ radius={1}{4.5},
+ slices arc={1}{0.66},
+ slices style=\WCvarA,
+ start half,
+ value=1,
+ wheel data={%
+ \textbf{Number \WCcount}\\%
+ \WCvarB%
+ },
+ wheel data pos=0.5,
+ wheel data style=White
]{%
- Yellow/Some text A,
- Orange/Some text B,
- Red/Some text C,
- Green/Some text D,
- Blue/Some text E%
+ Yellow/Some text A,
+ Orange/Some text B,
+ Red/Some text C,
+ Green/Some text D,
+ Blue/Some text E%
}
\end{tikzpicture}
\end{codeexample}
@@ -1734,7 +1807,7 @@ If true then the keys |slices end arc|, |slices inner arc| and |slices start arc
\begin{codeexample}[width=10cm]
\begin{tikzpicture}[font=\scriptsize]
\foreach\a/\x in {0/0,45/4.5}{
-\wheelchart[
+ \wheelchart[
at={(\x,0)},
data=,
gap,
@@ -1744,7 +1817,7 @@ If true then the keys |slices end arc|, |slices inner arc| and |slices start arc
value=1,
wheel data=\WCvarC,
wheel data angle pos=0.6
-]{\exampleforthismanual}
+ ]{\exampleforthismanual}
}
\end{tikzpicture}
\end{codeexample}
@@ -1754,14 +1827,14 @@ If true then the keys |slices end arc|, |slices inner arc| and |slices start arc
\begin{codeexample}[]
\begin{tikzpicture}
\foreach\a/\x in {-60/0,0/4.5,60/10}{
-\wheelchart[
+ \wheelchart[
at={(\x,0)},
radius={0.66}{2},
slices arc inner end start,
slices inner angle shift=\a,
slices style={fill=none,draw=Turquoise,ultra thick},
total count=20
-]{}
+ ]{}
}
\end{tikzpicture}
\end{codeexample}
@@ -1771,20 +1844,20 @@ If true then the keys |slices end arc|, |slices inner arc| and |slices start arc
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- middle={%
- slices arc\\%
- inner start,\\%
- slices inner\\%
- angle shift=90%
- },
- middle style={font=\ttfamily},
- slices arc inner start,
- slices inner angle shift=90
+ middle={%
+ slices arc\\%
+ inner start,\\%
+ slices inner\\%
+ angle shift=90%
+ },
+ middle style={font=\ttfamily},
+ slices arc inner start,
+ slices inner angle shift=90
]{%
- 1/Goldenrod/,
- 1/Mahogany/,
- 1/JungleGreen/,
- 1/RoyalBlue/%
+ 1/Goldenrod/,
+ 1/Mahogany/,
+ 1/JungleGreen/,
+ 1/RoyalBlue/%
}
\end{tikzpicture}
\end{codeexample}
@@ -1794,17 +1867,17 @@ If true then the keys |slices end arc|, |slices inner arc| and |slices start arc
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- data=,
- gap polar=5,
- middle={%
- slices arc\\%
- inner start end%
- },
- middle style={font=\ttfamily},
- slices arc inner start end,
- value=1,
- wheel data=\WCvarC,
- wheel data pos=0.4
+ data=,
+ gap polar=5,
+ middle={%
+ slices arc\\%
+ inner start end%
+ },
+ middle style={font=\ttfamily},
+ slices arc inner start end,
+ value=1,
+ wheel data=\WCvarC,
+ wheel data pos=0.4
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -1816,20 +1889,20 @@ Here, \meta{arg 1} must be |end|, |inner|, |outer| or |start| and \meta{arg 2},
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\foreach\a/\b/\x in
- {end/1/0,inner/-1/4.8}{
-\wheelchart[
+ {end/1/0,inner/-1/4.8}{
+ \wheelchart[
at={(\x,0)},
radius={0.66}{2},
slices arc match=
- {\a}{\b}{1}{1}{inner end}
- {inner start}{outer end},
+ {\a}{\b}{1}{1}{inner end}
+ {inner start}{outer end},
slices inner angle shift=60,
slices style={
- fill=none,
- draw=Turquoise
+ fill=none,
+ draw=Turquoise
},
total count=20
-]{}
+ ]{}
}
\end{tikzpicture}
\end{codeexample}
@@ -1842,16 +1915,16 @@ If true then the keys |slices end arc|, |slices outer arc| and |slices start arc
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- data=,
- gap polar=5,
- middle={%
- slices arc\\%
- outer end start%
- },
- middle style={font=\ttfamily},
- slices arc outer end start,
- value=1,
- wheel data=\WCvarC
+ data=,
+ gap polar=5,
+ middle={%
+ slices arc\\%
+ outer end start%
+ },
+ middle style={font=\ttfamily},
+ slices arc outer end start,
+ value=1,
+ wheel data=\WCvarC
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -1861,25 +1934,25 @@ If true then the keys |slices end arc|, |slices outer arc| and |slices start arc
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- data=,
- gap=0.1,
- slices arc inner start,
- slices arc outer start,
- slices style={
- \WCvarB!50,
- draw=\WCvarB,
- ultra thick
- },
- value=1,
- wheel data=\WCcount,
- wheel data pos=0.8
+ data=,
+ gap=0.1,
+ slices arc inner start,
+ slices arc outer start,
+ slices style={
+ \WCvarB!50,
+ draw=\WCvarB,
+ ultra thick
+ },
+ value=1,
+ wheel data=\WCcount,
+ wheel data pos=0.8
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
\begin{codeexample}[]
\begin{tikzpicture}
\foreach\a/\x in {0/0,45/5,90/10}{
-\wheelchart[
+ \wheelchart[
at={(\x,0)},
data=,
gap,
@@ -1887,7 +1960,7 @@ If true then the keys |slices end arc|, |slices outer arc| and |slices start arc
slices arc outer start,
slices outer angle shift=\a,
value=1
-]{\exampleforthismanual}
+ ]{\exampleforthismanual}
}
\end{tikzpicture}
\end{codeexample}
@@ -1895,16 +1968,52 @@ If true then the keys |slices end arc|, |slices outer arc| and |slices start arc
\begin{key}{/wheelchart/slices arc outer start end=\opt{\meta{boolean}} (default true, initially false)}
If true then the keys |slices end arc|, |slices outer arc| and |slices start arc| are set such that the outer part and the start of each of the slices of the wheelchart form one arc and such that the end has the same curvature as the start.
\end{key}
+\begin{key}{/wheelchart/slices Arrow=\marg{angle}}
+This key sets |slices end| to |--(\WCpoint{1}{|\meta{angle}|}{0.5}{0})--(\WCpoint{1}{0}{0}{0})| and |slices start| to |--(\WCpoint{0}{|\meta{angle}|}{0.5}{0})--cycle|.
+\end{key}
\begin{key}{/wheelchart/slices arrow=\marg{value 1}\marg{value 2}}
This key is similar to the key |slices arc| but draws an arrow.
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- gap=0.3,
- slices arrow={1}{-1}
+ gap=0.3,
+ slices arrow={1}{-1}
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
+The example below compares arrows constructed with the key |slices Arrow| and the key |slices arrow|. Using the key |slices Arrow|, the arrow tip lies on the circle but the line segments do \emph{not} have the same length. Using the key |slices arrow|, the arrow tip does \emph{not} lie on the circle but the line segments have the same length.
+\begin{codeexample}[width=10cm]
+\begin{tikzpicture}
+\wheelchart[
+ gap=0.3,
+ middle=slices Arrow,
+ middle style={font=\ttfamily},
+ slices Arrow=10,
+ slices style={
+ fill=none,
+ draw=Bittersweet
+ },
+ total count=3
+]{}
+\draw (0,0) circle[radius=2.5];
+\wheelchart[
+ at={(0,-7)},
+ gap=0.3,
+ middle=slices arrow,
+ middle style={font=\ttfamily},
+ slices arrow={1}{0},
+ slices style={
+ fill=none,
+ draw=CadetBlue
+ },
+ total count=3
+]{}
+\draw (0,-7) circle[radius=2.5];
+\end{tikzpicture}
+\end{codeexample}
+\end{key}
+\begin{key}{/wheelchart/slices end=\marg{path}}
+This key determines the end of the slice. Initially, this is a line segment from the outer end to the inner end of the slice.
\end{key}
\begin{key}{/wheelchart/slices end arc=\marg{value 1}\marg{value 2}}
This key determines the end of the slice.
@@ -1919,13 +2028,13 @@ If \meta{value 1} and \meta{value 2} are negative then an arc is drawn which beh
\begin{center}
\begin{tikzpicture}[scale=3]
\wheelchart[
- slices end arc={2}{0.5},
- slices style={
- fill=none,
- draw=Cyan,
- ultra thick
- },
- xbar={1}{1}
+ slices end arc={2}{0.5},
+ slices style={
+ fill=none,
+ draw=Cyan,
+ ultra thick
+ },
+ xbar={1}{1}
]{1//}
\draw[<->] (1,0.5)--(1.5,0.5) node[below,midway] {$a$};
\draw[<->] (1,0.5)--(1,0.75) node[left,midway] {$b$};
@@ -1940,24 +2049,24 @@ If \meta{value 1} and \meta{value 2} are negative then an arc is drawn which beh
\ifdim #2 pt<0pt
\edef\r{\fpeval{0.25*((#2)-1)*(1/(#1)+(#1))}}
\wheelchart[
- at={({1.5+sqrt((\r)^2-0.25)-(#1)*0.5*(1-(#2))-\r},0)},
- slices start arc={-(#1)}{#2},
- slices style={
- fill=none,
- draw=Goldenrod,
- ultra thick
- },
- xbar={0.5}{1}
+ at={({1.5+sqrt((\r)^2-0.25)-(#1)*0.5*(1-(#2))-\r},0)},
+ slices start arc={-(#1)}{#2},
+ slices style={
+ fill=none,
+ draw=Goldenrod,
+ ultra thick
+ },
+ xbar={0.5}{1}
]{1//}
\fi
\fi
\wheelchart[
- slices end arc={#1}{#2},
- slices style={
- fill=none,
- draw
- },
- xbar={1.5}{1}
+ slices end arc={#1}{#2},
+ slices style={
+ fill=none,
+ draw
+ },
+ xbar={1.5}{1}
]{1//}
\useasboundingbox ($(current bounding box.south west)-(2pt,2pt)$) rectangle ($(current bounding box.north east)+(2pt,2pt)$);
\end{tikzpicture}%
@@ -1975,17 +2084,17 @@ If \meta{value 1} and \meta{value 2} are negative then an arc is drawn which beh
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- for loop start={
- \definecolor{WCcolor}{wave}{
- \fpeval{380+(\WCcount-1)*
- 340/(\WCtotalcount-1)}}
- },
- gap polar=180/\WCtotalcount,
- radius={1.5}{3},
- slices end arc={-0.6}{0},
- slices start arc={1.2}{0},
- slices style=WCcolor,
- total count=20
+ for loop start={
+ \definecolor{WCcolor}{wave}{
+ \fpeval{380+(\WCcount-1)*
+ 340/(\WCtotalcount-1)}}
+ },
+ gap polar=180/\WCtotalcount,
+ radius={1.5}{3},
+ slices end arc={-0.6}{0},
+ slices start arc={1.2}{0},
+ slices style=WCcolor,
+ total count=20
]{}
\end{tikzpicture}
\end{codeexample}
@@ -1996,6 +2105,64 @@ This key is similar to the key |slices end arc| but draws an arrow.
\begin{key}{/wheelchart/slices end to=\marg{value 1}\marg{value 2}}
This key sets the |to| path operation for the end of the slice. The angle at the inner side is determined by \meta{value 1} and the angle at the outer side is determined by \meta{value 2}.
\end{key}
+\begin{key}{/wheelchart/slices inner=\marg{path}}
+This key determines the inner part of the slice. Initially, this is an arc from the inner end to the inner start of the slice.
+\begin{codeexample}[width=10cm]
+\begin{tikzpicture}
+\def\a{5}
+\def\b{12}
+\wheelchart[
+ data sep=0.3,
+ gap=0.1,
+ inner data=\WCcount,
+ inner data sep=2-2*cos(\b),
+ inner data style={
+ circle,
+ fill=\WCvarB!50
+ },
+ slices inner={
+ arc[
+ start angle=\WCangle{1}{0}{0}{0},
+ end angle=\WCangle{0.5}{\b}{0}{0},
+ radius=\WCradius{0}{0}
+ ]
+ arc[
+ start angle=\WCmidangle-90,
+ end angle=\WCmidangle+90,
+ radius=2*sin(\b)
+ ]
+ arc[
+ start angle=
+ \WCangle{0.5}{-\b}{0}{0},
+ end angle=\WCangle{0}{0}{0}{0},
+ radius=\WCradius{0}{0}
+ ]
+ },
+ slices outer={
+ arc[
+ start angle=\WCangle{0}{0}{1}{0},
+ end angle=\WCangle{0.5}{-\a}{1}{0},
+ radius=\WCradius{1}{0}
+ ]
+ --(\WCpoint{0.5}{0}{1}{0.3})
+ --(\WCpoint{0.5}{\a}{1}{0})
+ arc[
+ start angle=
+ \WCangle{0.5}{\a}{1}{0},
+ end angle=\WCangle{1}{0}{1}{0},
+ radius=\WCradius{1}{0}
+ ]
+ },
+ slices style={
+ draw=\WCvarB,
+ fill=\WCvarB!25,
+ ultra thick
+ },
+ value=1
+]{\exampleforthismanual}
+\end{tikzpicture}
+\end{codeexample}
+\end{key}
\begin{key}{/wheelchart/slices inner angle reduce=\marg{angle}}
This key sets |slices inner end angle shift| to $-\text{\meta{angle}}$ and |slices inner start angle shift| to \meta{angle}.
\end{key}
@@ -2004,34 +2171,34 @@ This key sets |slices inner end angle shift| and |slices inner start angle shift
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- data=,
- middle={%
- slices inner\\%
- angle shift=90%
- },
- middle style={font=\ttfamily},
- slices inner angle shift=90
+ data=,
+ middle={%
+ slices inner\\%
+ angle shift=90%
+ },
+ middle style={font=\ttfamily},
+ slices inner angle shift=90
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- data=,
- gap,
- radius={1}{3},
- slices arc={0.5}{0},
- slices inner angle shift=45,
- value=1,
- wheel data=\WCvarC,
- wheel data angle pos=0.8
+ data=,
+ gap,
+ radius={1}{3},
+ slices arc={0.5}{0},
+ slices inner angle shift=45,
+ value=1,
+ wheel data=\WCvarC,
+ wheel data angle pos=0.8
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
\begin{codeexample}[]
\begin{tikzpicture}
\foreach\a/\x in {-60/0,0/5.6,60/10}{
-\wheelchart[
+ \wheelchart[
at={(\x,0)},
radius={0.66}{2},
slices arc inner start,
@@ -2039,30 +2206,30 @@ This key sets |slices inner end angle shift| and |slices inner start angle shift
slices style={fill=\WClistcolors},
total count=40,
WClistcolors={RedOrange,none}
-]{}
+ ]{}
}
\end{tikzpicture}
\end{codeexample}
\begin{codeexample}[width=10cm]
\begin{tikzpicture}[font=\small]
\pgfkeys{
- /wheelchart,
- data=,
- inner data=\WCcount,
- inner data pos=0.1,
- inner data sep=0,
- radius={1}{2.4},
- slices inner angle shift=
- 90-180/\WCtotalcount,
- slices inner arc={0}{0},
- value=1,
- wheel data=\WCvarC
+ /wheelchart,
+ data=,
+ inner data=\WCcount,
+ inner data pos=0.1,
+ inner data sep=0,
+ radius={1}{2.4},
+ slices inner angle shift=
+ 90-180/\WCtotalcount,
+ slices inner arc={0}{0},
+ value=1,
+ wheel data=\WCvarC
}
\wheelchart{\exampleforthismanual}
\wheelchart[
- at={(4.8,0)},
- slices outer arc={0}{0},
- wheel data pos=0.58
+ at={(4.8,0)},
+ slices outer arc={0}{0},
+ wheel data pos=0.58
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -2075,18 +2242,18 @@ If true then the key |slices inner arc| is set such that the arc is tangent to t
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- counterclockwise,
- data=,
- gap=0.1,
- middle=slices inner\\arc tangent,
- middle style={font=\ttfamily},
- slices inner arc tangent,
- slices style={
- draw=\WCvarB,
- fill=\WCvarB!50,
- ultra thick
- },
- value=1
+ counterclockwise,
+ data=,
+ gap=0.1,
+ middle=slices inner\\arc tangent,
+ middle style={font=\ttfamily},
+ slices inner arc tangent,
+ slices style={
+ draw=\WCvarB,
+ fill=\WCvarB!50,
+ ultra thick
+ },
+ value=1
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -2097,23 +2264,23 @@ This key is similar to the key |slices end arrow| but sets the inner part of the
\begin{tikzpicture}
\def\n{10}
\wheelchart[
- radius={0}{1.5},
- slices outer arrow={cot(180/\n)}{0},
- slices style{list}={
- BurntOrange,RedOrange
- },
- total count=\n
+ radius={0}{1.5},
+ slices outer arrow={cot(180/\n)}{0},
+ slices style{list}={
+ BurntOrange,RedOrange
+ },
+ total count=\n
]{}
\wheelchart[
- radius={3*cos(180/\n)}
- {3*cos(180/\n)},
- slices inner arrow={cot(360/\n)}{0},
- slices outer arrow={cot(360/\n)}{0},
- slices style{list}={
- Dandelion,Goldenrod
- },
- start half,
- total count=\n
+ radius={3*cos(180/\n)}
+ {3*cos(180/\n)},
+ slices inner arrow={cot(360/\n)}{0},
+ slices outer arrow={cot(360/\n)}{0},
+ slices style{list}={
+ Dandelion,Goldenrod
+ },
+ start half,
+ total count=\n
]{}
\end{tikzpicture}
\end{codeexample}
@@ -2127,26 +2294,29 @@ This key is similar to the key |slices inner end angle shift| but modifies the s
\begin{key}{/wheelchart/slices inner to=\marg{value 1}\marg{value 2}}
This key sets the |to| path operation for the inner part of the slice. The angle at the start is determined by \meta{value 1} and the angle at the end is determined by \meta{value 2}.
\end{key}
+\begin{key}{/wheelchart/slices outer=\marg{path}}
+This key determines the outer part of the slice. Initially, this is an arc from the outer start to the outer end of the slice.
+\end{key}
\begin{key}{/wheelchart/slices outer angle reduce=\marg{angle}}
This key sets |slices outer end angle shift| to $-\text{\meta{angle}}$ and |slices outer start angle shift| to \meta{angle}.
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- data=,
- inner data=\WCcount,
- inner data style={
- circle,
- fill=white
- },
- slices inner arrow={1}{0},
- slices outer angle reduce=
- 180/\WCtotalcount,
- slices outer arrow={0}{0},
- value=1,
- wheel data=\WCvarC,
- wheel data style={
- rotate=\WCmidangle-90
- }
+ data=,
+ inner data=\WCcount,
+ inner data style={
+ circle,
+ fill=white
+ },
+ slices inner arrow={1}{0},
+ slices outer angle reduce=
+ 180/\WCtotalcount,
+ slices outer arrow={0}{0},
+ value=1,
+ wheel data=\WCvarC,
+ wheel data style={
+ rotate=\WCmidangle-90
+ }
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -2156,22 +2326,22 @@ This key sets |slices outer end angle shift| and |slices outer start angle shift
\begin{codeexample}[width=10cm]
\begin{tikzpicture}[looseness=2]
\wheelchart[
- data=,
- inner data={\Large\WCcount},
- inner data pos=1.1,
- radius={1}{3},
- slices arc inner end,
- slices outer angle shift=80,
- slices outer to={80}{80},
- slices style={
- bottom color=\WCvarB,
- top color=\WCvarB!80!black,
- shading angle=\WCmidangle-90
- },
- value=1,
- wheel data=\WCvarC,
- wheel data angle pos=0.4,
- wheel data pos=0.8
+ data=,
+ inner data={\Large\WCcount},
+ inner data pos=1.1,
+ radius={1}{3},
+ slices arc inner end,
+ slices outer angle shift=80,
+ slices outer to={80}{80},
+ slices style={
+ bottom color=\WCvarB,
+ top color=\WCvarB!80!black,
+ shading angle=\WCmidangle-90
+ },
+ value=1,
+ wheel data=\WCvarC,
+ wheel data angle pos=0.4,
+ wheel data pos=0.8
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -2184,17 +2354,17 @@ If true then the key |slices outer arc| is set such that the arc is tangent to t
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- data=,
- gap=0.1,
- middle=slices outer\\arc tangent,
- middle style={font=\ttfamily},
- slices outer arc tangent,
- slices style={
- draw=\WCvarB,
- fill=\WCvarB!50,
- ultra thick
- },
- value=1
+ data=,
+ gap=0.1,
+ middle=slices outer\\arc tangent,
+ middle style={font=\ttfamily},
+ slices outer arc tangent,
+ slices style={
+ draw=\WCvarB,
+ fill=\WCvarB!50,
+ ultra thick
+ },
+ value=1
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -2204,8 +2374,8 @@ This key is similar to the key |slices end arrow| but sets the outer part of the
\begin{codeexample}[width=10cm]
\begin{tikzpicture}[font=\scriptsize]
\foreach\a/\x in
- {1/0,{tan(180/\WCtotalcount)}/5}{
-\wheelchart[
+ {1/0,{tan(180/\WCtotalcount)}/5}{
+ \wheelchart[
at={(\x,0)},
data=,
gap,
@@ -2214,49 +2384,49 @@ This key is similar to the key |slices end arrow| but sets the outer part of the
start half,
value=1,
wheel data=\WCvarC
-]{\exampleforthismanual}
+ ]{\exampleforthismanual}
}
\end{tikzpicture}
\end{codeexample}
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\pgfkeys{
- /wheelchart,
- data=,
- radius={1}{1.5},
- value=1
+ /wheelchart,
+ data=,
+ radius={1}{1.5},
+ value=1
}
\wheelchart[
- slices inner arrow={0}{0}
+ slices inner arrow={0}{0}
]{\exampleforthismanual}
\wheelchart[
- at={(3.25,0)},
- slices outer arrow={0}{0}
+ at={(3.25,0)},
+ slices outer arrow={0}{0}
]{\exampleforthismanual}
\wheelchart[
- at={(6.5,0)},
- slices inner arrow={0}{0},
- slices outer arrow={0}{0}
+ at={(6.5,0)},
+ slices inner arrow={0}{0},
+ slices outer arrow={0}{0}
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\foreach\r/\s/\a in
- {3/0/0.5,2/15/1,1/30/0.7}{
-\wheelchart[
+ {3/0/0.5,2/15/1,1/30/0.7}{
+ \wheelchart[
radius={0.5}{\r},
slices outer arrow={\a}{0},
slices style={
- fill=\WClistcolors!20,
- draw=\WClistcolors,
- ultra thick,
- double
+ fill=\WClistcolors!20,
+ draw=\WClistcolors,
+ ultra thick,
+ double
},
start half=\s,
total count=12,
WClistcolors={CarnationPink,Orchid}
-]{}
+ ]{}
}
\end{tikzpicture}
\end{codeexample}
@@ -2272,14 +2442,14 @@ This key sets the |to| path operation for the outer part of the slice. The angle
\begin{codeexample}[width=10cm]
\begin{tikzpicture}[looseness=3]
\wheelchart[
- data=,
- radius={0}{2.5},
- slices arc={0.4}{0},
- slices outer to={70}{70},
- start half,
- value=1,
- wheel data=\WCvarC,
- wheel data pos=1
+ data=,
+ radius={0}{2.5},
+ slices arc={0.4}{0},
+ slices outer to={70}{70},
+ start half,
+ value=1,
+ wheel data=\WCvarC,
+ wheel data pos=1
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -2292,40 +2462,39 @@ This key accepts a list of keys which will be applied to the scope in which the
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- data=,
- radius={3.9}{4.5},
- slices inner arc={0}{0},
- slices outer angle reduce=5*90/7,
- slices outer arc={0}{0},
- slices scope={
- shift={
- ($(90+\WCmidangle:0.559572)
- +(\WCmidangle:-1.16196)$)
- }
- },
- value=1,
- wheel data=\WCvarC,
- wheel data pos=0,
- wheel data style={
- rotate=\WCmidangle-90
+ data=,
+ radius={3.9}{4.5},
+ slices inner arc={0}{0},
+ slices outer angle reduce=5*90/7,
+ slices outer arc={0}{0},
+ slices scope={
+ shift={
+ ($(90+\WCmidangle:0.559572)
+ +(\WCmidangle:-1.16196)$)
}
+ },
+ value=1,
+ wheel data=\WCvarC,
+ wheel data pos=0,
+ wheel data style={
+ rotate=\WCmidangle-90
+ }
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
\begin{codeexample}[width=10cm,preamble={\usepackage{siunitx}}]
\begin{tikzpicture}
\wheelchart[
- data=\WCvarC\\%
- \qty{\fpeval{\WCvarA/2}}%
- {\percent},
- radius={0.5}{0.5+0.1*\WCvarA},
- slices inner arc tangent,
- slices outer angle reduce=
- 180/\WCtotalcount,
- slices outer arc tangent,
- slices scope={shift={(\WCmidangle:
- {-cos(180/\WCtotalcount)/2})}},
- value=1
+ data=\WCvarC\\%
+ \qty{\fpeval{\WCvarA/2}}{\percent},
+ radius={0.5}{0.5+0.1*\WCvarA},
+ slices inner arc tangent,
+ slices outer angle reduce=
+ 180/\WCtotalcount,
+ slices outer arc tangent,
+ slices scope={shift={(\WCmidangle:
+ {-cos(180/\WCtotalcount)/2})}},
+ value=1
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -2333,6 +2502,9 @@ This key accepts a list of keys which will be applied to the scope in which the
\begin{key}{/wheelchart/slices sep=\marg{value} (initially 0)}
This key determines the position of the slices if the key |slices| is used similar as the corresponding key for the key |data|.
\end{key}
+\begin{key}{/wheelchart/slices start=\marg{path}}
+This key determines the start of the slice. Initially, this is a line segment from the inner start to the outer start of the slice.
+\end{key}
\begin{key}{/wheelchart/slices start arc=\marg{value 1}\marg{value 2}}
This key is similar to the key |slices end arc| but sets the start of the slice.
\end{key}
@@ -2350,13 +2522,13 @@ This key sets |slices end to| and |slices start to| but uses the opposite respec
\begin{codeexample}[width=10cm]
\begin{tikzpicture}[looseness=2]
\wheelchart[
- radius={1}{3},
- slices inner angle shift=90,
- slices inner arc={0}{0},
- slices outer to={70}{70},
- slices style{list}={Maroon,Salmon},
- slices to={30}{30},
- total count=6
+ radius={1}{3},
+ slices inner angle shift=90,
+ slices inner arc={0}{0},
+ slices outer to={70}{70},
+ slices style{list}={Maroon,Salmon},
+ slices to={30}{30},
+ total count=6
]{}
\end{tikzpicture}
\end{codeexample}
@@ -2397,11 +2569,11 @@ If this key is set then the number of slices of the wheelchart is determined by
\begin{tikzpicture}
\def\n{57}
\wheelchart[
- gap=0.015,
- middle={\Huge\qty{\n}{\percent}},
- slices style=Gray,
- slices style{1,...,\n}=Cyan,
- total count=100
+ gap=0.015,
+ middle={\Huge\qty{\n}{\percent}},
+ slices style=Gray,
+ slices style{1,...,\n}=Cyan,
+ total count=100
]{}
\end{tikzpicture}
\end{codeexample}
@@ -2411,8 +2583,8 @@ This key configures the plot such that a triangular shape is obtained. The value
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- triangle proportional area={5}{4},
- value=1
+ triangle proportional area={5}{4},
+ value=1
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -2422,8 +2594,8 @@ This key configures the plot such that a triangular shape is obtained. The value
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- triangle proportional height={5}{4},
- value=1
+ triangle proportional height={5}{4},
+ value=1
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -2462,20 +2634,20 @@ Below is the example from \cite[Subsection 7.6]{TtTaPGFp} recreated with the pac
\colorlet{neutral}{black!60}
\colorlet{none}{white}
\wheelchart[
- anchor xsep=15,
- contour=gray,
- data=``\WCvarC'': \WCvarA{} (\WCperc),
- middle=Ratings given by\\\WCtotalnum{} participants,
- radius={1.8}{2.2},
- start half=270,
- wheel lines={black!15,thick}
+ anchor xsep=15,
+ contour=gray,
+ data=``\WCvarC'': \WCvarA{} (\WCperc),
+ middle=Ratings given by\\\WCtotalnum{} participants,
+ radius={1.8}{2.2},
+ start half=270,
+ wheel lines={black!15,thick}
]{%
- 10/neutral/ok,
- 9/good!60!white/good,
- 3/good/very good,
- 20/none/none,
- 0/bad/very bad,
- 8/bad!60!white/bad%
+ 10/neutral/ok,
+ 9/good!60!white/good,
+ 3/good/very good,
+ 20/none/none,
+ 0/bad/very bad,
+ 8/bad!60!white/bad%
}
\end{tikzpicture}
\end{codeexample}
@@ -2485,11 +2657,11 @@ This key sets |domain=0:|\marg{width}, |plot={{#1},{#2}}|, |radius={0}|\marg{hei
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- data pos{list}={1,0},
- data style={anchor=mid},
- gap polar=0.05,
- slices arrow={1}{0},
- xbar={8}{1.5}
+ data pos{list}={1,0},
+ data style={anchor=mid},
+ gap polar=0.05,
+ slices arrow={1}{0},
+ xbar={8}{1.5}
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -2499,9 +2671,9 @@ This key sets |domain=0:|\marg{height}, |plot={{#2},{#1}}|, |radius={0}|\marg{wi
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- inner data=\WCperc,
- inner data style={anchor=east},
- ybar={1}{4}
+ inner data=\WCperc,
+ inner data style={anchor=east},
+ ybar={1}{4}
]{\exampleforthismanual}
\end{tikzpicture}
\end{codeexample}
@@ -2516,39 +2688,39 @@ The following example is an answer to the question on \url{https://tex.stackexch
\sffamily
\readlist\WCcolors{orange!50,orange!75,orange}
\pgfkeys{
- /wheelchart,
- arc data=\WCvarB,
- arc data dir={\WCmidangle<180?-1:1},
- arc data pos=0.5,
- arc data style={text color=white},
- counterclockwise,
- data=,
- gap,
- gap radius,
- slices style={
- /utils/exec={
- \ifdefempty{\WCvarB}{
- \def\WCcolor{none}
- \def\WCoverlay{true}
- }{
- \edef\WCcolor{\WCcolors[\fpeval{\WCmidangle<90?1:(\WCmidangle<210?2:(\WCmidangle<270?3:1))}]}
- \def\WCoverlay{false}
- }
- },
- fill=\WCcolor,
- overlay=\WCoverlay
- }
+ /wheelchart,
+ arc data=\WCvarB,
+ arc data dir={\WCmidangle<180?-1:1},
+ arc data pos=0.5,
+ arc data style={text color=white},
+ counterclockwise,
+ data=,
+ gap,
+ gap radius,
+ slices style={
+ /utils/exec={
+ \ifdefempty{\WCvarB}{
+ \def\WCcolor{none}
+ \def\WCoverlay{true}
+ }{
+ \edef\WCcolor{\WCcolors[\fpeval{\WCmidangle<90?1:(\WCmidangle<210?2:(\WCmidangle<270?3:1))}]}
+ \def\WCoverlay{false}
+ }
+ },
+ fill=\WCcolor,
+ overlay=\WCoverlay
+ }
}
\wheelchart[
- middle=Root\\Node,
- middle style=darkgray,
- radius={1}{2}
+ middle=Root\\Node,
+ middle style=darkgray,
+ radius={1}{2}
]{2/Node 1,1/Node 2,3/Node 3}
\wheelchart[
- radius={2}{3}
+ radius={2}{3}
]{4/Sub1,4/Sub2,4/Sub3,3/Sub1,3/Sub2,6/Sub1,6/Sub2,3/Sub3,3/Sub4}
\wheelchart[
- radius={3}{4}
+ radius={3}{4}
]{4/Sub1-Sub1,20/,3/Sub2-Sub1,3/Sub2-Sub2,6/}
\end{tikzpicture}
\end{codeexample}
@@ -2574,63 +2746,63 @@ The following example is an answer to the question on \url{https://tex.stackexch
\fill[background] (-6.8,-8) rectangle (13.8,8);
\pgfkeys{/wheelchart,data=,radius={1.7}{5}}
\wheelchart[
- arc data{18,21}=|\bfseries|\WCvarE{} \WCpercentage{\,}{\unit{\percent}},
- arc data pos=1.2,
- arc data style={text color=slice\WCcount},
- inner data{1,...,20}=\qty{\WCvarC}{\percent}\\[-4pt]yield,
- inner data pos=0.5,
- inner data style=\WCvarB,
- legend entry={
- \fill[slice\WCcount,shift={({int((\WCcount-1)/17)*4.5-3},0)}] ({45-Mod({\WCcount-1},17)*90/16}:10) circle[radius=0.4]
- node[\WCvarB,font=\large] {\WCperc}
- node[black,shift={(0.6,0)},anchor=west,font=\footnotesize,align=left,execute at begin node={\baselineskip=7pt}] {\WCvarD};
- },
- lines{18,21}=0.75,
- lines sep=0.1,
- lines style={slice\WCcount,dashed,ultra thick},
- middle=Income\\[-4pt]\& growth\\{\Huge\textcolor{slice21}{\pounds 100k}}\\portfolio,
- middle fill=white,
- middle style={font=\bfseries\Large},
- slices style=slice\WCcount,
- wheel data={\Large \pounds\WCvarA k},
- wheel data{21}=\pounds\\[-4pt]\WCvarA\\[-4pt]k,
- wheel data pos=0.8,
- wheel data style=\WCvarB
+ arc data{18,21}=|\bfseries|\WCvarE{} \WCperc,
+ arc data pos=1.2,
+ arc data style={text color=slice\WCcount},
+ inner data{1,...,20}=\qty{\WCvarC}{\percent}\\[-4pt]yield,
+ inner data pos=0.5,
+ inner data style=\WCvarB,
+ legend entry={
+ \fill[slice\WCcount,shift={({int((\WCcount-1)/17)*4.5-3},0)}] ({45-Mod({\WCcount-1},17)*90/16}:10) circle[radius=0.4]
+ node[\WCvarB,font=\large] {\WCperc}
+ node[black,shift={(0.6,0)},anchor=west,font=\footnotesize,align=left,execute at begin node={\baselineskip=7pt}] {\WCvarD};
+ },
+ lines{18,21}=0.75,
+ lines sep=0.1,
+ lines style={slice\WCcount,dashed,ultra thick},
+ middle=Income\\[-4pt]\& growth\\{\Huge\textcolor{slice21}{\pounds 100k}}\\portfolio,
+ middle fill=white,
+ middle style={font=\bfseries\Large},
+ slices style=slice\WCcount,
+ wheel data={\Large \pounds\WCvarA k},
+ wheel data{21}=\pounds\\[-4pt]\WCvarA\\[-4pt]k,
+ wheel data pos=0.8,
+ wheel data style=\WCvarB
]{%
- 5/text1/4.26/Miton Multi-Cap\\Income/,
- 6/text1/6.86/Schroder Income\\Maximiser/,
- 6/text1/3.82/Trojan\\Income/,
- 7/text1/3.32/CF Woodford\\Equity Income/,
- 7/text1/2.91/Artemis Global\\Income/,
- 4/text1/2.87/First State Global\\Listed Infrastructure/,
- 4/slice5/2.63/Lazard Global\\Listed Infrastructure/,
- 4/slice5/3.50/Legg Mason RARE\\Global Income/,
- 6/slice5/2.55/Newton Global\\Income/,
- 5/text1/4.6/Henderson\\Strategic Bond/,
- 4/text1/5.01/Invesco Perpetual\\Monthly Income Plus/,
- 5/text1/4.4/Jupiter Strategic\\Bond/,
- 4/slice11/0/L\&G All Stocks Index\\Linked Gilt Index/,
- 5/slice11/2.3/L\&G Short Dated Sterling\\Corporate Bond Index/,
- 4/slice11/5.95/Royal London Short Duration\\Global High Yield Bond/,
- 4/slice10/3.55/TwentyFour\\Corporate Bond/,
- 4/slice10/5.03/TwentyFour\\Dynamic Bond/,
- 5/text1/4.8/F\&C Property Growth\\\& Income/PROPERTY,
- 5/text1/4.44/Aviva Multi Strategy\\Target Income/,
- 5/text1/3.45/Invesco\\Perpetual\\Global Targeted\\Income/,
- 1/text2/0.01/Cash/CASH%
+ 5/text1/4.26/Miton Multi-Cap\\Income/,
+ 6/text1/6.86/Schroder Income\\Maximiser/,
+ 6/text1/3.82/Trojan\\Income/,
+ 7/text1/3.32/CF Woodford\\Equity Income/,
+ 7/text1/2.91/Artemis Global\\Income/,
+ 4/text1/2.87/First State Global\\Listed Infrastructure/,
+ 4/slice5/2.63/Lazard Global\\Listed Infrastructure/,
+ 4/slice5/3.50/Legg Mason RARE\\Global Income/,
+ 6/slice5/2.55/Newton Global\\Income/,
+ 5/text1/4.6/Henderson\\Strategic Bond/,
+ 4/text1/5.01/Invesco Perpetual\\Monthly Income Plus/,
+ 5/text1/4.4/Jupiter Strategic\\Bond/,
+ 4/slice11/0/L\&G All Stocks Index\\Linked Gilt Index/,
+ 5/slice11/2.3/L\&G Short Dated Sterling\\Corporate Bond Index/,
+ 4/slice11/5.95/Royal London Short Duration\\Global High Yield Bond/,
+ 4/slice10/3.55/TwentyFour\\Corporate Bond/,
+ 4/slice10/5.03/TwentyFour\\Dynamic Bond/,
+ 5/text1/4.8/F\&C Property Growth\\\& Income/PROPERTY,
+ 5/text1/4.44/Aviva Multi Strategy\\Target Income/,
+ 5/text1/3.45/Invesco\\Perpetual\\Global Targeted\\Income/,
+ 1/text2/0.01/Cash/CASH%
}
\pgfkeys{/wheelchart,arc={draw=\WCvarB,dashed,ultra thick},arc around text,arc data{1,2,3,5}=|\bfseries|\WCvarC{} \WCvarA{\,}
{\unit{\percent}},arc data pos=1.1,arc data style={text color=\WCvarB},arc pos=1.1,slices style={fill=none},value{5}=12}
\wheelchart{%
- 24/slice1/UK EQUITIES,
- 25/slice5/GLOBAL EQUITIES,
- 35/slice10/FIXED INTEREST,
- 3/none/,
- 10/slice20/ALTERNATIVE,
- 1/none/%
+ 24/slice1/UK EQUITIES,
+ 25/slice5/GLOBAL EQUITIES,
+ 35/slice10/FIXED INTEREST,
+ 3/none/,
+ 10/slice20/ALTERNATIVE,
+ 1/none/%
}
\fill[disc] (12,-5.5) circle[radius=1.7]
-node[white,font=\Large\bfseries,align=center] {Portfolio\\[-4pt]income\\\pounds\num{3785}\\[10pt]{\large or \qty{3.79}{\percent}}};
+ node[white,font=\Large\bfseries,align=center] {Portfolio\\[-4pt]income\\\pounds\num{3785}\\[10pt]{\large or \qty{3.79}{\percent}}};
\node[rotate=270,anchor=north west] at (13.8,8) {\emph{Source: Whitechurch Securities}};
\end{tikzpicture}
\end{codeexample}
@@ -2642,66 +2814,65 @@ The following example is an answer to the question on \url{https://tex.stackexch
\begin{tikzpicture}
\sffamily
\wheelchart[
- data=,
- middle=Optimized\\vibrating\\%
- systems,
- middle fill=RoyalBlue,
- middle style=white,
- radius={1.2}{4},
- slices={(0,0) circle[radius=0.8];},
- slices style=\WCvarA,
- start half,
- value=1,
- wheel data=\WCvarB,
- wheel data pos=0.5,
- wheel data style={
- white,
- align=center
- }
+ data=,
+ middle=Optimized\\vibrating\\systems,
+ middle fill=RoyalBlue,
+ middle style=white,
+ radius={1.2}{4},
+ slices={(0,0) circle[radius=0.8];},
+ slices style=\WCvarA,
+ start half,
+ value=1,
+ wheel data=\WCvarB,
+ wheel data pos=0.5,
+ wheel data style={
+ white,
+ align=center
+ }
]{%
- Green/Passive\\control,
- Maroon/Feed-\\forward,
- Orange/Active\\control%
+ Green/Passive\\control,
+ Maroon/Feed-\\forward,
+ Orange/Active\\control%
}
\wheelchart[
- gap polar=25,
- radius={2.5}{2.7},
- slices end arrow={1}{-1},
- slices start arrow={1}{-1},
- slices style=Gray,
- total count=3
+ gap polar=25,
+ radius={2.5}{2.7},
+ slices end arrow={1}{-1},
+ slices start arrow={1}{-1},
+ slices style=Gray,
+ total count=3
]{}
\foreach\n in {-30,90,210}{
- \draw[->,MidnightBlue,ultra thick]
- (\n:1.7)--(\n:1.3);
+ \draw[->,MidnightBlue,ultra thick]
+ (\n:1.7)--(\n:1.3);
}
\fill[
- top color=Gray!50,
- bottom color=Gray,
- draw,
- even odd rule
+ top color=Gray!50,
+ bottom color=Gray,
+ draw,
+ even odd rule
] (0,0) circle[radius=3.5]
- circle[radius=4.2];
-\wheelchart[
- arc{2}={
- <-,
- ultra thick
- },
- arc around text,
- arc data=~\WCvarA~,
- arc data pos=0.5,
- arc pos=0.5,
- data=,
- gap polar=10,
- radius={3.5}{4.2},
- slices style={fill=none},
- start half=180,
- value=1
+ circle[radius=4.2];
+\wheelchart[
+ arc{2}={
+ <-,
+ ultra thick
+ },
+ arc around text,
+ arc data=~\WCvarA~,
+ arc data pos=0.5,
+ arc pos=0.5,
+ data=,
+ gap polar=10,
+ radius={3.5}{4.2},
+ slices style={fill=none},
+ start half=180,
+ value=1
]{%
- {Mass M, Damping D, Stiffness K},
- Dynamic model,
- Frequency response functions H,
- %
+ {Mass M, Damping D, Stiffness K},
+ Dynamic model,
+ Frequency response functions H,
+ %
}
\end{tikzpicture}
\end{codeexample}
@@ -2725,6 +2896,19 @@ The following example is an answer to the question on \url{https://tex.stackexch
\item In v1.0, the key |data sep| was not applied if the key |lines ext| was used. In v2.0, this is not the case anymore.
\item In v1.0, a negative value for the key |lines| was not applied. In v2.0, this is not the case anymore.
\end{itemize}
+\item[] \textbf{Version 3.0 (2024/03/08)}
+\begin{itemize}
+\item Improved the parametrization of the slices in the case that no plot is used. In particular, the |arc| and |arc data| are placed with an arc if no plot is used whereas in v2.0, these were placed with a plot even if no plot was used. Also, the computation of |\WCdataangle| and |\WCmidangle| is more precise than in v2.0.
+\item Optimized the code. The compilation is faster than in v2.0.
+\item Added the commands |\WCangle|, |\WCcoordinate|, |\WCpoint| and |\WCradius|.
+\item \begin{flushleft}Added the keys |arc around line|, |arc data expand|, |arc data line sep factor|, |slices Arrow|, |slices end|, |slices inner|, |slices outer| and |slices start|.\end{flushleft}
+\item Changed the definition of |\WCperc| in the key |arc data| so that |\WCperc| follows the arc or plot.
+\item Added the possibility that the contents of the key |arc data| consists of multiple lines separated by |\\|.
+\item Reduced the functionality of the keys |contour| and |middle fill| to require a fixed inner and outer radius for all slices.
+\item Removed the key |parse|. The values of applicable keys are parsed with |\pgfmathparse|. If a value should be parsed with |l3fp| then |\fpeval| can be used.
+\item In v2.0, the key |arc data angle shift| was not taken into account for the key |arc| in combination with the key |arc around text|. This is fixed in v3.0.
+\item In v2.0, the number of items for each slice in the \meta{wheelchart data} which can be accessed with the macros |\WCvarA| and so on was determined by the number of items for the last slice. For example, |data{1}=\WCvarD| in combination with the \meta{wheelchart data} |1/black/A/a,2/gray/B| was not possible with v2.0. This is not a limitation anymore with v3.0.
+\end{itemize}
\end{itemize}
\begin{thebibliography}{9}
\bibitem{JhcIparowcltopotPGFm}