merged next

This commit is contained in:
Philipp Möller 2012-05-09 13:50:00 +00:00
commit d3ee04897c
63 changed files with 3248 additions and 529 deletions

5
.gitattributes vendored
View File

@ -3219,12 +3219,17 @@ Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet.pdf -text svneol=unset#applicati
Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet1.gif -text svneol=unset#image/gif
Polyhedron/doc_tex/Polyhedron_ref/fig/add_facet2.gif -text svneol=unset#image/gif
Polyhedron/doc_tex/Polyhedron_ref/fig/euler.pdf -text svneol=unset#application/pdf
Polyhedron/doc_tex/Polyhedron_ref/fig/euler.svg -text
Polyhedron/doc_tex/Polyhedron_ref/fig/euler_center.gif -text svneol=unset#image/gif
Polyhedron/doc_tex/Polyhedron_ref/fig/euler_center.pdf -text svneol=unset#application/pdf
Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.gif -text svneol=unset#image/gif
Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.pdf -text svneol=unset#application/pdf
Polyhedron/doc_tex/Polyhedron_ref/fig/euler_facet.svg -text
Polyhedron/doc_tex/Polyhedron_ref/fig/euler_loop.gif -text svneol=unset#image/gif
Polyhedron/doc_tex/Polyhedron_ref/fig/euler_loop.pdf -text svneol=unset#application/pdf
Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.gif -text svneol=unset#image/gif
Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.pdf -text svneol=unset#application/pdf
Polyhedron/doc_tex/Polyhedron_ref/fig/euler_vertex.svg -text
Polyhedron/doc_tex/Polyhedron_ref/fig/halfedge.gif -text svneol=unset#image/gif
Polyhedron/doc_tex/Polyhedron_ref/fig/halfedge.pdf -text svneol=unset#application/pdf
Polyhedron/doc_tex/Polyhedron_ref/fig/halfedge_small.gif -text svneol=unset#image/gif

View File

@ -95,10 +95,10 @@ for which the class \ccc{AABB_tree<AT>} may receive a distance query.
\ccMethod{Closest_point closest_point_object();}{Returns the closest point constructor.}
\ccHasModels
\ccc{AABB_traits<GeomTraits,TrianglePrimitive>}.
\ccc{AABB_traits<GeomTraits,Primitive>}.
\ccSeeAlso
\ccc{AABB_traits<GeomTraits,TrianglePrimitive>}\\
\ccc{AABB_traits<GeomTraits,Primitive>}\\
\ccc{AABB_tree<AT>}
\ccc{AABBPrimitive}

View File

@ -218,9 +218,12 @@ void Basic_sweep_line_2<Tr, Vis, Subcv, Evnt, Alloc>::_init_structures()
{
CGAL_assertion(m_queue->empty());
CGAL_assertion((m_statusLine.size() == 0));
// Allocate all of the Subcurve objects as one block.
m_subCurves = m_subCurveAlloc.allocate(m_num_of_subCurves);
// Allocate all of the Subcurve objects as one block. Don't allocate
// anything when there are no subcurves.
if (m_num_of_subCurves > 0) {
m_subCurves = m_subCurveAlloc.allocate(m_num_of_subCurves);
}
return;
}

View File

@ -32,10 +32,6 @@
#include <CGAL/kernel_assertions.h>
#include <CGAL/Point_2.h>
#include <CGAL/Segment_2.h>
#include <CGAL/Line_2.h>
#include <CGAL/Ray_2.h>
#include <CGAL/enum.h>
#include <CGAL/wmult.h>
#include <CGAL/squared_distance_utils.h>

View File

@ -11,7 +11,7 @@ are for the most common use cases, and cover the command line tools.
For further information, or in case of problems, please see the
detailed installation instructions, which can be found in this
distribution in the file ./doc_html/index.html or on the CGAL website
http://www.cgal.org/Manual/beta/doc_html/cgal_manual/Installation/Chapter_main.html
http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Installation/Chapter_main.html
The documentation of CGAL is available in PDF and HTML formats.
It is not bundled with the software but can be downloaded separately

View File

@ -108,7 +108,6 @@ David A. Wheeler's 'SLOCCount'</a>, restricted to the <code>include/CGAL/</code>
<ul>
<li>Minor bugfix.</li>
</ul>
</DIV>
<h2 id="release4.0.1">Release 4.0.1</h2>
@ -144,6 +143,24 @@ since CGAL-4.0:</p>
could lead to wrong result when meshing from a 3D image.</li>
</ul>
<h3>3D Boolean Operations on Nef Polygons Embedded on the Sphere</h3>
<ul>
<li>Fix a memory leak due to the usage of an internal mechanism that has been replaced by boost::any. This also influences the packages
2D Boolean Operations on Nef Polygons, 3D Boolean Operations on Nef Polyhedra, Convex Decomposition of Polyhedra, and
3D Minkowski Sum of Polyhedra.
</ul>
<h3>Surface Mesh Parameterization</h3>
<ul>
<li>Fixed a memory leak.</li>
</ul>
<h3>2D Arrangement</h3>
<ul>
<li>Fixed several memory leaks.</li>
</ul>
</DIV>
</DIV>
<h2 id="release4.0">Release 4.0 </h2>

View File

@ -216,15 +216,20 @@ void random_test()
// Precomputed results test
// -----------------------------------
template <class Triangle, class Query, class Result>
bool test_aux(const Triangle t,
bool test_aux(bool is_kernel_exact,
const Triangle t,
const Query& q,
const std::string& name,
const Result& expected)
const Result& expected,
double sq_espilon = 1e-20)
{
CGAL::Object object = CGAL::intersection(t,q);
const Result* pr = CGAL::object_cast<Result>(&object);
if ( (NULL != pr) && (expected == *pr) )
if ( (NULL != pr) &&
(is_kernel_exact ?
(expected == *pr) :
CGAL::to_double(CGAL::squared_distance(expected, *pr)) < sq_espilon ) )
{
return true;
}
@ -243,7 +248,7 @@ bool test_aux(const Triangle t,
}
template <class K>
bool test()
bool test(bool is_kernel_exact = true)
{
// types
typedef typename K::FT FT;
@ -281,10 +286,10 @@ bool test()
Segment s32(p3,p2);
Segment s31(p3,p1);
bool b = test_aux(t,s12,"t-s12",s12);
b &= test_aux(t,s21,"t-s21",s21);
b &= test_aux(t,s13,"t-s13",s13);
b &= test_aux(t,s23,"t-s23",s23);
bool b = test_aux(is_kernel_exact,t,s12,"t-s12",s12);
b &= test_aux(is_kernel_exact,t,s21,"t-s21",s21);
b &= test_aux(is_kernel_exact,t,s13,"t-s13",s13);
b &= test_aux(is_kernel_exact,t,s23,"t-s23",s23);
// Inside points
Point p4(FT(0.5), FT(0.5), FT(0.));
@ -318,30 +323,30 @@ bool test()
Segment s78(p7,p8);
Segment s87(p8,p7);
b &= test_aux(t,s14,"t-s14",s14);
b &= test_aux(t,s41,"t-s41",s41);
b &= test_aux(t,s24,"t-s24",s24);
b &= test_aux(t,s42,"t-s42",s42);
b &= test_aux(t,s15,"t-s15",s15);
b &= test_aux(t,s25,"t-s25",s25);
b &= test_aux(t,s34,"t-s34",s34);
b &= test_aux(t,s35,"t-s35",s35);
b &= test_aux(t,s36,"t-s36",s36);
b &= test_aux(t,s45,"t-s45",s45);
b &= test_aux(t,s16,"t-s16",s16);
b &= test_aux(t,s26,"t-s26",s26);
b &= test_aux(t,s62,"t-s62",s62);
b &= test_aux(t,s46,"t-s46",s46);
b &= test_aux(t,s65,"t-s65",s65);
b &= test_aux(t,s64,"t-s64",s64);
b &= test_aux(t,s48,"t-s48",s48);
b &= test_aux(t,s56,"t-s56",s56);
b &= test_aux(t,s17,"t-t17",s17);
b &= test_aux(t,s67,"t-t67",s67);
b &= test_aux(t,s68,"t-s68",s68);
b &= test_aux(t,s86,"t-s86",s86);
b &= test_aux(t,s78,"t-t78",s78);
b &= test_aux(t,s87,"t-t87",s87);
b &= test_aux(is_kernel_exact,t,s14,"t-s14",s14);
b &= test_aux(is_kernel_exact,t,s41,"t-s41",s41);
b &= test_aux(is_kernel_exact,t,s24,"t-s24",s24);
b &= test_aux(is_kernel_exact,t,s42,"t-s42",s42);
b &= test_aux(is_kernel_exact,t,s15,"t-s15",s15);
b &= test_aux(is_kernel_exact,t,s25,"t-s25",s25);
b &= test_aux(is_kernel_exact,t,s34,"t-s34",s34);
b &= test_aux(is_kernel_exact,t,s35,"t-s35",s35);
b &= test_aux(is_kernel_exact,t,s36,"t-s36",s36);
b &= test_aux(is_kernel_exact,t,s45,"t-s45",s45);
b &= test_aux(is_kernel_exact,t,s16,"t-s16",s16);
b &= test_aux(is_kernel_exact,t,s26,"t-s26",s26);
b &= test_aux(is_kernel_exact,t,s62,"t-s62",s62);
b &= test_aux(is_kernel_exact,t,s46,"t-s46",s46);
b &= test_aux(is_kernel_exact,t,s65,"t-s65",s65);
b &= test_aux(is_kernel_exact,t,s64,"t-s64",s64);
b &= test_aux(is_kernel_exact,t,s48,"t-s48",s48);
b &= test_aux(is_kernel_exact,t,s56,"t-s56",s56);
b &= test_aux(is_kernel_exact,t,s17,"t-t17",s17);
b &= test_aux(is_kernel_exact,t,s67,"t-t67",s67);
b &= test_aux(is_kernel_exact,t,s68,"t-s68",s68);
b &= test_aux(is_kernel_exact,t,s86,"t-s86",s86);
b &= test_aux(is_kernel_exact,t,s78,"t-t78",s78);
b &= test_aux(is_kernel_exact,t,s87,"t-t87",s87);
// Outside points (in triangle plane)
Point pA(FT(-0.5), FT(1.), FT(0.5));
@ -362,17 +367,17 @@ bool test()
Segment s1F(p1,pF);
Segment sF6(pF,p6);
b &= test_aux(t,sAB,"t-sAB",p2);
b &= test_aux(t,sBC,"t-sBC",s46);
b &= test_aux(t,s2E,"t-s2E",s26);
b &= test_aux(t,sE2,"t-sE2",s62);
b &= test_aux(t,s2A,"t-s2A",p2);
b &= test_aux(t,s6E,"t-s6E",p6);
b &= test_aux(t,sB8,"t-sB8",s48);
b &= test_aux(t,sC8,"t-sC8",s68);
b &= test_aux(t,s8C,"t-s8C",s86);
b &= test_aux(t,s1F,"t-s1F",s13);
b &= test_aux(t,sF6,"t-sF6",s36);
b &= test_aux(is_kernel_exact,t,sAB,"t-sAB",p2);
b &= test_aux(is_kernel_exact,t,sBC,"t-sBC",s46);
b &= test_aux(is_kernel_exact,t,s2E,"t-s2E",s26);
b &= test_aux(is_kernel_exact,t,sE2,"t-sE2",s62);
b &= test_aux(is_kernel_exact,t,s2A,"t-s2A",p2);
b &= test_aux(is_kernel_exact,t,s6E,"t-s6E",p6);
b &= test_aux(is_kernel_exact,t,sB8,"t-sB8",s48);
b &= test_aux(is_kernel_exact,t,sC8,"t-sC8",s68);
b &= test_aux(is_kernel_exact,t,s8C,"t-s8C",s86);
b &= test_aux(is_kernel_exact,t,s1F,"t-s1F",s13);
b &= test_aux(is_kernel_exact,t,sF6,"t-sF6",s36);
// Outside triangle plane
Point pa(FT(0.), FT(0.), FT(0.));
@ -386,11 +391,11 @@ bool test()
Segment sa8(pa,p8);
Segment sb2(pb,p2);
b &= test_aux(t,sab,"t-sab",p1);
b &= test_aux(t,sac,"t-sac",p6);
b &= test_aux(t,sae,"t-sae",p8);
b &= test_aux(t,sa8,"t-sa8",p8);
b &= test_aux(t,sb2,"t-sb2",p2);
b &= test_aux(is_kernel_exact,t,sab,"t-sab",p1);
b &= test_aux(is_kernel_exact,t,sac,"t-sac",p6);
b &= test_aux(is_kernel_exact,t,sae,"t-sae",p8);
b &= test_aux(is_kernel_exact,t,sa8,"t-sa8",p8);
b &= test_aux(is_kernel_exact,t,sb2,"t-sb2",p2);
// -----------------------------------
// ray queries
@ -401,10 +406,10 @@ bool test()
Ray r13(p1,p3);
Ray r23(p2,p3);
b &= test_aux(t,r12,"t-r12",s12);
b &= test_aux(t,r21,"t-r21",s21);
b &= test_aux(t,r13,"t-r13",s13);
b &= test_aux(t,r23,"t-r23",s23);
b &= test_aux(is_kernel_exact,t,r12,"t-r12",s12);
b &= test_aux(is_kernel_exact,t,r21,"t-r21",s21);
b &= test_aux(is_kernel_exact,t,r13,"t-r13",s13);
b &= test_aux(is_kernel_exact,t,r23,"t-r23",s23);
// In triangle
Point p9_(FT(0.), FT(0.5), FT(0.5));
@ -432,26 +437,26 @@ bool test()
Ray r68(p6,p8);
Segment r89_res(p8,p9_);
b &= test_aux(t,r14,"t-r14",s12);
b &= test_aux(t,r41,"t-r41",s41);
b &= test_aux(t,r24,"t-r24",s21);
b &= test_aux(t,r42,"t-r42",s42);
b &= test_aux(t,r15,"t-r15",s15);
b &= test_aux(t,r25,"t-r25",s23);
b &= test_aux(t,r34,"t-r34",s34);
b &= test_aux(t,r35,"t-r35",s32);
b &= test_aux(t,r36,"t-r36",s31);
b &= test_aux(t,r45,"t-r45",s45);
b &= test_aux(t,r16,"t-r16",s13);
b &= test_aux(t,r26,"t-r26",s26);
b &= test_aux(t,r62,"t-r62",s62);
b &= test_aux(t,r46,"t-r46",s46);
b &= test_aux(t,r48,"t-r48",s46);
b &= test_aux(t,r56,"t-r56",s56);
b &= test_aux(t,r47,"t-r47",s45);
b &= test_aux(t,r89,"t-t89",r89_res);
b &= test_aux(t,r68,"t-r68",s64);
b &= test_aux(t,r86,"t-r86",s86);
b &= test_aux(is_kernel_exact,t,r14,"t-r14",s12);
b &= test_aux(is_kernel_exact,t,r41,"t-r41",s41);
b &= test_aux(is_kernel_exact,t,r24,"t-r24",s21);
b &= test_aux(is_kernel_exact,t,r42,"t-r42",s42);
b &= test_aux(is_kernel_exact,t,r15,"t-r15",s15);
b &= test_aux(is_kernel_exact,t,r25,"t-r25",s23);
b &= test_aux(is_kernel_exact,t,r34,"t-r34",s34);
b &= test_aux(is_kernel_exact,t,r35,"t-r35",s32);
b &= test_aux(is_kernel_exact,t,r36,"t-r36",s31);
b &= test_aux(is_kernel_exact,t,r45,"t-r45",s45);
b &= test_aux(is_kernel_exact,t,r16,"t-r16",s13);
b &= test_aux(is_kernel_exact,t,r26,"t-r26",s26);
b &= test_aux(is_kernel_exact,t,r62,"t-r62",s62);
b &= test_aux(is_kernel_exact,t,r46,"t-r46",s46);
b &= test_aux(is_kernel_exact,t,r48,"t-r48",s46);
b &= test_aux(is_kernel_exact,t,r56,"t-r56",s56);
b &= test_aux(is_kernel_exact,t,r47,"t-r47",s45);
b &= test_aux(is_kernel_exact,t,r89,"t-t89",r89_res);
b &= test_aux(is_kernel_exact,t,r68,"t-r68",s64);
b &= test_aux(is_kernel_exact,t,r86,"t-r86",s86);
// Outside points (in triangre prane)
@ -467,17 +472,17 @@ bool test()
Ray r1F(p1,pF);
Ray rF6(pF,p6);
b &= test_aux(t,rAB,"t-rAB",p2);
b &= test_aux(t,rBC,"t-rBC",s46);
b &= test_aux(t,r2E,"t-r2E",s26);
b &= test_aux(t,rE2,"t-rE2",s62);
b &= test_aux(t,r2A,"t-r2A",p2);
b &= test_aux(t,r6E,"t-r6E",p6);
b &= test_aux(t,rB8,"t-rB8",s46);
b &= test_aux(t,rC8,"t-rC8",s64);
b &= test_aux(t,r8C,"t-r8C",s86);
b &= test_aux(t,r1F,"t-r1F",s13);
b &= test_aux(t,rF6,"t-rF6",s31);
b &= test_aux(is_kernel_exact,t,rAB,"t-rAB",p2);
b &= test_aux(is_kernel_exact,t,rBC,"t-rBC",s46);
b &= test_aux(is_kernel_exact,t,r2E,"t-r2E",s26);
b &= test_aux(is_kernel_exact,t,rE2,"t-rE2",s62);
b &= test_aux(is_kernel_exact,t,r2A,"t-r2A",p2);
b &= test_aux(is_kernel_exact,t,r6E,"t-r6E",p6);
b &= test_aux(is_kernel_exact,t,rB8,"t-rB8",s46);
b &= test_aux(is_kernel_exact,t,rC8,"t-rC8",s64);
b &= test_aux(is_kernel_exact,t,r8C,"t-r8C",s86);
b &= test_aux(is_kernel_exact,t,r1F,"t-r1F",s13);
b &= test_aux(is_kernel_exact,t,rF6,"t-rF6",s31);
// Outside triangle plane
Ray rab(pa,pb);
@ -486,11 +491,11 @@ bool test()
Ray ra8(pa,p8);
Ray rb2(pb,p2);
b &= test_aux(t,rab,"t-rab",p1);
b &= test_aux(t,rac,"t-rac",p6);
b &= test_aux(t,rae,"t-rae",p8);
b &= test_aux(t,ra8,"t-ra8",p8);
b &= test_aux(t,rb2,"t-rb2",p2);
b &= test_aux(is_kernel_exact,t,rab,"t-rab",p1);
b &= test_aux(is_kernel_exact,t,rac,"t-rac",p6);
b &= test_aux(is_kernel_exact,t,rae,"t-rae",p8);
b &= test_aux(is_kernel_exact,t,ra8,"t-ra8",p8);
b &= test_aux(is_kernel_exact,t,rb2,"t-rb2",p2);
// -----------------------------------
// Line queries
@ -501,10 +506,10 @@ bool test()
Line l13(p1,p3);
Line l23(p2,p3);
b &= test_aux(t,l12,"t-l12",s12);
b &= test_aux(t,l21,"t-l21",s21);
b &= test_aux(t,l13,"t-l13",s13);
b &= test_aux(t,l23,"t-l23",s23);
b &= test_aux(is_kernel_exact,t,l12,"t-l12",s12);
b &= test_aux(is_kernel_exact,t,l21,"t-l21",s21);
b &= test_aux(is_kernel_exact,t,l13,"t-l13",s13);
b &= test_aux(is_kernel_exact,t,l23,"t-l23",s23);
// In triangle
Line l14(p1,p4);
@ -530,26 +535,26 @@ bool test()
Segment l89_res(p1,p9_);
b &= test_aux(t,l14,"t-l14",s12);
b &= test_aux(t,l41,"t-l41",s21);
b &= test_aux(t,l24,"t-l24",s21);
b &= test_aux(t,l42,"t-l42",s12);
b &= test_aux(t,l15,"t-l15",s15);
b &= test_aux(t,l25,"t-l25",s23);
b &= test_aux(t,l34,"t-l34",s34);
b &= test_aux(t,l35,"t-l35",s32);
b &= test_aux(t,l36,"t-l36",s31);
b &= test_aux(t,l45,"t-l45",s45);
b &= test_aux(t,l16,"t-l16",s13);
b &= test_aux(t,l26,"t-l26",s26);
b &= test_aux(t,l62,"t-l62",s62);
b &= test_aux(t,l46,"t-l46",s46);
b &= test_aux(t,l48,"t-l48",s46);
b &= test_aux(t,l56,"t-l56",s56);
b &= test_aux(t,l47,"t-l47",s45);
b &= test_aux(t,l89,"t-t89",l89_res);
b &= test_aux(t,l68,"t-l68",s64);
b &= test_aux(t,l86,"t-l86",s46);
b &= test_aux(is_kernel_exact,t,l14,"t-l14",s12);
b &= test_aux(is_kernel_exact,t,l41,"t-l41",s21);
b &= test_aux(is_kernel_exact,t,l24,"t-l24",s21);
b &= test_aux(is_kernel_exact,t,l42,"t-l42",s12);
b &= test_aux(is_kernel_exact,t,l15,"t-l15",s15);
b &= test_aux(is_kernel_exact,t,l25,"t-l25",s23);
b &= test_aux(is_kernel_exact,t,l34,"t-l34",s34);
b &= test_aux(is_kernel_exact,t,l35,"t-l35",s32);
b &= test_aux(is_kernel_exact,t,l36,"t-l36",s31);
b &= test_aux(is_kernel_exact,t,l45,"t-l45",s45);
b &= test_aux(is_kernel_exact,t,l16,"t-l16",s13);
b &= test_aux(is_kernel_exact,t,l26,"t-l26",s26);
b &= test_aux(is_kernel_exact,t,l62,"t-l62",s62);
b &= test_aux(is_kernel_exact,t,l46,"t-l46",s46);
b &= test_aux(is_kernel_exact,t,l48,"t-l48",s46);
b &= test_aux(is_kernel_exact,t,l56,"t-l56",s56);
b &= test_aux(is_kernel_exact,t,l47,"t-l47",s45);
b &= test_aux(is_kernel_exact,t,l89,"t-t89",l89_res);
b &= test_aux(is_kernel_exact,t,l68,"t-l68",s64);
b &= test_aux(is_kernel_exact,t,l86,"t-l86",s46);
// Outside points (in triangle plane)
@ -565,17 +570,17 @@ bool test()
Line l1F(p1,pF);
Line lF6(pF,p6);
b &= test_aux(t,lAB,"t-lAB",p2);
b &= test_aux(t,lBC,"t-lBC",s46);
b &= test_aux(t,l2E,"t-l2E",s26);
b &= test_aux(t,lE2,"t-lE2",s62);
b &= test_aux(t,l2A,"t-l2A",p2);
b &= test_aux(t,l6E,"t-l6E",s26);
b &= test_aux(t,lB8,"t-lB8",s46);
b &= test_aux(t,lC8,"t-lC8",s64);
b &= test_aux(t,l8C,"t-l8C",s46);
b &= test_aux(t,l1F,"t-l1F",s13);
b &= test_aux(t,lF6,"t-lF6",s31);
b &= test_aux(is_kernel_exact,t,lAB,"t-lAB",p2);
b &= test_aux(is_kernel_exact,t,lBC,"t-lBC",s46);
b &= test_aux(is_kernel_exact,t,l2E,"t-l2E",s26);
b &= test_aux(is_kernel_exact,t,lE2,"t-lE2",s62);
b &= test_aux(is_kernel_exact,t,l2A,"t-l2A",p2);
b &= test_aux(is_kernel_exact,t,l6E,"t-l6E",s26);
b &= test_aux(is_kernel_exact,t,lB8,"t-lB8",s46);
b &= test_aux(is_kernel_exact,t,lC8,"t-lC8",s64);
b &= test_aux(is_kernel_exact,t,l8C,"t-l8C",s46);
b &= test_aux(is_kernel_exact,t,l1F,"t-l1F",s13);
b &= test_aux(is_kernel_exact,t,lF6,"t-lF6",s31);
// Outside triangle plane
Line lab(pa,pb);
@ -584,11 +589,11 @@ bool test()
Line la8(pa,p8);
Line lb2(pb,p2);
b &= test_aux(t,lab,"t-lab",p1);
b &= test_aux(t,lac,"t-lac",p6);
b &= test_aux(t,lae,"t-lae",p8);
b &= test_aux(t,la8,"t-la8",p8);
b &= test_aux(t,lb2,"t-lb2",p2);
b &= test_aux(is_kernel_exact,t,lab,"t-lab",p1);
b &= test_aux(is_kernel_exact,t,lac,"t-lac",p6);
b &= test_aux(is_kernel_exact,t,lae,"t-lae",p8);
b &= test_aux(is_kernel_exact,t,la8,"t-la8",p8);
b &= test_aux(is_kernel_exact,t,lb2,"t-lb2",p2);
return b;
@ -606,22 +611,22 @@ int main()
// -----------------------------------
std::cout << "Test precomputed intersection results" << std::endl;
std::cout << "\tTesting with Simple_cartesian<float>..." << std::endl ;
bool b = test<Sc_f>();
bool b = test<Sc_f>(false);
std::cout << "\tTesting with Simple_cartesian<double>..." << std::endl ;
b &= test<Sc_d>();
b &= test<Sc_d>(false);
std::cout << "\tTesting with Cartesian<float>..." << std::endl ;
b &= test<C_f>();
b &= test<C_f>(false);
std::cout << "\tTesting with Cartesian<double>..." << std::endl ;
b &= test<C_d>();
b &= test<C_d>(false);
std::cout << "\tTesting with Exact_predicates_inexact_constructions_kernel..." << std::endl ;
b &= test<Epic>();
b &= test<Epic>(false);
std::cout << "\tTesting with Exact_predicates_exact_constructions_kernel..." << std::endl ;
b &= test<Epec>();
b &= test<Epec>(true);
//test with a coplanar segment
b &= CGAL::intersection(
Epec::Segment_3(Epec::Point_3(0.125, 0, -0.125),Epec::Point_3(0.25, 0, -0.125) ),

View File

@ -37,27 +37,48 @@ following:
\hline
type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\
\hline
\ccStyle{Iso_rectangle_2} & \ccStyle{Iso_rectangle_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Iso_rectangle_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Iso_rectangle_2} & \ccStyle{Line_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Iso_rectangle_2} & \ccStyle{Ray_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Iso_rectangle_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Iso_rectangle_2} & \ccStyle{Triangle_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\\ \ccStyle{Triangle_2}
\\ \ccStyle{std::vector<Point_2>}
\vspace{1 mm}} \\
\hline
\ccStyle{Line_2} & \ccStyle{Line_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Line_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Segment_2} & \ccStyle{Line_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Segment_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Ray_2} & \ccStyle{Line_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Line_2} & \ccStyle{Ray_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Ray_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Ray_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Line_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Line_2} & \ccStyle{Triangle_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\vspace{1 mm}} \\
@ -68,17 +89,22 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\
\\ \ccStyle{Ray_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Triangle_2} & \ccStyle{Line_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Ray_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Triangle_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Ray_2} & \ccStyle{Triangle_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Triangle_2} & \ccStyle{Ray_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Segment_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Segment_2} & \ccStyle{Triangle_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\vspace{1 mm}} \\
@ -90,25 +116,6 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\
\\ \ccStyle{std::vector<Point_2>}
\vspace{1 mm}} \\
\hline
\ccStyle{Iso_rectangle_2} & \ccStyle{Line_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Iso_rectangle_2} & \ccStyle{Segment_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Iso_rectangle_2} & \ccStyle{Ray_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_2}
\\ \ccStyle{Segment_2}
\vspace{1 mm}} \\
\hline
\ccStyle{Iso_rectangle_2} & \ccStyle{Iso_rectangle_2} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Iso_rectangle_2}
\vspace{1 mm}} \\
\hline
{\ccStyle{Line_3}} & {\ccStyle{Line_3}} & \parbox{4 cm}{\vspace{1 mm}
\ccStyle{Point_3} \\
\ccStyle{Line_3}
@ -209,6 +216,48 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\
<TH> type B </TH>
<TH> return type </TH>
</TR>
<TR>
<TD VALIGN="CENTER" > Iso_rectangle_2 </TD>
<TD VALIGN="CENTER" > Iso_rectangle_2 </TD>
<TD><TABLE>
<TR><TD>Iso_rectangle_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Iso_rectangle_2 </TD>
<TD VALIGN="CENTER" > Line_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Iso_rectangle_2 </TD>
<TD VALIGN="CENTER" > Ray_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Iso_rectangle_2 </TD>
<TD VALIGN="CENTER" > Segment_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Iso_rectangle_2 </TD>
<TD VALIGN="CENTER" > Triangle_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
<TR><TD>Triangle_2</TD></TR>
<TR><TD>std::vector&lt;Point_2&gt;</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Line_2 </TD>
<TD VALIGN="CENTER" > Line_2 </TD>
@ -218,37 +267,29 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Segment_2 </TD>
<TD VALIGN="CENTER" > Line_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Segment_2 </TD>
<TD VALIGN="CENTER" > Segment_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Ray_2 </TD>
<TD VALIGN="CENTER" > Line_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Ray_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Ray_2 </TD>
<TD VALIGN="CENTER" > Line_2 </TD>
<TD VALIGN="CENTER" > Segment_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Line_2 </TD>
<TD VALIGN="CENTER" > Triangle_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Ray_2 </TD>
<TD VALIGN="CENTER" > Ray_2 </TD>
@ -259,15 +300,7 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Triangle_2 </TD>
<TD VALIGN="CENTER" > Line_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Triangle_2 </TD>
<TD VALIGN="CENTER" > Ray_2 </TD>
<TD VALIGN="CENTER" > Segment_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
@ -275,8 +308,24 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Triangle_2 </TD>
<TD VALIGN="CENTER" > Ray_2 </TD>
<TD VALIGN="CENTER" > Triangle_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Segment_2 </TD>
<TD VALIGN="CENTER" > Segment_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Segment_2 </TD>
<TD VALIGN="CENTER" > Triangle_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
@ -292,37 +341,6 @@ type A & type B & \parbox{4 cm}{\vspace{1 mm}{return type}} \\
<TR><TD>std::vector&lt;Point_2&gt;</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Iso_rectangle_2 </TD>
<TD VALIGN="CENTER" > Line_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Iso_rectangle_2 </TD>
<TD VALIGN="CENTER" > Segment_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Iso_rectangle_2 </TD>
<TD VALIGN="CENTER" > Ray_2 </TD>
<TD><TABLE>
<TR><TD>Point_2</TD></TR>
<TR><TD>Segment_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Iso_rectangle_2 </TD>
<TD VALIGN="CENTER" > Iso_rectangle_2 </TD>
<TD><TABLE>
<TR><TD>Iso_rectangle_2</TD></TR>
</TABLE></TD>
</TR>
<TR>
<TD VALIGN="CENTER" > Line_3 </TD>
<TD VALIGN="CENTER" > Line_3 </TD>

View File

@ -31,6 +31,7 @@ template <class T>
struct Kernel_traits
{
typedef typename T::R Kernel;
typedef Kernel type;
};
} // end namespace CGAL

View File

@ -85,10 +85,6 @@ namespace CGAL {
Cell_attribute_with_point(const Point& apoint) : Base2(apoint)
{}
/// Contructor with an attribute in parameter.
Cell_attribute_with_point(const Info& ainfo) : Base1(ainfo)
{}
/// Contructor with a point and an attribute in parameters.
Cell_attribute_with_point(const Point& apoint, const Info& ainfo) :
Base1(ainfo),

View File

@ -16,9 +16,8 @@
# Create internal release
# The script also updates the manual tools.
# "next" alone
#0 21 * * Mon,Tue,Wed,Thu,Fri,Sun cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next --public --do-it
0 21 * * Fri,Sat cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next --public --do-it
0 21 * * Fri cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next --public --do-it
# "next" + candidates
0 21 * * Mon,Tue,Wed,Thu,Sun cd $HOME/CGAL/create_internal_release; $HOME/bin/create_release $HOME/CGAL/next $HOME/CGAL/candidate-packages --public --do-it

View File

@ -12,7 +12,7 @@
% +------------------------------------------------------------------------+
\begin{ccRefClass}{Mesh_polyhedron_3<Gt>} %% add template arg's if necessary
\begin{ccRefClass}{Mesh_polyhedron_3<IGT>} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[class]{} %% add further index entries
@ -28,16 +28,18 @@ detection algorithm.
\ccParameters
Template parameter \ccc{Gt} stands for the geometric traits associated
to the meshing process. It should be a model of concept \ccc{PolyhedronTraits_3}.
Template parameter \ccc{IGT} stands for the geometric traits associated
to the meshing process. It should be a model of the two concepts
\ccc{PolyhedronTraits_3} and \ccc{IntersectionGeometricTraits_3}.
\ccTypes
\ccNestedType{type}{\ccc{CGAL::Polyhedron_3<Gt>} type with customized \ccc{PolyhedronItems_3}
\ccNestedType{type}{\ccc{CGAL::Polyhedron_3<IGT>} type with customized \ccc{PolyhedronItems_3}
designed to handle sharp feature detection.}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Polyhedron_3<Gt>}
\ccRefIdfierPage{CGAL::Polyhedral_mesh_domain_with_features_3<IGT>}
\end{ccRefClass}

View File

@ -53,7 +53,7 @@ instantiated with a model of the concept \ccc{IntersectionGeometricTraits_3}.
\ccConstructor{template <typename Polyhedron>
Polyhedral_mesh_domain_with_features_3(const Polyhedron& p);}{
Constructs a \ccc{Polyhedral_mesh_domain_with_features_3} from a \ccc{Polyhedron}.
The only requirement on type \ccc{Polyhedron} is that \ccc{CGAL::Polyhedron_3} should
The only requirement on type \ccc{Polyhedron} is that \ccc{CGAL::Mesh_polyhedron_3<IGT>::type} should
be constructible from \ccc{Polyhedron}.
No feature detection is done at this level. Note that a copy of \ccc{p} will be done.}
@ -73,7 +73,7 @@ those triangles is a feature edge.}
\ccRefConceptPage{MeshDomainWithFeatures_3} \\
\ccRefIdfierPage{CGAL::Mesh_domain_with_polyline_features_3<MeshDomain>} \\
\ccRefIdfierPage{CGAL::Polyhedral_mesh_domain_3<Polyhedron,IGT,TriangleAccessor>} \\
\ccRefConceptPage{Mesh_polyhedron_3<Gt>}
\ccRefIdfierPage{CGAL::Mesh_polyhedron_3<IGT>}
\end{ccRefClass}

View File

@ -51,7 +51,7 @@ and their associated classes:
\ccRefIdfierPage{CGAL::Polyhedral_mesh_domain_with_features_3<IGT>} \\
\ccRefIdfierPage{CGAL::Labeled_image_mesh_domain_3<Image,BGT>} \\
\ccRefIdfierPage{CGAL::Mesh_domain_with_polyline_features_3<MeshDomain_3>} \\
\ccRefIdfierPage{CGAL::Mesh_polyhedron_3<Gt>} \\
\ccRefIdfierPage{CGAL::Mesh_polyhedron_3<IGT>} \\
\ccRefIdfierPage{CGAL::Triangle_accessor_3<CGAL::Polyhedron_3<K>,K>} \\

View File

@ -26,6 +26,9 @@
#include <list>
#include <boost/optional.hpp>
#include <boost/none.hpp>
#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <boost/any.hpp>
#endif
namespace CGAL {
@ -61,7 +64,11 @@ public:
typedef typename Refs::Face_const_handle Face_const_handle;
typedef typename Refs::Halfedge Halfedge;
typedef typename Refs::Face Face;
typedef void* GenPtr;
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
typedef typename Traits::Point Point; // geometric embedding
typedef typename Traits::Mark Mark; // information
@ -76,12 +83,20 @@ private:
GenPtr _i;
public:
Nef_vertex_2() : _h(),_f(),_ivit(),_m(0),_i((GenPtr)0xABCD) {}
Nef_vertex_2() : _h(),_f(),_ivit(),_m(0)
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
,_i((GenPtr)0xABCD)
#endif
{}
// constructs an uninitialized vertex concerning embedding
// and mark. All links are initialized by their default value.
Nef_vertex_2( const Point& p) :
_h(),_f(),_p(p),_ivit(),_m(0),_i((GenPtr)0xABCD) {}
_h(),_f(),_p(p),_ivit(),_m(0)
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
,_i((GenPtr)0xABCD)
#endif
{}
// constructs a vertex with embedding |p| and mark |m|.
// All links are initialized by their default value.
@ -138,7 +153,11 @@ public:
typedef typename Refs::Face_const_handle Face_const_handle;
typedef typename Refs::Vertex Vertex;
typedef typename Refs::Face Face;
typedef void* GenPtr;
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
typedef typename std::list<Halfedge_handle>::iterator fc_iterator;
@ -154,7 +173,11 @@ protected:
public:
Nef_halfedge_2() :
opp(),prv(),nxt(),_v(),_f(),_fcit(),_m(0),_i((GenPtr)0xABCD) {}
opp(),prv(),nxt(),_v(),_f(),_fcit(),_m(0)
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
,_i((GenPtr)0xABCD)
#endif
{}
/*{\Mcreate constructs an uninitialized halfedge concerning embedding
and mark. All links are initialized by their default value.}*/
@ -227,7 +250,11 @@ public:
typedef typename Refs::Face_const_handle Face_const_handle;
typedef typename Refs::Vertex Vertex;
typedef typename Refs::Halfedge Halfedge;
typedef void* GenPtr;
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
typedef typename Traits::Mark Mark; // mark information
@ -300,7 +327,11 @@ private:
GenPtr _i;
public:
Nef_face_2() : _e(),_m(0),_i((GenPtr)0xABCD) {}
Nef_face_2() : _e(),_m(0)
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
,_i((GenPtr)0xABCD)
#endif
{}
/*{\Mcreate constructs an uninitialized face with undefined mark,
empty face cycle list, and empty isolated vertices list.}*/

View File

@ -174,9 +174,9 @@ check_forward_prefix_condition(Vertex_const_handle v) const
error_status << " el_forward = " << el_forward;
error_status << " is_left_turn = " << is_left_turn;
CGAL_assertion_msg( (ef == el ||
ef_forward && !el_forward ||
ef_forward && el_forward && is_left_turn ||
!ef_forward && !el_forward && is_left_turn) ,
(ef_forward && !el_forward) ||
(ef_forward && el_forward && is_left_turn) ||
(!ef_forward && !el_forward && is_left_turn)) ,
error_status.str().c_str());
}

View File

@ -32,6 +32,10 @@
#define CGAL_NEF_DEBUG 7
#include <CGAL/Nef_2/debug.h>
#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <boost/any.hpp>
#endif
namespace CGAL {
template <typename Iter, typename Move>
@ -132,8 +136,13 @@ typedef typename Traits::Mark Mark;
/*{\Mtypemember All objects (vertices, edges, faces) are attributed by a
|Mark| object.}*/
typedef size_t Size_type;
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
/*{\Mtypemember The size type.}*/
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
typedef typename HDS::Vertex Vertex;
@ -403,7 +412,11 @@ std::string PE(HH e)
{ std::ostringstream os;
if (e==HH()) return "nil";
os << "[" << PV(e->opposite()->vertex()) << ","
<< PV(e->vertex()) << " " << e->info() << "]";
<< PV(e->vertex()) << " "
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
<< e->info()
#endif
<< "]";
return os.str();
}

View File

@ -21,7 +21,11 @@
#ifndef CGAL_PM_DECORATOR_H
#define CGAL_PM_DECORATOR_H
#include <CGAL/Nef_2/PM_const_decorator.h>
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <CGAL/Nef_2/geninfo.h>
#else
#include <boost/any.hpp>
#endif
#include <CGAL/Unique_hash_map.h>
#include <vector>

View File

@ -25,7 +25,11 @@
#include <CGAL/Unique_hash_map.h>
#include <CGAL/Union_find.h>
#include <CGAL/Nef_2/Segment_overlay_traits.h>
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <CGAL/Nef_2/geninfo.h>
#else
#include <boost/any.hpp>
#endif
#undef CGAL_NEF_DEBUG
#define CGAL_NEF_DEBUG 13
#include <CGAL/Nef_2/debug.h>
@ -49,7 +53,11 @@ struct PMO_from_segs {
Vertex_handle new_vertex(const Point& p)
{ Vertex_handle v = G.new_vertex(p);
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<Halfedge_handle>::create(G.info(v));
#else
G.info(v)=Halfedge_handle();
#endif
return v;
}
@ -78,15 +86,32 @@ struct PMO_from_segs {
{ D.ending_segment(v,it); }
void halfedge_below(Vertex_handle v, Halfedge_handle e) const
{ geninfo<Halfedge_handle>::access(G.info(v)) = e; }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<Halfedge_handle>::access(G.info(v)) = e;
#else
*boost::any_cast<Halfedge_handle>(&G.info(v)) = e;
#endif
}
Halfedge_handle halfedge_below(Vertex_handle v) const
{ return geninfo<Halfedge_handle>::access(G.info(v)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<Halfedge_handle>::access(G.info(v));
#else
return
boost::any_cast<Halfedge_handle>(G.info(v));
#endif
}
void clear_temporary_vertex_info() const
{ Vertex_handle v;
for(v = G.vertices_begin(); v!= G.vertices_end(); ++v)
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<Halfedge_handle>::clear(G.info(v));
#else
G.info(v)=boost::any();
#endif
}
@ -634,13 +659,32 @@ struct vertex_info {
};
void assoc_info(Vertex_handle v) const
{ geninfo<vertex_info>::create(info(v)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<vertex_info>::create(info(v));
#else
info(v)=vertex_info();
#endif
}
void discard_info(Vertex_handle v) const
{ geninfo<vertex_info>::clear(info(v)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<vertex_info>::clear(info(v));
#else
info(v)=boost::any();
#endif
}
vertex_info& ginfo(Vertex_handle v) const
{ return geninfo<vertex_info>::access(info(v)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<vertex_info>::access(info(v));
#else
return
*boost::any_cast<vertex_info>(&info(v));
#endif
}
Mark& mark(Vertex_handle v, int i) const
{ return ginfo(v).m[i]; }
@ -667,15 +711,36 @@ struct halfedge_info {
};
void assoc_info(Halfedge_handle e) const
{ geninfo<halfedge_info>::create(info(e));
geninfo<halfedge_info>::create(info(twin(e))); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<halfedge_info>::create(info(e));
geninfo<halfedge_info>::create(info(twin(e)));
#else
info(e)=halfedge_info();
info(twin(e))=halfedge_info();
#endif
}
void discard_info(Halfedge_handle e) const
{ geninfo<halfedge_info>::clear(info(e));
geninfo<halfedge_info>::clear(info(twin(e))); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<halfedge_info>::clear(info(e));
geninfo<halfedge_info>::clear(info(twin(e)));
#else
info(e)=boost::any();
info(twin(e))=boost::any();
#endif
}
halfedge_info& ginfo(Halfedge_handle e) const
{ return geninfo<halfedge_info>::access(info(e)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<halfedge_info>::access(info(e));
#else
return
*boost::any_cast<halfedge_info>(&info(e));
#endif
}
Mark& mark(Halfedge_handle e, int i) const
// uedge information we store in the smaller one
@ -702,13 +767,32 @@ struct face_info {
};
void assoc_info(Face_handle f) const
{ geninfo<face_info>::create(info(f)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<face_info>::create(info(f));
#else
info(f)=face_info();
#endif
}
void discard_info(Face_handle f) const
{ geninfo<face_info>::clear(info(f)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<face_info>::clear(info(f));
#else
info(f)=boost::any();
#endif
}
face_info& ginfo(Face_handle f) const
{ return geninfo<face_info>::access(info(f)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<face_info>::access(info(f));
#else
return
*boost::any_cast<face_info>(&info(f));
#endif
}
Mark& mark(Face_handle f, int i) const
{ return ginfo(f).m[i]; }

View File

@ -29,7 +29,11 @@
#undef CGAL_NEF_DEBUG
#define CGAL_NEF_DEBUG 17
#include <CGAL/Nef_2/debug.h>
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <CGAL/Nef_2/geninfo.h>
#else
#include <boost/any.hpp>
#endif
#ifdef CGAL_USE_LEDA
#include <CGAL/LEDA_basic.h>
@ -468,27 +472,57 @@ public:
void operator()(Vertex_handle vn, Vertex_const_handle vo) const
{ Face_const_handle f;
if ( Po.is_isolated(vo) ) f = Po.face(vo);
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<VF_pair>::create(info(vn));
geninfo<VF_pair>::access(info(vn)) = VF_pair(vo,f);
#else
info(vn) = VF_pair(vo,f);
#endif
CGAL_NEF_TRACEN("linking to org "<<PV(vn));
}
void operator()(Halfedge_handle hn, Halfedge_const_handle ho) const
{ geninfo<EF_pair>::create(info(hn));
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<EF_pair>::create(info(hn));
geninfo<EF_pair>::access(info(hn)) = EF_pair(ho,Po.face(ho));
#else
info(hn) = EF_pair(ho,Po.face(ho));
#endif
CGAL_NEF_TRACEN("linking to org "<<PE(hn));
}
};
protected:
Vertex_const_handle input_vertex(Vertex_const_handle v) const
{ return geninfo<VF_pair>::const_access(CT.info(v)).first; }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<VF_pair>::const_access(CT.info(v)).first;
#else
return
boost::any_cast<VF_pair>(CT.info(v)).first;
#endif
}
Halfedge_const_handle input_halfedge(Halfedge_const_handle e) const
{ return geninfo<EF_pair>::const_access(CT.info(e)).first; }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<EF_pair>::const_access(CT.info(e)).first;
#else
return
boost::any_cast<EF_pair>(CT.info(e)).first;
#endif
}
Face_const_handle input_face(Halfedge_const_handle e) const
{ return geninfo<EF_pair>::const_access(CT.info(e)).second; }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<EF_pair>::const_access(CT.info(e)).second;
#else
return
boost::any_cast<EF_pair>(CT.info(e)).second;
#endif
}
Object_handle input_object(Vertex_const_handle v) const
@ -547,10 +581,19 @@ protected:
{ Halfedge_handle e_from = previous(e);
Face_const_handle f;
if ( is_closed_at_source(e) ) // source(e) was isolated before
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
f = geninfo<VF_pair>::access(info(source(e))).second;
else
f = geninfo<EF_pair>::access(info(e_from)).second;
f = geninfo<EF_pair>::access(info(e_from)).second;
#else
f =
boost::any_cast<VF_pair>(info(source(e))).second;
else
f =
boost::any_cast<EF_pair>(info(e_from)).second;
#endif
mark(e) = _DP.mark(f);
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<EF_pair>::create(info(e));
geninfo<EF_pair>::create(info(twin(e)));
@ -560,6 +603,10 @@ protected:
geninfo<EF_pair>::access(info(e)).second =
geninfo<EF_pair>::access(info(twin(e))).second = f;
#else
info(e)=EF_pair(Halfedge_const_handle(),f);
info(twin(e))=EF_pair(Halfedge_const_handle(),f);
#endif
CGAL_NEF_TRACEN("CT_new_edge "<<PE(e));
}
};
@ -920,11 +967,19 @@ PM_point_locator<PMD,GEO>::
{ CGAL_NEF_TRACEN("clear_static_point_locator");
Vertex_iterator vit, vend = CT.vertices_end();
for (vit = CT.vertices_begin(); vit != vend; ++vit) {
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<VF_pair>::clear(CT.info(vit));
#else
CT.info(vit)=boost::any();
#endif
}
Halfedge_iterator eit, eend = CT.halfedges_end();
for (eit = CT.halfedges_begin(); eit != eend; ++eit) {
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<EF_pair>::clear(CT.info(eit));
#else
CT.info(eit)=boost::any();
#endif
}
CT.clear();
delete &(CT.plane_map());

View File

@ -33,7 +33,12 @@
#include <list>
#include <vector>
#include <map>
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <CGAL/Nef_2/geninfo.h>
#else
#include <boost/any.hpp>
#endif
#undef CGAL_NEF_DEBUG
#define CGAL_NEF_DEBUG 17
@ -56,7 +61,11 @@ class GenericLocation {
point location. It can store a node or an edge of a graph or the special
value |nil| which is used to signal that no node or edge could be found.
}*/
typedef void* GenPtr;
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
public:
/*{\Mtypes}*/
enum Type { NIL, NODE, EDGE };
@ -85,7 +94,12 @@ public:
if (type != NODE)
CGAL_LEDA_SCOPE::error_handler(1, "Location: not convertible to node");
#endif
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<Node>::const_access(value);
#else
return
*boost::any_cast<Node>(&value);
#endif
}
/*{\Mconversion converts |\Mvar| into a node.\\
\precond |\Mvar| represents a node.}*/
@ -96,7 +110,12 @@ public:
if (type != EDGE)
CGAL_LEDA_SCOPE::error_handler(1, "Location: not convertible to edge");
#endif
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<Edge>::const_access(value);
#else
return
*boost::any_cast<Edge>(&value);
#endif
}
/*{\Mconversion converts |\Mvar| into an edge.\\
\precond |\Mvar| represents an edge.}*/
@ -125,20 +144,33 @@ public:
void init() { type = NIL; }
void init(Node n)
{ type = NODE;
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<Node>::create(value);
geninfo<Node>::access(value) = n;
geninfo<Node>::access(value) = n;
#else
value=n;
#endif
}
void init(Edge e)
{ type = EDGE;
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<Edge>::create(value);
geninfo<Edge>::access(value) = e;
geninfo<Edge>::access(value) = e;
#else
value=e;
#endif
}
void clear()
{
switch(type) {
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
case NODE: geninfo<Node>::clear(value); break;
case EDGE: geninfo<Edge>::clear(value); break;
#else
case NODE: value=boost::any(); break;
case EDGE: value=boost::any(); break;
#endif
case NIL: break;
}
}
@ -148,10 +180,18 @@ public:
type = L.type;
switch(type) {
case NODE:
geninfo<Node>::access(value) = geninfo<Node>::const_access(L.value);
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<Node>::access(value) = geninfo<Node>::const_access(L.value);
#else
*boost_any_cast<Node>(&value) = boost::any_cast<Node>(L.value);
#endif
break;
case EDGE:
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<Edge>::access(value) = geninfo<Edge>::const_access(L.value);
#else
*boost::any_cast<Edge>(&value) = boost::any_cast<Edge>(L.value);
#endif
break;
case NIL: break;
}

View File

@ -21,6 +21,11 @@
#ifndef CGAL_NEF_2_GENINFO_H
#define CGAL_NEF_2_GENINFO_H
//This file is deprecated and something like boost::any or boost::variant should
//be used instead
#include <CGAL/internal/deprecation_warning.h>
#include <CGAL/config.h>
#include <memory>

View File

@ -34,12 +34,20 @@
#define CGAL_NEF_DEBUG 83
#include <CGAL/Nef_2/debug.h>
#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <boost/any.hpp>
#endif
namespace CGAL {
template <typename Refs>
class Halfedge_base
{ // == Halfedge
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
typedef typename Refs::Mark Mark;
typedef typename Refs::Vector_3 Vector_3;
typedef typename Refs::Sphere_point Sphere_point;
@ -131,7 +139,11 @@ class Halfedge_base
std::string debug() const
{ std::stringstream os;
set_pretty_mode(os);
os<<"sv [ "<<point_<<info_<<" ] ";
os<<"sv [ "<<point_
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
<<info_
#endif
<<" ] ";
return os.str();
}

View File

@ -45,7 +45,7 @@ class ID_support_handler {
ID_support_handler() {}
int get_hash(int) { return 0; }
template<typename Handle> void initialize_hash(Handle h) {}
template<typename Handle> void initialize_hash(Handle /*h*/) {}
void initialize_hash(int i) {}
void handle_support(SVertex_handle ,
SHalfedge_const_handle ,

View File

@ -33,11 +33,19 @@
#define CGAL_NEF_DEBUG 83
#include <CGAL/Nef_2/debug.h>
#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <boost/any.hpp>
#endif
namespace CGAL {
template <typename Refs>
class SFace_base {
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
typedef typename Refs::Mark Mark;
typedef typename Refs::Vertex_handle Vertex_handle;
typedef typename Refs::Vertex_const_handle Vertex_const_handle;

View File

@ -33,11 +33,19 @@
#define CGAL_NEF_DEBUG 83
#include <CGAL/Nef_2/debug.h>
#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <boost/any.hpp>
#endif
namespace CGAL {
template <typename Refs>
class SHalfedge_base {
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
typedef typename Refs::Mark Mark;
typedef typename Refs::Sphere_circle Sphere_circle;
@ -199,7 +207,11 @@ class SHalfedge_base {
{ std::stringstream os;
set_pretty_mode(os);
os <<"e[ "<<source_->debug()<<", "
<<twin_->source_->debug()<<" "<<info_<<" ] ";
<<twin_->source_->debug()
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
<<" "<<info_
#endif
<<" ] ";
return os.str();
}

View File

@ -20,8 +20,11 @@
#ifndef CGAL_SNC_FM_DECORATOR_H
#define CGAL_SNC_FM_DECORATOR_H
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <CGAL/Nef_2/geninfo.h>
#else
#include <boost/any.hpp>
#endif
#include <CGAL/Nef_2/Segment_overlay_traits.h>
#include <CGAL/Nef_3/SNC_decorator.h>
#include <CGAL/Lazy_kernel.h>
@ -123,7 +126,12 @@ std::vector<E>& Support;
unsigned edge_number;
Vertex_handle new_vertex(const Point& p) const
{ geninfo<unsigned>::create(p.vertex()->info());
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<unsigned>::create(p.vertex()->info());
#else
p.vertex()->info()=unsigned();
#endif
return p.vertex(); }
Halfedge_handle new_halfedge_pair_at_source(Vertex_handle v)
@ -135,7 +143,12 @@ void supporting_segment(Halfedge_handle e, I it)
void halfedge_below(Vertex_handle v, Halfedge_handle e)
{ CGAL_NEF_TRACEN("halfedge_below point "<< v->point() <<": " << e);
geninfo<unsigned>::access(v->info()) = e; }
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<unsigned>::access(v->info()) = e;
#else
v->info() = e;
#endif
}
// all empty, no update necessary
void link_as_target_and_append(Vertex_handle, Halfedge_handle)
@ -396,7 +409,11 @@ protected:
int fc = FacetCycle[e];
SHalfedge_handle e_min = MinimalEdge[fc];
SHalfedge_handle e_below =
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
Edge_of[geninfo<unsigned>::access(info(e_min->twin()->source()->twin()->source()))];
#else
Edge_of[ boost::any_cast<unsigned>(info(e_min->twin()->source()->twin()->source())) ];
#endif
CGAL_assertion( e_below != SHalfedge_handle() );
CGAL_NEF_TRACEN(" edge below " << debug(e_below));
Halffacet_handle f = e_below->facet();
@ -631,7 +648,11 @@ create_facet_objects(const Plane_3& plane_supporting_facet,
CGAL_forall_iterators(lit,SHalfloops) { l=*lit;
SHalfedge_handle e_below =
Edge_of[geninfo<unsigned>::access(info(l->incident_sface()->center_vertex()))];
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
Edge_of[geninfo<unsigned>::access(info(l->incident_sface()->center_vertex()))];
#else
Edge_of[ boost::any_cast<unsigned>(info(l->incident_sface()->center_vertex())) ];
#endif
CGAL_assertion( e_below != SHalfedge_handle() );
CGAL_NEF_TRACEN("link sloop at vertex "<< l->incident_sface()->center_vertex()->point());

View File

@ -25,7 +25,11 @@
#include <CGAL/basic.h>
#include <CGAL/Union_find.h>
#include <CGAL/Nef_2/Segment_overlay_traits.h>
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <CGAL/Nef_2/geninfo.h>
#else
#include <boost/any.hpp>
#endif
#include <CGAL/Nef_S2/Sphere_geometry.h>
#include <CGAL/Nef_S2/SM_decorator.h>
#include <CGAL/Nef_S2/SM_const_decorator.h>

View File

@ -36,6 +36,10 @@
#define CGAL_NEF_DEBUG 191
#include <CGAL/Nef_2/debug.h>
#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <boost/any.hpp>
#endif
namespace CGAL {
template<typename S> class SM_const_decorator;
@ -116,7 +120,11 @@ public:
SHalfedge_around_sface_const_circulator;
public:
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
SNC_const_decorator() : sncp_(0) {}
SNC_const_decorator(const SNC_structure& W) : sncp_(&W) {}

View File

@ -40,6 +40,10 @@
#define CGAL_NEF_DEBUG 19
#include <CGAL/Nef_2/debug.h>
#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <boost/any.hpp>
#endif
namespace CGAL {
template <typename Map>
@ -155,7 +159,11 @@ class SNC_decorator : public SNC_const_decorator<Map> {
enum {NO_SNC, WITH_SNC};
public:
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
SNC_decorator() : Base(), sncp_() {}
SNC_decorator(SNC_structure& W)

View File

@ -39,6 +39,10 @@
#define CGAL_NEF_DEBUG 293
#include <CGAL/Nef_2/debug.h>
#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <boost/any.hpp>
#endif
namespace CGAL {
template<typename T>
@ -889,7 +893,11 @@ public:
typedef typename Infi_box::Standard_vector Standard_vector;
typedef typename Infi_box::Standard_plane Standard_plane;
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
using Base::visit_shell_objects;

View File

@ -42,6 +42,10 @@
#define CGAL_NEF_DEBUG 37
#include <CGAL/Nef_2/debug.h>
#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <boost/any.hpp>
#endif
namespace CGAL {
// ----------------------------------------------------------------------------
@ -87,7 +91,11 @@ public:
typedef typename SNC_structure::Mark Mark;
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
SNC_ray_shooter() {}
void initialize(SNC_structure* W) { *this = SNC_ray_shooter(*W);}

View File

@ -1212,7 +1212,8 @@ public:
sfaces_.erase(h);
put_sface_node(&*h);
}
//SL: in the following function, I guess the sizeof(void*) is related to the void* info that was
//used together with geninfo to store an arbitrary type. I replaced that with any and did not changed that
std::size_t bytes() {
// bytes used for the SNC_structure
@ -1253,7 +1254,8 @@ public:
return result;
}
//SL: in the following function, I guess the sizeof(void*) is related to the void* info that was
//used together with geninfo to store an arbitrary type. I replaced that with any and did not changed that
std::size_t bytes_reduced() {
// bytes used for the SNC_structure

View File

@ -33,12 +33,20 @@
#define CGAL_NEF_DEBUG 83
#include <CGAL/Nef_2/debug.h>
#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <boost/any.hpp>
#endif
namespace CGAL {
template<class Refs>
class Vertex_base {
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
typedef typename Refs::Mark Mark;
typedef typename Refs::Point_3 Point_3;

View File

@ -36,6 +36,9 @@
#undef CGAL_NEF_DEBUG
#define CGAL_NEF_DEBUG 67
#include <CGAL/Nef_2/debug.h>
#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <boost/any.hpp>
#endif
namespace CGAL {
@ -74,7 +77,12 @@ typedef typename Map::Mark Mark;
typedef size_t Size_type;
/*{\Mtypemember size type.}*/
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
// typedef typename Map::Constructor_const_parameter Constructor_parameter;
typedef typename Map::SVertex_const_handle SVertex_const_handle;

View File

@ -35,6 +35,9 @@
#include <CGAL/Nef_S2/Normalizing.h>
#include <CGAL/Unique_hash_map.h>
#include <CGAL/IO/Verbose_ostream.h>
#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <boost/any.hpp>
#endif
namespace CGAL {
@ -83,7 +86,11 @@ enum { BEFORE = -1, AFTER = 1 };
typedef typename Sphere_kernel::Aff_transformation_3 Aff_transformation_3;
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
typedef typename Map::SVertex SVertex;
typedef typename Map::SVertex_handle SVertex_handle;
typedef typename Map::SVertex_iterator SVertex_iterator;

View File

@ -31,6 +31,9 @@
#include <CGAL/Nef_S2/Sphere_geometry.h>
#include <string>
#include <sstream>
#ifndef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <boost/any.hpp>
#endif
namespace CGAL {
@ -44,7 +47,11 @@ public:
template <typename Refs>
class SVertex
{
typedef void* GenPtr;
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
typedef typename Refs::Mark Mark;
typedef typename Refs::Sphere_point Sphere_point;
typedef typename Refs::SVertex_handle SVertex_handle;
@ -108,7 +115,11 @@ public:
public:
std::string debug() const
{ std::ostringstream os; set_pretty_mode(os);
os<<"V"<<point_<<' '<<info_<<'\0';
os<<"V"<<point_
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
<<' '<<info_
#endif
<<'\0';
std::string res(os.str()); return res;
}
@ -118,7 +129,11 @@ public:
template <typename Refs>
class SHalfedge
{
typedef void* GenPtr;
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
typedef typename Refs::Mark Mark;
typedef typename Refs::Sphere_circle Sphere_circle;
typedef typename Refs::SVertex_handle SVertex_handle;
@ -202,7 +217,11 @@ public:
std::string debug() const
{ std::ostringstream os; set_pretty_mode(os);
os <<"e["<<source_->debug()<<", "
<<twin_->source_->debug()<<" "<<info_<<"]"<<'\0';
<<twin_->source_->debug()<<
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
" "<< info_ <<
#endif
"]"<<'\0';
std::string res(os.str()); return res;
}
@ -211,7 +230,11 @@ public:
template <typename Refs>
class SHalfloop
{
typedef void* GenPtr;
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
typedef typename Refs::Mark Mark;
typedef typename Refs::Sphere_circle Sphere_circle;
typedef typename Refs::SHalfloop_handle SHalfloop_handle;
@ -272,7 +295,11 @@ public:
std::string debug() const
{ std::ostringstream os; set_pretty_mode(os);
os<<"l"<<circle_<<' '<<info_<<'\0';
os<<"l"<<circle_
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
<<' '<<info_
#endif
<<'\0';
std::string res(os.str()); return res;
}
@ -281,7 +308,11 @@ public:
template <typename Refs>
class SFace
{
typedef void* GenPtr;
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
typedef void* GenPtr;
#else
typedef boost::any GenPtr;
#endif
typedef typename Refs::Mark Mark;
typedef typename Refs::Object_handle Object_handle;
typedef typename Refs::Object_list Object_list;

View File

@ -25,7 +25,11 @@
#include <CGAL/basic.h>
#include <CGAL/Union_find.h>
#include <CGAL/Nef_2/Segment_overlay_traits.h>
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <CGAL/Nef_2/geninfo.h>
#else
#include <boost/any.hpp>
#endif
#include <CGAL/Nef_S2/Sphere_geometry.h>
#include <CGAL/Nef_S2/SM_decorator.h>
#include <CGAL/Nef_S2/SM_const_decorator.h>
@ -56,7 +60,11 @@ struct SMO_from_segs {
Vertex_handle new_vertex(const Point& p)
{ Vertex_handle v = G.new_svertex(p);
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<Halfedge_handle>::create(G.info(v));
#else
G.info(v)=Halfedge_handle();
#endif
return v;
}
@ -85,16 +93,35 @@ struct SMO_from_segs {
{ if ( M[it] ) v->mark() = true; }
void halfedge_below(Vertex_handle v, Halfedge_handle e) const
{ geninfo<Halfedge_handle>::access(G.info(v)) = e; }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<Halfedge_handle>::access(G.info(v)) = e;
#else
G.info(v)=e;
#endif
}
Halfedge_handle halfedge_below(Vertex_handle v) const
{ return geninfo<Halfedge_handle>::access(G.info(v)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<Halfedge_handle>::access(G.info(v));
#else
return
boost::any_cast<Halfedge_handle>( G.info(v) );
#endif
}
void assert_equal_marks(Vertex_handle v1, Vertex_handle v2) const
{ CGAL_assertion(v1->mark()==v2->mark()); }
void discard_info(Vertex_handle v) const
{ geninfo<Halfedge_handle>::clear(G.info(v)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<Halfedge_handle>::clear(G.info(v));
#else
G.info(v)=boost::any();
#endif
}
void assert_equal_marks(Halfedge_handle e1, Halfedge_handle e2) const
{ CGAL_assertion(e1->mark()==e2->mark()); }
@ -104,7 +131,12 @@ struct SMO_from_segs {
void clear_temporary_vertex_info() const
{ Vertex_handle v;
CGAL_forall_svertices(v,G)
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<Halfedge_handle>::clear(G.info(v));
#else
G.info(v)=boost::any();
#endif
}
@ -500,13 +532,32 @@ public:
}; // vertex_info
void assoc_info(SVertex_handle v) const
{ geninfo<vertex_info>::create(info(v)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<vertex_info>::create(info(v));
#else
info(v)=vertex_info();
#endif
}
void discard_info(SVertex_handle v) const
{ geninfo<vertex_info>::clear(info(v)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<vertex_info>::clear(info(v));
#else
info(v)=boost::any();
#endif
}
vertex_info& ginfo(SVertex_handle v) const
{ return geninfo<vertex_info>::access(info(v)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<vertex_info>::access(info(v));
#else
return
*boost::any_cast<vertex_info>(&info(v));
#endif
}
Mark& mark(SVertex_handle v, int i) const
{ return ginfo(v).m[i]; }
@ -532,15 +583,36 @@ public:
};
void assoc_info(SHalfedge_handle e) const
{ geninfo<edge_info>::create(info(e));
geninfo<edge_info>::create(info(e->twin())); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<edge_info>::create(info(e));
geninfo<edge_info>::create(info(e->twin()));
#else
info(e)=edge_info();
info(e->twin())=edge_info();
#endif
}
void discard_info(SHalfedge_handle e) const
{ geninfo<edge_info>::clear(info(e));
geninfo<edge_info>::clear(info(e->twin())); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<edge_info>::clear(info(e));
geninfo<edge_info>::clear(info(e->twin()));
#else
info(e)=boost::any();
info(e->twin())=boost::any();
#endif
}
edge_info& ginfo(SHalfedge_handle e) const
{ return geninfo<edge_info>::access(info(e)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<edge_info>::access(info(e));
#else
return
*boost::any_cast<edge_info>(&info(e));
#endif
}
Mark& mark(SHalfedge_handle e, int i) const
{ return ginfo(e).m[i]; }
@ -567,13 +639,32 @@ public:
};
void assoc_info(SFace_handle f) const
{ geninfo<face_info>::create(info(f)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<face_info>::create(info(f));
#else
info(f)=face_info();
#endif
}
void discard_info(SFace_handle f) const
{ geninfo<face_info>::clear(info(f)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<face_info>::clear(info(f));
#else
info(f)=boost::any();
#endif
}
face_info& ginfo(SFace_handle f) const
{ return geninfo<face_info>::access(info(f)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<face_info>::access(info(f));
#else
return
*boost::any_cast<face_info>(&info(f));
#endif
}
Mark& mark(SFace_handle f, int i) const
{ return ginfo(f).m[i]; }
@ -1393,13 +1484,19 @@ subdivide(const Map* M0, const Map* M1,
// DEBUG CODE: to do: have all svertices a halfedge below associated?
CGAL_NEF_TRACEN("Vertex info after swep");
CGAL_assertion_code(SVertex_iterator svi);
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
CGAL_assertion_code(
for(svi=this->svertices_begin(); svi!=this->svertices_end(); svi++) {
CGAL_NEF_TRACEN("vertex "<<svi->point()<<" info "<<info(svi)<<
" marks "<<mark(svi,0)<<" "<<mark(svi,1));
CGAL_NEF_TRACEN("vertex "<<svi->point()<<" info "<< info(svi)<< " marks "<<mark(svi,0)<<" "<<mark(svi,1));
}
)
#else
CGAL_assertion_code(
for(svi=this->svertices_begin(); svi!=this->svertices_end(); svi++) {
CGAL_NEF_TRACEN("vertex "<<svi->point()<< " marks "<<mark(svi,0)<<" "<<mark(svi,1));
}
)
#endif
if(compute_halfsphere[cs][0] && compute_halfsphere[cs][1])
merge_halfsphere_maps(this->svertices_begin(),v,O);
else
@ -1683,12 +1780,20 @@ subdivide(const Map* M0, const Map* M1,
// DEBUG CODE: to do: have all svertices a halfedge below associated?
CGAL_NEF_TRACEN("Vertex info after swep");
CGAL_assertion_code(SVertex_iterator svi);
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
CGAL_assertion_code(
for(svi=this->svertices_begin(); svi!=this->svertices_end(); svi++) {
CGAL_NEF_TRACEN("vertex "<<svi->point()<<" info "<<info(svi)<<
" marks "<<mark(svi,0)<<" "<<mark(svi,1));
CGAL_NEF_TRACEN("vertex "<<svi->point() <<" info "<<info(svi) << " marks "<<mark(svi,0)<<" "<<mark(svi,1));
}
)
#else
CGAL_assertion_code(
for(svi=this->svertices_begin(); svi!=this->svertices_end(); svi++) {
CGAL_NEF_TRACEN("vertex "<<svi->point() << " marks "<<mark(svi,0)<<" "<<mark(svi,1));
}
)
#endif
transfer_data(A);

View File

@ -23,7 +23,11 @@
#include <vector>
#include <CGAL/basic.h>
#include <CGAL/Unique_hash_map.h>
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <CGAL/Nef_2/geninfo.h>
#else
#include <boost/any.hpp>
#endif
#include <CGAL/Nef_2/Object_handle.h>
#include <CGAL/Nef_S2/SM_decorator_traits.h>
#undef CGAL_NEF_DEBUG

View File

@ -24,7 +24,11 @@
#include <CGAL/basic.h>
#include <CGAL/Unique_hash_map.h>
#include <CGAL/Nef_2/Segment_overlay_traits.h>
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
#include <CGAL/Nef_2/geninfo.h>
#else
#include <boost/any.hpp>
#endif
#include <CGAL/Nef_S2/SM_decorator.h>
#include <CGAL/Nef_S2/SM_const_decorator.h>
#include <CGAL/Nef_S2/SM_point_locator.h>
@ -201,13 +205,32 @@ public:
};
void assoc_info(SVertex_handle v) const
{ geninfo<vertex_info>::create(info(v)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<vertex_info>::create(info(v));
#else
info(v)=vertex_info();
#endif
}
void discard_info(SVertex_handle v) const
{ geninfo<vertex_info>::clear(info(v)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<vertex_info>::clear(info(v));
#else
info(v)=boost::any();
#endif
}
vertex_info& ginfo(SVertex_handle v) const
{ return geninfo<vertex_info>::access(info(v)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<vertex_info>::access(info(v));
#else
return
*boost::any_cast<vertex_info>(&info(v));
#endif
}
Object_handle& support(SVertex_handle v) const
{ return ginfo(v).o_; }
@ -224,15 +247,36 @@ public:
};
void assoc_info(SHalfedge_handle e) const
{ geninfo<edge_info>::create(info(e));
geninfo<edge_info>::create(info(e->twin())); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<edge_info>::create(info(e));
geninfo<edge_info>::create(info(e->twin()));
#else
info(e)=edge_info();
info(e->twin())=edge_info();
#endif
}
void discard_info(SHalfedge_handle e) const
{ geninfo<edge_info>::clear(info(e));
geninfo<edge_info>::clear(info(e->twin())); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
geninfo<edge_info>::clear(info(e));
geninfo<edge_info>::clear(info(e->twin()));
#else
info(e)=boost::any();
info(e->twin())=boost::any();
#endif
}
edge_info& ginfo(SHalfedge_handle e) const
{ return geninfo<edge_info>::access(info(e)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<edge_info>::access(info(e));
#else
return
*boost::any_cast<edge_info>(&info(e));
#endif
}
Object_handle& support(SHalfedge_handle e) const
// uedge information we store in the smaller one
@ -244,7 +288,14 @@ public:
{ return ginfo(e).m_left_; }
const edge_info& ginfo(SHalfedge_const_handle e) const
{ return geninfo<edge_info>::const_access(info(e)); }
{
#ifdef CGAL_I_DO_WANT_TO_USE_GENINFO
return geninfo<edge_info>::const_access(info(e));
#else
return
*boost::any_cast<edge_info>(&info(e));
#endif
}
const Mark& incident_mark(SHalfedge_const_handle e) const
{ return ginfo(e).m_left_; }

View File

@ -46,6 +46,7 @@ void test_root_of_traits_for_set(Integer, Rational, FWS){
}
int main(){
std::cout << "Testing with double" << std::endl;
CGAL::Test::test_root_of_traits< double , double , double >();
try{// just compile and try to get as far as you can go.
@ -56,6 +57,7 @@ int main(){
#ifdef CGAL_HAS_GMP_ARITHMETIC_KERNEL
//TODO: switch to Gmpq
{
std::cout << "Testing with GMP" << std::endl;
typedef CGAL::GMP_arithmetic_kernel AK;
typedef AK::Integer Integer;
typedef AK::Rational Rational;
@ -65,6 +67,7 @@ int main(){
#endif
#ifdef CGAL_HAS_LEDA_ARITHMETIC_KERNEL
{
std::cout << "Testing with LEDA" << std::endl;
typedef CGAL::LEDA_arithmetic_kernel AK;
typedef AK::Integer Integer;
typedef AK::Rational Rational;
@ -74,6 +77,7 @@ int main(){
#endif
#ifdef CGAL_HAS_CORE_ARITHMETIC_KERNEL
{
std::cout << "Testing with CORE" << std::endl;
typedef CGAL::CORE_arithmetic_kernel AK;
typedef AK::Integer Integer;
typedef AK::Rational Rational;
@ -82,6 +86,7 @@ int main(){
}
#endif
{
std::cout << "Testing with MP_Float" << std::endl;
typedef CGAL::MP_Float_arithmetic_kernel AK;
typedef AK::Integer Integer;
typedef AK::Rational Rational;

View File

@ -0,0 +1,319 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="385pt" height="103pt" viewBox="0 0 385 103" version="1.2">
<defs>
<g>
<symbol overflow="visible" id="glyph0-0">
<path style="stroke:none;" d="M 1.453125 -4.703125 L 0.109375 -4.703125 L 0.109375 -4.53125 C 0.4375 -4.46875 0.484375 -4.421875 0.484375 -4.125 L 0.484375 -0.578125 C 0.484375 -0.296875 0.421875 -0.234375 0.109375 -0.171875 L 0.109375 0 L 1.78125 0 L 1.78125 -0.171875 C 1.53125 -0.203125 1.453125 -0.3125 1.453125 -0.5625 L 1.453125 -2.421875 C 1.453125 -2.453125 1.5 -2.515625 1.5625 -2.578125 C 1.71875 -2.734375 1.890625 -2.828125 2.046875 -2.828125 C 2.28125 -2.828125 2.40625 -2.640625 2.40625 -2.25 L 2.40625 -0.5625 C 2.40625 -0.3125 2.3125 -0.1875 2.078125 -0.171875 L 2.078125 0 L 3.71875 0 L 3.71875 -0.171875 C 3.46875 -0.1875 3.375 -0.296875 3.375 -0.578125 L 3.375 -2.3125 C 3.375 -2.90625 3 -3.28125 2.4375 -3.28125 C 2.0625 -3.28125 1.8125 -3.15625 1.453125 -2.75 Z M 1.453125 -4.703125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-1">
<path style="stroke:none;" d="M 3.34375 -2.765625 L 3.34375 -3.140625 L 2.453125 -3.140625 C 2.140625 -3.25 1.953125 -3.28125 1.671875 -3.28125 C 0.84375 -3.28125 0.25 -2.828125 0.25 -2.171875 C 0.25 -1.9375 0.34375 -1.703125 0.5 -1.515625 C 0.65625 -1.34375 0.796875 -1.25 1.125 -1.109375 C 0.5625 -0.921875 0.296875 -0.65625 0.296875 -0.296875 C 0.296875 -0.015625 0.421875 0.109375 0.859375 0.265625 C 0.421875 0.328125 0.1875 0.5 0.1875 0.796875 C 0.1875 1.203125 0.71875 1.4375 1.59375 1.4375 C 2.75 1.4375 3.359375 1.078125 3.359375 0.375 C 3.359375 -0.15625 2.921875 -0.46875 2.21875 -0.46875 L 1.765625 -0.46875 C 1.203125 -0.46875 1.078125 -0.515625 1.078125 -0.71875 C 1.078125 -0.921875 1.265625 -1.078125 1.546875 -1.078125 L 1.859375 -1.078125 C 2.1875 -1.078125 2.359375 -1.109375 2.59375 -1.25 C 2.90625 -1.4375 3.0625 -1.71875 3.0625 -2.09375 C 3.0625 -2.359375 2.984375 -2.578125 2.78125 -2.765625 Z M 2.25 0.359375 C 2.625 0.359375 2.8125 0.484375 2.8125 0.703125 C 2.8125 1.03125 2.421875 1.203125 1.734375 1.203125 C 1.125 1.203125 0.8125 1.046875 0.8125 0.75 C 0.8125 0.59375 0.859375 0.515625 1.046875 0.359375 Z M 1.671875 -3.078125 C 2 -3.078125 2.125 -2.8125 2.125 -2.15625 C 2.125 -1.515625 2 -1.265625 1.671875 -1.265625 C 1.328125 -1.265625 1.203125 -1.515625 1.203125 -2.15625 C 1.203125 -2.8125 1.34375 -3.078125 1.671875 -3.078125 Z M 1.671875 -3.078125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-0">
<path style="stroke:none;" d="M 2.234375 -2.140625 L 2.234375 -3.09375 L 2.09375 -3.09375 C 2.046875 -3 2.015625 -2.953125 1.921875 -2.953125 C 1.890625 -2.953125 1.828125 -2.96875 1.71875 -3 C 1.5 -3.078125 1.359375 -3.109375 1.203125 -3.109375 C 0.609375 -3.109375 0.171875 -2.703125 0.171875 -2.140625 C 0.171875 -1.71875 0.453125 -1.40625 1.109375 -1.125 C 1.5625 -0.9375 1.734375 -0.765625 1.734375 -0.5625 C 1.734375 -0.296875 1.546875 -0.125 1.25 -0.125 C 0.78125 -0.125 0.484375 -0.421875 0.34375 -1 L 0.15625 -1 L 0.15625 0.078125 L 0.328125 0.078125 C 0.40625 -0.046875 0.4375 -0.09375 0.5 -0.09375 C 0.53125 -0.09375 0.578125 -0.078125 0.65625 -0.0625 C 0.828125 0.015625 1.171875 0.09375 1.359375 0.09375 C 1.953125 0.09375 2.375 -0.3125 2.375 -0.90625 C 2.375 -1.375 2.109375 -1.65625 1.46875 -1.921875 C 1.015625 -2.125 0.828125 -2.28125 0.828125 -2.5 C 0.828125 -2.71875 1.015625 -2.890625 1.265625 -2.890625 C 1.4375 -2.890625 1.609375 -2.8125 1.765625 -2.671875 C 1.890625 -2.546875 1.96875 -2.421875 2.0625 -2.140625 Z M 2.234375 -2.140625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-1">
<path style="stroke:none;" d="M 1.390625 -3.03125 L 0.140625 -3.03125 L 0.140625 -2.875 C 0.421875 -2.828125 0.484375 -2.75 0.484375 -2.484375 L 0.484375 0.8125 C 0.484375 1.078125 0.4375 1.140625 0.125 1.1875 L 0.125 1.34375 L 1.921875 1.34375 L 1.921875 1.203125 C 1.515625 1.1875 1.40625 1.0625 1.40625 0.609375 L 1.40625 -0.3125 C 1.71875 0 1.890625 0.078125 2.171875 0.078125 C 2.90625 0.078125 3.4375 -0.59375 3.4375 -1.5625 C 3.4375 -2.484375 2.953125 -3.109375 2.21875 -3.109375 C 1.828125 -3.109375 1.59375 -2.953125 1.390625 -2.578125 Z M 1.40625 -2.265625 C 1.40625 -2.3125 1.46875 -2.421875 1.546875 -2.5 C 1.671875 -2.65625 1.828125 -2.734375 1.96875 -2.734375 C 2.3125 -2.734375 2.46875 -2.34375 2.46875 -1.46875 C 2.46875 -0.65625 2.28125 -0.28125 1.90625 -0.28125 C 1.6875 -0.28125 1.5 -0.421875 1.40625 -0.671875 Z M 1.40625 -2.265625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-2">
<path style="stroke:none;" d="M 1.359375 -4.4375 L 0.109375 -4.4375 L 0.109375 -4.28125 C 0.328125 -4.265625 0.4375 -4.140625 0.4375 -3.890625 L 0.4375 -0.546875 C 0.4375 -0.3125 0.328125 -0.171875 0.109375 -0.15625 L 0.109375 0 L 1.671875 0 L 1.671875 -0.15625 C 1.453125 -0.15625 1.359375 -0.28125 1.359375 -0.546875 Z M 1.359375 -4.4375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-3">
<path style="stroke:none;" d="M 1.359375 -3.03125 L 0.109375 -3.03125 L 0.109375 -2.875 C 0.390625 -2.8125 0.453125 -2.75 0.453125 -2.484375 L 0.453125 -0.546875 C 0.453125 -0.28125 0.40625 -0.234375 0.109375 -0.15625 L 0.109375 0 L 1.671875 0 L 1.671875 -0.15625 C 1.4375 -0.1875 1.359375 -0.28125 1.359375 -0.53125 Z M 0.90625 -4.53125 C 0.625 -4.53125 0.390625 -4.3125 0.390625 -4.03125 C 0.390625 -3.734375 0.609375 -3.515625 0.90625 -3.515625 C 1.1875 -3.515625 1.40625 -3.734375 1.40625 -4.015625 C 1.40625 -4.3125 1.1875 -4.53125 0.90625 -4.53125 Z M 0.90625 -4.53125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-4">
<path style="stroke:none;" d="M 2 -3.03125 L 1.390625 -3.03125 L 1.390625 -4.140625 L 1.21875 -4.140625 C 0.8125 -3.5625 0.5625 -3.28125 0.125 -2.90625 L 0.125 -2.734375 L 0.46875 -2.734375 L 0.46875 -0.609375 C 0.46875 -0.1875 0.75 0.078125 1.203125 0.078125 C 1.640625 0.078125 1.90625 -0.125 2.171875 -0.65625 L 2.015625 -0.734375 C 1.890625 -0.484375 1.78125 -0.390625 1.640625 -0.390625 C 1.453125 -0.390625 1.390625 -0.5 1.390625 -0.765625 L 1.390625 -2.734375 L 2 -2.734375 Z M 2 -3.03125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-5">
<path style="stroke:none;" d="M 3.28125 0.8125 L 3.28125 0.484375 L 0 0.484375 L 0 0.8125 Z M 3.28125 0.8125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-6">
<path style="stroke:none;" d="M 0.46875 -2.734375 L 0.46875 -0.546875 C 0.46875 -0.265625 0.390625 -0.1875 0.09375 -0.15625 L 0.09375 0 L 1.921875 0 L 1.921875 -0.15625 C 1.453125 -0.171875 1.375 -0.25 1.375 -0.671875 L 1.375 -2.734375 L 1.953125 -2.734375 L 1.953125 -3.03125 L 1.375 -3.03125 L 1.375 -3.828125 C 1.375 -4.1875 1.46875 -4.328125 1.703125 -4.328125 C 1.828125 -4.328125 1.890625 -4.28125 1.890625 -4.203125 C 1.890625 -4.1875 1.875 -4.140625 1.84375 -4.0625 C 1.78125 -3.96875 1.75 -3.890625 1.75 -3.828125 C 1.75 -3.625 1.921875 -3.46875 2.140625 -3.46875 C 2.390625 -3.46875 2.546875 -3.640625 2.546875 -3.875 C 2.546875 -4.265625 2.171875 -4.53125 1.609375 -4.53125 C 1.171875 -4.53125 0.828125 -4.375 0.65625 -4.09375 C 0.515625 -3.859375 0.46875 -3.59375 0.46875 -3.03125 L 0.09375 -3.03125 L 0.09375 -2.734375 Z M 0.46875 -2.734375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-7">
<path style="stroke:none;" d="M 3.109375 -0.421875 L 3.03125 -0.359375 C 3.015625 -0.328125 3 -0.328125 2.96875 -0.328125 C 2.875 -0.328125 2.828125 -0.390625 2.828125 -0.484375 L 2.828125 -2.203125 C 2.828125 -2.75 2.328125 -3.109375 1.53125 -3.109375 C 0.78125 -3.109375 0.28125 -2.765625 0.28125 -2.28125 C 0.28125 -2.015625 0.453125 -1.84375 0.71875 -1.84375 C 0.984375 -1.84375 1.15625 -2 1.15625 -2.21875 C 1.15625 -2.3125 1.125 -2.40625 1.046875 -2.5 C 0.984375 -2.578125 0.96875 -2.609375 0.96875 -2.65625 C 0.96875 -2.78125 1.140625 -2.890625 1.375 -2.890625 C 1.765625 -2.890625 1.921875 -2.71875 1.921875 -2.3125 L 1.921875 -1.84375 C 1.140625 -1.59375 0.828125 -1.46875 0.578125 -1.3125 C 0.296875 -1.109375 0.15625 -0.890625 0.15625 -0.609375 C 0.15625 -0.203125 0.46875 0.09375 0.890625 0.09375 C 1.265625 0.09375 1.5625 -0.046875 1.921875 -0.375 C 2 -0.03125 2.140625 0.09375 2.46875 0.09375 C 2.75 0.09375 2.953125 -0.015625 3.203125 -0.28125 Z M 1.921875 -0.65625 C 1.75 -0.453125 1.609375 -0.375 1.453125 -0.375 C 1.265625 -0.375 1.125 -0.546875 1.125 -0.8125 C 1.125 -1.1875 1.390625 -1.46875 1.921875 -1.609375 Z M 1.921875 -0.65625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-8">
<path style="stroke:none;" d="M 2.703125 -0.71875 C 2.453125 -0.4375 2.296875 -0.34375 2.015625 -0.34375 C 1.453125 -0.34375 1.09375 -0.921875 1.09375 -1.8125 C 1.09375 -2.484375 1.296875 -2.90625 1.640625 -2.90625 C 1.75 -2.90625 1.84375 -2.84375 1.890625 -2.78125 C 1.921875 -2.71875 1.921875 -2.71875 1.921875 -2.4375 C 1.921875 -2.125 2.046875 -1.96875 2.28125 -1.96875 C 2.5625 -1.96875 2.734375 -2.125 2.734375 -2.375 C 2.734375 -2.78125 2.296875 -3.109375 1.71875 -3.109375 C 0.8125 -3.109375 0.15625 -2.40625 0.15625 -1.46875 C 0.15625 -0.5625 0.75 0.09375 1.5625 0.09375 C 2.078125 0.09375 2.4375 -0.109375 2.828125 -0.59375 Z M 2.703125 -0.71875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-9">
<path style="stroke:none;" d="M 2.640625 -0.8125 C 2.375 -0.5 2.171875 -0.375 1.890625 -0.375 C 1.640625 -0.375 1.4375 -0.5 1.3125 -0.734375 C 1.1875 -0.9375 1.140625 -1.15625 1.109375 -1.609375 L 2.765625 -1.609375 C 2.71875 -2.15625 2.625 -2.46875 2.421875 -2.71875 C 2.203125 -2.96875 1.890625 -3.109375 1.53125 -3.109375 C 0.71875 -3.109375 0.15625 -2.453125 0.15625 -1.5 C 0.15625 -0.53125 0.703125 0.09375 1.515625 0.09375 C 2.046875 0.09375 2.375 -0.125 2.796875 -0.734375 Z M 1.078125 -1.84375 C 1.09375 -2.640625 1.21875 -2.90625 1.53125 -2.90625 C 1.71875 -2.90625 1.84375 -2.796875 1.890625 -2.59375 C 1.921875 -2.46875 1.9375 -2.28125 1.953125 -1.953125 L 1.953125 -1.84375 Z M 1.078125 -1.84375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-10">
<path style="stroke:none;" d="M 2.015625 -4.546875 C 1.59375 -4.34375 1.421875 -4.203125 1.15625 -3.9375 C 0.609375 -3.328125 0.296875 -2.546875 0.296875 -1.703125 C 0.296875 -1.109375 0.46875 -0.515625 0.78125 -0.015625 C 1.078125 0.453125 1.359375 0.71875 2.015625 1.109375 L 2.015625 0.921875 C 1.640625 0.6875 1.46875 0.515625 1.328125 0.21875 C 1.140625 -0.1875 1.046875 -0.796875 1.046875 -1.6875 C 1.046875 -2.59375 1.140625 -3.265625 1.3125 -3.65625 C 1.453125 -3.9375 1.609375 -4.109375 2.015625 -4.375 Z M 2.015625 -4.546875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-11">
<path style="stroke:none;" d="M 1.359375 -4.4375 L 0.109375 -4.4375 L 0.109375 -4.28125 C 0.40625 -4.21875 0.453125 -4.171875 0.453125 -3.890625 L 0.453125 -0.546875 C 0.453125 -0.28125 0.40625 -0.21875 0.109375 -0.15625 L 0.109375 0 L 1.6875 0 L 1.6875 -0.15625 C 1.4375 -0.1875 1.359375 -0.28125 1.359375 -0.53125 L 1.359375 -2.28125 C 1.359375 -2.3125 1.40625 -2.375 1.46875 -2.4375 C 1.625 -2.578125 1.78125 -2.671875 1.921875 -2.671875 C 2.15625 -2.671875 2.265625 -2.484375 2.265625 -2.125 L 2.265625 -0.53125 C 2.265625 -0.28125 2.1875 -0.1875 1.96875 -0.15625 L 1.96875 0 L 3.5 0 L 3.5 -0.15625 C 3.265625 -0.171875 3.1875 -0.28125 3.1875 -0.546875 L 3.1875 -2.171875 C 3.1875 -2.75 2.828125 -3.109375 2.296875 -3.109375 C 1.953125 -3.109375 1.703125 -2.96875 1.359375 -2.59375 Z M 1.359375 -4.4375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-12">
<path style="stroke:none;" d="M 0.375 1.1875 C 1.140625 0.734375 1.46875 0.3125 1.46875 -0.25 C 1.46875 -0.703125 1.1875 -1.015625 0.796875 -1.015625 C 0.46875 -1.015625 0.25 -0.796875 0.25 -0.46875 C 0.25 -0.171875 0.453125 0.046875 0.734375 0.046875 C 0.765625 0.046875 0.8125 0.046875 0.84375 0.03125 C 0.859375 0.03125 0.875 0.03125 0.890625 0.03125 C 0.96875 0.03125 1.015625 0.078125 1.015625 0.171875 C 1.015625 0.421875 0.796875 0.703125 0.296875 1.03125 Z M 0.375 1.1875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-13">
<path style="stroke:none;" d="M 3.15625 -2.609375 L 3.15625 -2.953125 L 2.3125 -2.953125 C 2.015625 -3.0625 1.84375 -3.109375 1.578125 -3.109375 C 0.796875 -3.109375 0.25 -2.671875 0.25 -2.046875 C 0.25 -1.828125 0.328125 -1.609375 0.484375 -1.421875 C 0.625 -1.265625 0.75 -1.1875 1.0625 -1.046875 C 0.53125 -0.875 0.28125 -0.625 0.28125 -0.28125 C 0.28125 -0.015625 0.390625 0.109375 0.8125 0.25 C 0.40625 0.3125 0.1875 0.484375 0.1875 0.75 C 0.1875 1.125 0.671875 1.359375 1.5 1.359375 C 2.59375 1.359375 3.171875 1.015625 3.171875 0.359375 C 3.171875 -0.140625 2.765625 -0.453125 2.09375 -0.453125 L 1.671875 -0.453125 C 1.140625 -0.453125 1.015625 -0.484375 1.015625 -0.671875 C 1.015625 -0.875 1.1875 -1.015625 1.453125 -1.015625 L 1.75 -1.015625 C 2.0625 -1.015625 2.21875 -1.046875 2.453125 -1.1875 C 2.75 -1.359375 2.890625 -1.625 2.890625 -1.96875 C 2.890625 -2.234375 2.8125 -2.421875 2.625 -2.609375 Z M 2.125 0.34375 C 2.484375 0.34375 2.65625 0.453125 2.65625 0.671875 C 2.65625 0.96875 2.296875 1.140625 1.640625 1.140625 C 1.0625 1.140625 0.765625 0.984375 0.765625 0.703125 C 0.765625 0.5625 0.8125 0.484375 0.984375 0.34375 Z M 1.578125 -2.90625 C 1.890625 -2.90625 2.015625 -2.65625 2.015625 -2.046875 C 2.015625 -1.4375 1.890625 -1.1875 1.578125 -1.1875 C 1.265625 -1.1875 1.140625 -1.4375 1.140625 -2.046875 C 1.140625 -2.65625 1.265625 -2.90625 1.578125 -2.90625 Z M 1.578125 -2.90625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-14">
<path style="stroke:none;" d="M 0.171875 1.109375 C 0.578125 0.890625 0.765625 0.75 1.015625 0.484375 C 1.578125 -0.125 1.890625 -0.90625 1.890625 -1.75 C 1.890625 -2.34375 1.71875 -2.9375 1.40625 -3.4375 C 1.109375 -3.90625 0.8125 -4.171875 0.171875 -4.546875 L 0.171875 -4.375 C 0.546875 -4.125 0.71875 -3.96875 0.859375 -3.671875 C 1.046875 -3.265625 1.140625 -2.65625 1.140625 -1.765625 C 1.140625 -0.859375 1.046875 -0.1875 0.859375 0.203125 C 0.734375 0.484375 0.578125 0.65625 0.171875 0.921875 Z M 0.171875 1.109375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-15">
<path style="stroke:none;" d="M 1.703125 -3.03125 L 0.375 -3.03125 L 0.375 -2.875 C 0.71875 -2.84375 0.796875 -2.765625 0.796875 -2.484375 L 0.796875 0.625 C 0.796875 0.984375 0.703125 1.125 0.484375 1.125 C 0.359375 1.125 0.265625 1.078125 0.265625 1.015625 C 0.265625 0.984375 0.28125 0.9375 0.328125 0.875 C 0.390625 0.765625 0.421875 0.703125 0.421875 0.625 C 0.421875 0.4375 0.25 0.28125 0.03125 0.28125 C -0.203125 0.28125 -0.375 0.4375 -0.375 0.671875 C -0.375 1.0625 0 1.328125 0.546875 1.328125 C 1 1.328125 1.34375 1.15625 1.53125 0.828125 C 1.65625 0.625 1.703125 0.375 1.703125 -0.015625 Z M 1.21875 -4.53125 C 0.9375 -4.53125 0.703125 -4.3125 0.703125 -4.03125 C 0.703125 -3.734375 0.921875 -3.515625 1.21875 -3.515625 C 1.5 -3.515625 1.71875 -3.734375 1.71875 -4.015625 C 1.71875 -4.3125 1.5 -4.53125 1.21875 -4.53125 Z M 1.21875 -4.53125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-16">
<path style="stroke:none;" d="M 1.640625 -3.109375 C 0.8125 -3.109375 0.15625 -2.421875 0.15625 -1.515625 C 0.15625 -0.578125 0.78125 0.09375 1.640625 0.09375 C 2.5 0.09375 3.125 -0.59375 3.125 -1.5 C 3.125 -2.421875 2.5 -3.109375 1.640625 -3.109375 Z M 1.65625 -2.90625 C 2.03125 -2.90625 2.15625 -2.546875 2.15625 -1.46875 C 2.15625 -0.453125 2.03125 -0.109375 1.640625 -0.109375 C 1.265625 -0.109375 1.125 -0.453125 1.125 -1.40625 C 1.125 -2.5625 1.25 -2.90625 1.65625 -2.90625 Z M 1.65625 -2.90625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-17">
<path style="stroke:none;" d="M 1.390625 -3.03125 L 0.140625 -3.03125 L 0.140625 -2.875 C 0.421875 -2.828125 0.484375 -2.75 0.484375 -2.484375 L 0.484375 -0.546875 C 0.484375 -0.28125 0.4375 -0.21875 0.140625 -0.15625 L 0.140625 0 L 1.71875 0 L 1.71875 -0.15625 C 1.46875 -0.1875 1.390625 -0.28125 1.390625 -0.53125 L 1.390625 -2.28125 C 1.390625 -2.3125 1.4375 -2.375 1.515625 -2.4375 C 1.65625 -2.578125 1.8125 -2.671875 1.96875 -2.671875 C 2.1875 -2.671875 2.296875 -2.484375 2.296875 -2.125 L 2.296875 -0.53125 C 2.296875 -0.28125 2.21875 -0.1875 2 -0.15625 L 2 0 L 3.53125 0 L 3.53125 -0.15625 C 3.28125 -0.171875 3.21875 -0.25 3.21875 -0.53125 L 3.21875 -2.171875 C 3.21875 -2.75 2.875 -3.109375 2.328125 -3.109375 C 1.9375 -3.109375 1.640625 -2.921875 1.390625 -2.53125 Z M 1.390625 -3.03125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-18">
<path style="stroke:none;" d="M 3.1875 -3.03125 L 2.1875 -3.03125 L 2.1875 -2.875 C 2.46875 -2.859375 2.546875 -2.8125 2.546875 -2.65625 C 2.546875 -2.578125 2.53125 -2.46875 2.484375 -2.359375 L 2.015625 -1.15625 L 1.484375 -2.5 C 1.4375 -2.625 1.4375 -2.65625 1.4375 -2.703125 C 1.4375 -2.796875 1.5 -2.84375 1.65625 -2.859375 C 1.671875 -2.859375 1.71875 -2.859375 1.78125 -2.875 L 1.78125 -3.03125 L 0.140625 -3.03125 L 0.140625 -2.875 C 0.28125 -2.84375 0.328125 -2.828125 0.375 -2.765625 C 0.375 -2.78125 0.6875 -2.125 0.796875 -1.84375 L 1.578125 0.09375 L 1.75 0.09375 L 2.796875 -2.5 C 2.921875 -2.796875 2.984375 -2.84375 3.1875 -2.875 Z M 3.1875 -3.03125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-19">
<path style="stroke:none;" d="M 1.4375 -3.03125 L 0.1875 -3.03125 L 0.1875 -2.875 C 0.46875 -2.828125 0.546875 -2.75 0.546875 -2.484375 L 0.546875 -0.546875 C 0.546875 -0.28125 0.484375 -0.203125 0.1875 -0.15625 L 0.1875 0 L 1.9375 0 L 1.9375 -0.15625 C 1.53125 -0.1875 1.453125 -0.265625 1.453125 -0.671875 L 1.453125 -1.921875 C 1.453125 -2.25 1.640625 -2.546875 1.859375 -2.546875 C 1.90625 -2.546875 1.96875 -2.5 2.046875 -2.390625 C 2.171875 -2.21875 2.265625 -2.15625 2.4375 -2.15625 C 2.671875 -2.15625 2.84375 -2.34375 2.84375 -2.59375 C 2.84375 -2.890625 2.625 -3.109375 2.3125 -3.109375 C 1.984375 -3.109375 1.734375 -2.921875 1.4375 -2.484375 Z M 1.4375 -3.03125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-20">
<path style="stroke:none;" d="M 3.171875 -0.15625 C 3.078125 -0.1875 3.03125 -0.21875 2.984375 -0.28125 L 2.015625 -1.78125 L 2.671875 -2.609375 C 2.796875 -2.765625 2.921875 -2.828125 3.125 -2.875 L 3.125 -3.03125 L 2.03125 -3.03125 L 2.03125 -2.875 C 2.09375 -2.859375 2.140625 -2.859375 2.15625 -2.859375 C 2.3125 -2.84375 2.359375 -2.8125 2.359375 -2.703125 C 2.359375 -2.609375 2.296875 -2.5 2.109375 -2.296875 C 2.078125 -2.25 1.96875 -2.125 1.875 -1.984375 C 1.84375 -2.03125 1.8125 -2.078125 1.796875 -2.09375 C 1.578125 -2.375 1.40625 -2.65625 1.40625 -2.75 C 1.40625 -2.828125 1.5 -2.859375 1.71875 -2.875 L 1.71875 -3.03125 L 0.078125 -3.03125 L 0.078125 -2.875 C 0.25 -2.84375 0.28125 -2.8125 0.421875 -2.609375 L 1.265625 -1.3125 C 1.0625 -1.078125 0.890625 -0.859375 0.828125 -0.765625 C 0.46875 -0.28125 0.328125 -0.171875 0.09375 -0.15625 L 0.09375 0 L 1.203125 0 L 1.203125 -0.15625 C 0.96875 -0.171875 0.875 -0.21875 0.875 -0.3125 C 0.875 -0.40625 1.046875 -0.6875 1.296875 -0.984375 C 1.3125 -1.015625 1.359375 -1.0625 1.390625 -1.125 L 1.671875 -0.703125 C 1.828125 -0.484375 1.890625 -0.375 1.890625 -0.28125 C 1.890625 -0.203125 1.796875 -0.171875 1.59375 -0.15625 L 1.59375 0 L 3.171875 0 Z M 3.171875 -0.15625 "/>
</symbol>
</g>
</defs>
<g id="surface1">
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(87.799072%,87.799072%,87.799072%);fill-opacity:1;" d="M 58.890625 66.757812 L 59.664062 35.871094 L 35.722656 14.054688 L 11.980469 34.90625 L 13.523438 71.777344 L 35.722656 87.992188 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 588.90625 362.421875 L 596.640625 671.289062 L 357.226562 889.453125 L 119.804688 680.9375 L 135.234375 312.226562 L 357.226562 150.078125 Z M 588.90625 362.421875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 9.644531 41.886719 L 7.296875 41.996094 L 9.371094 36.015625 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 96.445312 611.132812 L 72.96875 610.039062 L 93.710938 669.84375 Z M 96.445312 611.132812 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 17.363281 30.171875 L 18.90625 31.945312 L 12.925781 34.023438 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 173.632812 728.28125 L 189.0625 710.546875 L 129.257812 689.765625 Z M 173.632812 728.28125 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 29.214844 16.375 L 27.683594 14.59375 L 33.671875 12.546875 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 292.148438 866.25 L 276.835938 884.0625 L 336.71875 904.53125 Z M 292.148438 866.25 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 40.714844 18.636719 L 39.125 20.371094 L 36.382812 14.664062 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 407.148438 843.632812 L 391.25 826.289062 L 363.828125 883.359375 Z M 407.148438 843.632812 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 55.875 29.023438 L 57.453125 27.28125 L 60.226562 32.96875 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 558.75 739.765625 L 574.53125 757.1875 L 602.265625 700.3125 Z M 558.75 739.765625 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 59.488281 42.949219 L 57.140625 42.890625 L 59.632812 37.074219 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 594.882812 600.507812 L 571.40625 601.09375 L 596.328125 659.257812 Z M 594.882812 600.507812 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 61.726562 59.660156 L 64.074219 59.726562 L 61.566406 65.535156 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 617.265625 433.398438 L 640.742188 432.734375 L 615.664062 374.648438 Z M 617.265625 433.398438 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 53.695312 71.496094 L 52.117188 69.757812 L 58.046875 67.546875 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 536.953125 315.039062 L 521.171875 332.421875 L 580.46875 354.53125 Z M 536.953125 315.039062 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 42.3125 85.324219 L 43.882812 87.074219 L 37.9375 89.246094 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 423.125 176.757812 L 438.828125 159.257812 L 379.375 137.539062 Z M 423.125 176.757812 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 30.03125 83.820312 L 31.414062 81.921875 L 34.777344 87.28125 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 300.3125 191.796875 L 314.140625 210.78125 L 347.773438 157.1875 Z M 300.3125 191.796875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 17.835938 77.894531 L 16.433594 79.78125 L 13.117188 74.390625 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.359375 251.054688 L 164.335938 232.1875 L 131.171875 286.09375 Z M 178.359375 251.054688 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 13.265625 64.441406 L 15.617188 64.382812 L 13.414062 70.316406 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 132.65625 385.585938 L 156.171875 386.171875 L 134.140625 326.835938 Z M 132.65625 385.585938 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 359.179688 119.179688 L 614.960938 349.882812 L 621.71875 682.890625 L 357.226562 922.265625 L 92.773438 693.515625 L 111.09375 300.625 Z M 359.179688 119.179688 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 124.257812 329.570312 C 111.992188 329.570312 102.070312 319.648438 102.070312 307.382812 C 102.070312 295.117188 111.992188 285.195312 124.257812 285.195312 C 136.523438 285.195312 146.484375 295.117188 146.484375 307.382812 C 146.484375 319.648438 136.523438 329.570312 124.257812 329.570312 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 106.875 709.882812 C 94.648438 709.882812 84.6875 699.960938 84.6875 687.695312 C 84.6875 675.429688 94.648438 665.507812 106.875 665.507812 C 119.140625 665.507812 129.101562 675.429688 129.101562 687.695312 C 129.101562 699.960938 119.140625 709.882812 106.875 709.882812 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.851562 927.070312 C 345.585938 927.070312 335.664062 917.148438 335.664062 904.882812 C 335.664062 892.617188 345.585938 882.695312 357.851562 882.695312 C 370.117188 882.695312 380.039062 892.617188 380.039062 904.882812 C 380.039062 917.148438 370.117188 927.070312 357.851562 927.070312 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 606.875 701.210938 C 594.648438 701.210938 584.6875 691.25 584.6875 679.023438 C 584.6875 666.757812 594.648438 656.796875 606.875 656.796875 C 619.140625 656.796875 629.101562 666.757812 629.101562 679.023438 C 629.101562 691.25 619.140625 701.210938 606.875 701.210938 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.851562 159.6875 C 345.585938 159.6875 335.664062 149.765625 335.664062 137.5 C 335.664062 125.234375 345.585938 115.3125 357.851562 115.3125 C 370.117188 115.3125 380.039062 125.234375 380.039062 137.5 C 380.039062 149.765625 370.117188 159.6875 357.851562 159.6875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 601.09375 379.765625 C 588.828125 379.765625 578.90625 369.84375 578.90625 357.578125 C 578.90625 345.3125 588.828125 335.390625 601.09375 335.390625 C 613.359375 335.390625 623.320312 345.3125 623.320312 357.578125 C 623.320312 369.84375 613.359375 379.765625 601.09375 379.765625 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-0" x="43.5424" y="28.4806"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="24.6234" y="76.6468"/>
</g>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(87.799072%,87.799072%,87.799072%);fill-opacity:1;" d="M 173.949219 66.285156 L 174.71875 35.398438 L 150.78125 13.582031 L 127.035156 34.429688 L 128.582031 71.304688 L 150.78125 87.519531 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1739.492188 367.148438 L 1747.1875 676.015625 L 1507.8125 894.179688 L 1270.351562 685.703125 L 1285.820312 316.953125 L 1507.8125 154.804688 Z M 1739.492188 367.148438 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 151.941406 80.6875 L 154.292969 80.679688 L 151.960938 86.5625 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1519.414062 223.125 L 1542.929688 223.203125 L 1519.609375 164.375 Z M 1519.414062 223.125 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 149.644531 20.511719 L 147.296875 20.511719 L 149.640625 14.636719 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1496.445312 824.882812 L 1472.96875 824.882812 L 1496.40625 883.632812 Z M 1496.445312 824.882812 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1496.25 149.726562 L 1519.414062 149.726562 L 1519.414062 901.679688 L 1496.25 901.679688 Z M 1496.25 149.726562 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 144.945312 83.203125 L 146.328125 81.304688 L 149.691406 86.664062 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1449.453125 197.96875 L 1463.28125 216.953125 L 1496.914062 163.359375 Z M 1449.453125 197.96875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 124.703125 41.410156 L 122.355469 41.519531 L 124.429688 35.542969 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1247.03125 615.898438 L 1223.554688 614.804688 L 1244.296875 674.570312 Z M 1247.03125 615.898438 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 132.421875 29.699219 L 133.964844 31.472656 L 127.984375 33.550781 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1324.21875 733.007812 L 1339.648438 715.273438 L 1279.84375 694.492188 Z M 1324.21875 733.007812 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 144.273438 15.902344 L 142.742188 14.121094 L 148.730469 12.074219 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1442.734375 870.976562 L 1427.421875 888.789062 L 1487.304688 909.257812 Z M 1442.734375 870.976562 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 156.398438 18.695312 L 154.808594 20.425781 L 152.070312 14.722656 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1563.984375 843.046875 L 1548.085938 825.742188 L 1520.703125 882.773438 Z M 1563.984375 843.046875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 170.933594 28.546875 L 172.511719 26.804688 L 175.285156 32.496094 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1709.335938 744.53125 L 1725.117188 761.953125 L 1752.851562 705.039062 Z M 1709.335938 744.53125 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 174.546875 42.476562 L 172.199219 42.417969 L 174.691406 36.601562 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1745.46875 605.234375 L 1721.992188 605.820312 L 1746.914062 663.984375 Z M 1745.46875 605.234375 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 176.78125 59.1875 L 179.132812 59.25 L 176.625 65.0625 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1767.8125 438.125 L 1791.328125 437.5 L 1766.25 379.375 Z M 1767.8125 438.125 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 168.753906 71.023438 L 167.175781 69.28125 L 173.105469 67.074219 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1687.539062 319.765625 L 1671.757812 337.1875 L 1731.054688 359.257812 Z M 1687.539062 319.765625 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 157.371094 84.851562 L 158.941406 86.601562 L 152.996094 88.773438 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1573.710938 181.484375 L 1589.414062 163.984375 L 1529.960938 142.265625 Z M 1573.710938 181.484375 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 132.894531 77.417969 L 131.492188 79.304688 L 128.175781 73.914062 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1328.945312 255.820312 L 1314.921875 236.953125 L 1281.757812 290.859375 Z M 1328.945312 255.820312 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 128.324219 63.96875 L 130.675781 63.90625 L 128.472656 69.839844 "/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1283.242188 390.3125 L 1306.757812 390.9375 L 1284.726562 331.601562 Z M 1283.242188 390.3125 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1509.765625 123.90625 L 1765.546875 354.609375 L 1772.304688 687.617188 L 1507.8125 926.992188 L 1243.359375 698.242188 L 1261.679688 305.390625 Z M 1509.765625 123.90625 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1274.84375 334.335938 C 1262.578125 334.335938 1252.65625 324.375 1252.65625 312.109375 C 1252.65625 299.84375 1262.578125 289.921875 1274.84375 289.921875 C 1287.109375 289.921875 1297.03125 299.84375 1297.03125 312.109375 C 1297.03125 324.375 1287.109375 334.335938 1274.84375 334.335938 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1257.460938 714.648438 C 1245.195312 714.648438 1235.273438 704.6875 1235.273438 692.421875 C 1235.273438 680.15625 1245.195312 670.234375 1257.460938 670.234375 C 1269.726562 670.234375 1279.6875 680.15625 1279.6875 692.421875 C 1279.6875 704.6875 1269.726562 714.648438 1257.460938 714.648438 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1757.460938 705.9375 C 1745.195312 705.9375 1735.273438 696.015625 1735.273438 683.75 C 1735.273438 671.484375 1745.195312 661.523438 1757.460938 661.523438 C 1769.726562 661.523438 1779.6875 671.484375 1779.6875 683.75 C 1779.6875 696.015625 1769.726562 705.9375 1757.460938 705.9375 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1751.679688 384.53125 C 1739.414062 384.53125 1729.492188 374.570312 1729.492188 362.304688 C 1729.492188 350.039062 1739.414062 340.117188 1751.679688 340.117188 C 1763.945312 340.117188 1773.867188 350.039062 1773.867188 362.304688 C 1773.867188 374.570312 1763.945312 384.53125 1751.679688 384.53125 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1509.414062 926.484375 C 1497.148438 926.484375 1487.1875 916.5625 1487.1875 904.296875 C 1487.1875 892.03125 1497.148438 882.109375 1509.414062 882.109375 C 1521.679688 882.109375 1531.601562 892.03125 1531.601562 904.296875 C 1531.601562 916.5625 1521.679688 926.484375 1509.414062 926.484375 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1508.4375 167.34375 C 1496.171875 167.34375 1486.25 157.382812 1486.25 145.117188 C 1486.25 132.851562 1496.171875 122.929688 1508.4375 122.929688 C 1520.703125 122.929688 1530.625 132.851562 1530.625 145.117188 C 1530.625 157.382812 1520.703125 167.34375 1508.4375 167.34375 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-0" x="153.195" y="56.6753"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-0" x="72.4034" y="40.3884"/>
<use xlink:href="#glyph1-1" x="74.956691" y="40.3884"/>
<use xlink:href="#glyph1-2" x="78.606125" y="40.3884"/>
<use xlink:href="#glyph1-3" x="80.430842" y="40.3884"/>
<use xlink:href="#glyph1-4" x="82.255559" y="40.3884"/>
<use xlink:href="#glyph1-5" x="84.441281" y="40.3884"/>
<use xlink:href="#glyph1-6" x="87.723146" y="40.3884"/>
<use xlink:href="#glyph1-7" x="89.908868" y="40.3884"/>
<use xlink:href="#glyph1-8" x="93.190733" y="40.3884"/>
<use xlink:href="#glyph1-9" x="96.105029" y="40.3884"/>
<use xlink:href="#glyph1-4" x="99.019325" y="40.3884"/>
<use xlink:href="#glyph1-10" x="101.205047" y="40.3884"/>
<use xlink:href="#glyph1-11" x="103.390769" y="40.3884"/>
<use xlink:href="#glyph1-12" x="107.040203" y="40.3884"/>
<use xlink:href="#glyph1-13" x="108.681136" y="40.3884"/>
<use xlink:href="#glyph1-14" x="111.963001" y="40.3884"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-15" x="75.49222" y="65.485"/>
<use xlink:href="#glyph1-16" x="77.677942" y="65.485"/>
<use xlink:href="#glyph1-3" x="80.959807" y="65.485"/>
<use xlink:href="#glyph1-17" x="82.784524" y="65.485"/>
<use xlink:href="#glyph1-5" x="86.433958" y="65.485"/>
<use xlink:href="#glyph1-6" x="89.715823" y="65.485"/>
<use xlink:href="#glyph1-7" x="91.901545" y="65.485"/>
<use xlink:href="#glyph1-8" x="95.18341" y="65.485"/>
<use xlink:href="#glyph1-9" x="98.097706" y="65.485"/>
<use xlink:href="#glyph1-4" x="101.012002" y="65.485"/>
<use xlink:href="#glyph1-10" x="103.197724" y="65.485"/>
<use xlink:href="#glyph1-11" x="105.383446" y="65.485"/>
<use xlink:href="#glyph1-14" x="109.03288" y="65.485"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:7.72203;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 703.4375 530.117188 C 703.4375 530.117188 703.4375 530.117188 727.734375 535.429688 C 752.03125 540.742188 800.625 551.367188 851.601562 556.835938 C 902.617188 562.304688 956.015625 562.617188 1006.054688 557.65625 C 1056.09375 552.65625 1102.734375 542.34375 1126.054688 537.226562 C 1149.375 532.070312 1149.375 532.070312 1149.375 532.070312 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 109.277344 50.617188 L 117.085938 50.066406 L 109.9375 46.875 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1092.773438 523.828125 L 1170.859375 529.335938 L 1099.375 561.25 Z M 1092.773438 523.828125 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:7.72203;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1150.039062 480.195312 C 1150.039062 480.195312 1150.039062 480.195312 1125.742188 474.882812 C 1101.445312 469.570312 1052.851562 458.945312 1001.875 453.476562 C 950.859375 448.007812 897.460938 447.695312 847.421875 452.695312 C 797.382812 457.65625 750.742188 467.96875 727.421875 473.125 C 704.101562 478.28125 704.101562 478.28125 704.101562 478.28125 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 76.070312 54.351562 L 68.261719 54.898438 L 75.410156 58.089844 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 760.703125 486.484375 L 682.617188 481.015625 L 754.101562 449.101562 Z M 760.703125 486.484375 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 12.8125 18.28125 L 1848.710938 18.28125 L 1848.710938 1024.0625 L 12.8125 1024.0625 Z M 12.8125 18.28125 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:7.72203;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2703.4375 523.359375 C 2703.4375 523.359375 2703.4375 523.359375 2727.734375 528.671875 C 2752.03125 533.984375 2800.625 544.609375 2851.601562 550.078125 C 2902.617188 555.546875 2956.015625 555.859375 3006.054688 550.898438 C 3056.09375 545.898438 3102.734375 535.585938 3126.054688 530.46875 C 3149.414062 525.3125 3149.414062 525.3125 3149.414062 525.3125 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 309.277344 51.292969 L 317.085938 50.742188 L 309.9375 47.550781 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3092.773438 517.070312 L 3170.859375 522.578125 L 3099.375 554.492188 Z M 3092.773438 517.070312 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:7.72203;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3150.039062 473.4375 C 3150.039062 473.4375 3150.039062 473.4375 3125.742188 468.125 C 3101.445312 462.8125 3052.851562 452.1875 3001.875 446.71875 C 2950.898438 441.25 2897.460938 440.9375 2847.421875 445.9375 C 2797.382812 450.898438 2750.742188 461.210938 2727.421875 466.367188 C 2704.101562 471.523438 2704.101562 471.523438 2704.101562 471.523438 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 276.074219 55.027344 L 268.261719 55.574219 L 275.410156 58.765625 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2760.742188 479.726562 L 2682.617188 474.257812 L 2754.101562 442.34375 Z M 2760.742188 479.726562 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-0" x="270.667" y="41.0641"/>
<use xlink:href="#glyph1-1" x="273.220291" y="41.0641"/>
<use xlink:href="#glyph1-2" x="276.869725" y="41.0641"/>
<use xlink:href="#glyph1-3" x="278.694442" y="41.0641"/>
<use xlink:href="#glyph1-4" x="280.519159" y="41.0641"/>
<use xlink:href="#glyph1-5" x="282.704881" y="41.0641"/>
<use xlink:href="#glyph1-18" x="285.986746" y="41.0641"/>
<use xlink:href="#glyph1-9" x="289.268611" y="41.0641"/>
<use xlink:href="#glyph1-19" x="292.182907" y="41.0641"/>
<use xlink:href="#glyph1-4" x="295.097203" y="41.0641"/>
<use xlink:href="#glyph1-9" x="297.282925" y="41.0641"/>
<use xlink:href="#glyph1-20" x="300.197221" y="41.0641"/>
<use xlink:href="#glyph1-10" x="303.479086" y="41.0641"/>
<use xlink:href="#glyph1-11" x="305.664808" y="41.0641"/>
<use xlink:href="#glyph1-12" x="309.314242" y="41.0641"/>
<use xlink:href="#glyph1-13" x="310.955175" y="41.0641"/>
<use xlink:href="#glyph1-14" x="314.23704" y="41.0641"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-15" x="273.75582" y="66.1607"/>
<use xlink:href="#glyph1-16" x="275.941542" y="66.1607"/>
<use xlink:href="#glyph1-3" x="279.223407" y="66.1607"/>
<use xlink:href="#glyph1-17" x="281.048124" y="66.1607"/>
<use xlink:href="#glyph1-5" x="284.697558" y="66.1607"/>
<use xlink:href="#glyph1-18" x="287.979423" y="66.1607"/>
<use xlink:href="#glyph1-9" x="291.261288" y="66.1607"/>
<use xlink:href="#glyph1-19" x="294.175584" y="66.1607"/>
<use xlink:href="#glyph1-4" x="297.08988" y="66.1607"/>
<use xlink:href="#glyph1-9" x="299.275602" y="66.1607"/>
<use xlink:href="#glyph1-20" x="302.189898" y="66.1607"/>
<use xlink:href="#glyph1-10" x="305.471763" y="66.1607"/>
<use xlink:href="#glyph1-11" x="307.657485" y="66.1607"/>
<use xlink:href="#glyph1-14" x="311.306919" y="66.1607"/>
</g>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(87.799072%,87.799072%,87.799072%);fill-opacity:1;" d="M 258.796875 79.972656 C 258.363281 76.996094 258.523438 73.554688 259.183594 71.15625 C 259.84375 68.761719 261 67.410156 261.578125 64.964844 C 262.160156 62.519531 262.160156 58.980469 261.308594 55.890625 C 260.453125 52.800781 258.75 50.164062 257.71875 47.347656 C 256.691406 44.53125 256.335938 41.539062 257.058594 38.695312 C 257.78125 35.847656 259.585938 33.144531 260.886719 30.390625 C 262.191406 27.640625 262.996094 24.84375 263.011719 21.996094 C 263.027344 19.148438 262.257812 16.25 261.871094 14.804688 C 261.484375 13.355469 261.484375 13.355469 261.484375 13.355469 C 261.484375 13.355469 261.484375 13.355469 257.398438 17.054688 C 253.3125 20.753906 245.140625 28.15625 241.050781 31.855469 C 236.964844 35.554688 236.964844 35.554688 236.964844 35.554688 C 236.964844 35.554688 236.964844 35.554688 236.964844 40.625 C 236.964844 45.691406 236.964844 55.828125 236.964844 60.894531 C 236.964844 65.960938 236.964844 65.960938 236.964844 65.960938 C 236.964844 65.960938 236.964844 65.960938 241.019531 69.628906 C 245.074219 73.296875 253.183594 80.632812 257.234375 84.300781 C 261.289062 87.96875 261.289062 87.96875 261.289062 87.96875 C 261.289062 87.96875 261.289062 87.96875 260.777344 86.714844 C 260.261719 85.460938 259.230469 82.949219 258.796875 79.972656 "/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(87.799072%,87.799072%,87.799072%);fill-opacity:1;" d="M 214.21875 25.824219 C 214.863281 28.253906 215.054688 30.601562 214.445312 33.5625 C 213.832031 36.523438 212.417969 40.09375 211.613281 43.148438 C 210.808594 46.207031 210.613281 48.75 211.210938 51.128906 C 211.804688 53.511719 213.1875 55.730469 213.914062 58.578125 C 214.636719 61.425781 214.699219 64.898438 213.914062 67.8125 C 213.125 70.722656 211.484375 73.074219 210.503906 75.535156 C 209.519531 77.996094 209.199219 80.570312 209.183594 82.582031 C 209.167969 84.589844 209.457031 86.039062 209.601562 86.761719 C 209.746094 87.488281 209.746094 87.488281 209.746094 87.488281 C 209.746094 87.488281 209.746094 87.488281 213.914062 83.898438 C 218.078125 80.3125 226.414062 73.136719 230.578125 69.550781 C 234.746094 65.960938 234.746094 65.960938 234.746094 65.960938 C 234.746094 65.960938 234.746094 65.960938 234.746094 60.894531 C 234.746094 55.828125 234.746094 45.691406 234.746094 40.625 C 234.746094 35.554688 234.746094 35.554688 234.746094 35.554688 C 234.746094 35.554688 234.746094 35.554688 230.851562 32.691406 C 226.960938 29.828125 219.171875 24.101562 215.28125 21.238281 C 211.386719 18.375 211.386719 18.375 211.386719 18.375 C 211.386719 18.375 211.386719 18.375 211.933594 19.628906 C 212.480469 20.882812 213.574219 23.394531 214.21875 25.824219 "/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 260.367188 12.847656 L 212.394531 17.578125 L 236.046875 52.808594 "/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 260.753906 89.296875 L 235.851562 52.808594 L 210.660156 88.332031 "/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 216.394531 82.609375 L 218.289062 84 L 212.921875 87.351562 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2163.945312 203.90625 L 2182.890625 190 L 2129.21875 156.484375 Z M 2163.945312 203.90625 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 257.460938 82.164062 L 259.410156 80.847656 L 260.753906 87.03125 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2574.609375 208.359375 L 2594.101562 221.523438 L 2607.539062 159.6875 Z M 2574.609375 208.359375 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 255.074219 18.351562 L 253.074219 17.121094 L 258.160156 13.351562 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2550.742188 846.484375 L 2530.742188 858.789062 L 2581.601562 896.484375 Z M 2550.742188 846.484375 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 215.671875 24.59375 L 213.710938 25.886719 L 212.433594 19.691406 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2156.71875 784.0625 L 2137.109375 771.132812 L 2124.335938 833.085938 Z M 2156.71875 784.0625 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 232.542969 45.648438 L 234.503906 44.351562 L 235.78125 50.550781 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2325.429688 573.515625 L 2345.039062 586.484375 L 2357.8125 524.492188 Z M 2325.429688 573.515625 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 240.882812 46.8125 L 242.898438 48.023438 L 237.859375 51.851562 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2408.828125 561.875 L 2428.984375 549.765625 L 2378.59375 511.484375 Z M 2408.828125 561.875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 230.296875 58.3125 L 228.4375 56.878906 L 233.886719 53.660156 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2302.96875 446.875 L 2284.375 461.210938 L 2338.867188 493.398438 Z M 2302.96875 446.875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 239.257812 60.085938 L 237.308594 61.402344 L 235.96875 55.21875 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2392.578125 429.140625 L 2373.085938 415.976562 L 2359.6875 477.8125 Z M 2392.578125 429.140625 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 236.816406 52.035156 L 261.769531 88.476562 L 259.742188 90.019531 L 234.789062 53.582031 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2368.164062 509.648438 L 2617.695312 145.234375 L 2597.421875 129.804688 L 2347.890625 494.179688 Z M 2368.164062 509.648438 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 236.863281 53.484375 L 261.238281 13.136719 L 259.164062 11.640625 L 234.789062 52.132812 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2368.632812 495.15625 L 2612.382812 898.632812 L 2591.640625 913.59375 L 2347.890625 508.671875 Z M 2368.632812 495.15625 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 236.960938 52.277344 L 213.457031 16.757812 L 211.429688 18.15625 L 234.886719 53.726562 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2369.609375 507.226562 L 2134.570312 862.421875 L 2114.296875 848.4375 L 2348.867188 492.734375 Z M 2369.609375 507.226562 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 211.671875 89.152344 L 236.816406 53.582031 L 234.789062 52.035156 L 209.742188 87.605469 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2116.71875 138.476562 L 2368.164062 494.179688 L 2347.890625 509.648438 L 2097.421875 153.945312 Z M 2116.71875 138.476562 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2601.445312 927.070312 C 2589.179688 927.070312 2579.257812 917.148438 2579.257812 904.882812 C 2579.257812 892.617188 2589.179688 882.695312 2601.445312 882.695312 C 2613.710938 882.695312 2623.632812 892.617188 2623.632812 904.882812 C 2623.632812 917.148438 2613.710938 927.070312 2601.445312 927.070312 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2124.609375 876.875 C 2112.34375 876.875 2102.421875 866.953125 2102.421875 854.6875 C 2102.421875 842.421875 2112.34375 832.5 2124.609375 832.5 C 2136.875 832.5 2146.835938 842.421875 2146.835938 854.6875 C 2146.835938 866.953125 2136.875 876.875 2124.609375 876.875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2107.226562 168.398438 C 2094.960938 168.398438 2085.039062 158.4375 2085.039062 146.171875 C 2085.039062 133.945312 2094.960938 123.984375 2107.226562 123.984375 C 2119.492188 123.984375 2129.453125 133.945312 2129.453125 146.171875 C 2129.453125 158.4375 2119.492188 168.398438 2107.226562 168.398438 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2607.265625 159.6875 C 2594.960938 159.6875 2585.039062 149.765625 2585.039062 137.5 C 2585.039062 125.234375 2594.960938 115.3125 2607.265625 115.3125 C 2619.492188 115.3125 2629.453125 125.234375 2629.453125 137.5 C 2629.453125 149.765625 2619.492188 159.6875 2607.265625 159.6875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2357.851562 523.59375 C 2345.585938 523.59375 2335.664062 513.671875 2335.664062 501.40625 C 2335.664062 489.140625 2345.585938 479.21875 2357.851562 479.21875 C 2370.117188 479.21875 2380.078125 489.140625 2380.078125 501.40625 C 2380.078125 513.671875 2370.117188 523.59375 2357.851562 523.59375 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="218.446" y="66.8012"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-0" x="249.2376" y="39.2915"/>
</g>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(87.799072%,87.799072%,87.799072%);fill-opacity:1;" d="M 373.820312 79.972656 C 373.386719 76.996094 373.546875 73.554688 374.207031 71.15625 C 374.867188 68.761719 376.023438 67.410156 376.605469 64.964844 C 377.183594 62.519531 377.183594 58.980469 376.328125 55.890625 C 375.476562 52.800781 373.773438 50.164062 372.742188 47.347656 C 371.714844 44.53125 371.359375 41.539062 372.082031 38.695312 C 372.808594 35.847656 374.609375 33.144531 375.910156 30.390625 C 377.214844 27.640625 378.019531 24.84375 378.035156 21.996094 C 378.050781 19.148438 377.277344 16.25 376.894531 14.804688 C 376.507812 13.355469 376.507812 13.355469 376.507812 13.355469 C 376.507812 13.355469 376.507812 13.355469 372.421875 17.054688 C 368.335938 20.753906 360.160156 28.15625 356.074219 31.855469 C 351.988281 35.554688 351.988281 35.554688 351.988281 35.554688 C 351.988281 35.554688 351.988281 35.554688 351.988281 40.625 C 351.988281 45.691406 351.988281 55.828125 351.988281 60.894531 C 351.988281 65.960938 351.988281 65.960938 351.988281 65.960938 C 351.988281 65.960938 351.988281 65.960938 356.042969 69.628906 C 360.097656 73.296875 368.207031 80.632812 372.261719 84.300781 C 376.3125 87.96875 376.3125 87.96875 376.3125 87.96875 C 376.3125 87.96875 376.3125 87.96875 375.800781 86.714844 C 375.285156 85.460938 374.253906 82.949219 373.820312 79.972656 "/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(87.799072%,87.799072%,87.799072%);fill-opacity:1;" d="M 329.242188 25.824219 C 329.886719 28.253906 330.078125 30.601562 329.46875 33.5625 C 328.855469 36.523438 327.441406 40.09375 326.636719 43.148438 C 325.832031 46.207031 325.636719 48.75 326.234375 51.128906 C 326.828125 53.511719 328.210938 55.730469 328.9375 58.578125 C 329.660156 61.425781 329.722656 64.898438 328.9375 67.8125 C 328.148438 70.722656 326.507812 73.074219 325.527344 75.535156 C 324.542969 77.996094 324.222656 80.570312 324.207031 82.582031 C 324.191406 84.589844 324.480469 86.039062 324.625 86.761719 C 324.769531 87.488281 324.769531 87.488281 324.769531 87.488281 C 324.769531 87.488281 324.769531 87.488281 328.9375 83.898438 C 333.101562 80.3125 341.4375 73.136719 345.601562 69.550781 C 349.769531 65.960938 349.769531 65.960938 349.769531 65.960938 C 349.769531 65.960938 349.769531 65.960938 349.769531 60.894531 C 349.769531 55.828125 349.769531 45.691406 349.769531 40.625 C 349.769531 35.554688 349.769531 35.554688 349.769531 35.554688 C 349.769531 35.554688 349.769531 35.554688 345.875 32.691406 C 341.984375 29.828125 334.195312 24.101562 330.304688 21.238281 C 326.410156 18.375 326.410156 18.375 326.410156 18.375 C 326.410156 18.375 326.410156 18.375 326.957031 19.628906 C 327.503906 20.882812 328.597656 23.394531 329.242188 25.824219 "/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 349.613281 42.136719 L 347.261719 42.136719 L 349.617188 36.261719 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3496.132812 608.632812 L 3472.617188 608.632812 L 3496.171875 667.382812 Z M 3496.132812 608.632812 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 351.945312 58.992188 L 354.296875 58.992188 L 351.945312 64.867188 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3519.453125 440.078125 L 3542.96875 440.078125 L 3519.453125 381.328125 Z M 3519.453125 440.078125 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3496.25 357.34375 L 3519.414062 357.34375 L 3519.414062 686.015625 L 3496.25 686.015625 Z M 3496.25 357.34375 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 368.609375 16.867188 L 367.039062 15.117188 L 372.984375 12.945312 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3686.09375 861.328125 L 3670.390625 878.828125 L 3729.84375 900.546875 Z M 3686.09375 861.328125 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 345.066406 29.074219 L 346.46875 27.1875 L 349.785156 32.578125 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3450.664062 739.257812 L 3464.6875 758.125 L 3497.851562 704.21875 Z M 3450.664062 739.257812 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 357.371094 30.59375 L 358.941406 32.34375 L 352.996094 34.519531 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3573.710938 724.0625 L 3589.414062 706.5625 L 3529.960938 684.804688 Z M 3573.710938 724.0625 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 332.894531 23.164062 L 331.492188 25.050781 L 328.175781 19.660156 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3328.945312 798.359375 L 3314.921875 779.492188 L 3281.757812 833.398438 Z M 3328.945312 798.359375 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3262.1875 847.695312 L 3508.789062 667.1875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3510.234375 666.210938 L 3766.015625 897.421875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3508.789062 697.617188 L 3740.46875 910.429688 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3285.820312 859.765625 L 3507.8125 697.617188 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-0" x="344.122" y="50.1023"/>
</g>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 356.0625 72.878906 L 354.484375 74.621094 L 351.710938 68.933594 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3560.625 301.210938 L 3544.84375 283.789062 L 3517.109375 340.664062 Z M 3560.625 301.210938 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(76.499939%,76.499939%,76.499939%);fill-opacity:1;" d="M 332.433594 84.316406 L 333.964844 86.101562 L 327.972656 88.144531 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.499939%,76.499939%,76.499939%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3324.335938 186.835938 L 3339.648438 168.984375 L 3279.726562 148.554688 Z M 3324.335938 186.835938 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 344.273438 70.527344 L 342.742188 68.746094 L 348.730469 66.699219 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3442.734375 324.726562 L 3427.421875 342.539062 L 3487.304688 363.007812 Z M 3442.734375 324.726562 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 370.933594 83.171875 L 372.511719 81.433594 L 375.285156 87.121094 "/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3709.335938 198.28125 L 3725.117188 215.664062 L 3752.851562 158.789062 Z M 3709.335938 198.28125 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3243.828125 152.226562 L 3508.320312 380.976562 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3508.320312 380.976562 L 3766.015625 147.421875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3270.351562 139.6875 L 3508.320312 348.671875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3508.320312 348.671875 L 3752.5 125.195312 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3508.4375 706.992188 C 3496.171875 706.992188 3486.25 697.070312 3486.25 684.804688 C 3486.25 672.539062 3496.171875 662.617188 3508.4375 662.617188 C 3520.703125 662.617188 3530.664062 672.539062 3530.664062 684.804688 C 3530.664062 697.070312 3520.703125 706.992188 3508.4375 706.992188 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3751.679688 927.070312 C 3739.414062 927.070312 3729.492188 917.148438 3729.492188 904.882812 C 3729.492188 892.617188 3739.414062 882.695312 3751.679688 882.695312 C 3763.945312 882.695312 3773.90625 892.617188 3773.90625 904.882812 C 3773.90625 917.148438 3763.945312 927.070312 3751.679688 927.070312 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3274.84375 876.875 C 3262.578125 876.875 3252.65625 866.953125 3252.65625 854.6875 C 3252.65625 842.421875 3262.578125 832.5 3274.84375 832.5 C 3287.109375 832.5 3297.03125 842.421875 3297.03125 854.6875 C 3297.03125 866.953125 3287.109375 876.875 3274.84375 876.875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3257.460938 168.398438 C 3245.234375 168.398438 3235.273438 158.4375 3235.273438 146.171875 C 3235.273438 133.945312 3245.234375 123.984375 3257.460938 123.984375 C 3269.726562 123.984375 3279.6875 133.945312 3279.6875 146.171875 C 3279.6875 158.4375 3269.726562 168.398438 3257.460938 168.398438 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3757.460938 159.6875 C 3745.234375 159.6875 3735.273438 149.765625 3735.273438 137.5 C 3735.273438 125.234375 3745.234375 115.3125 3757.460938 115.3125 C 3769.726562 115.3125 3779.6875 125.234375 3779.6875 137.5 C 3779.6875 149.765625 3769.726562 159.6875 3757.460938 159.6875 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3508.4375 384.609375 C 3496.171875 384.609375 3486.25 374.648438 3486.25 362.421875 C 3486.25 350.15625 3496.171875 340.195312 3508.4375 340.195312 C 3520.703125 340.195312 3530.664062 350.15625 3530.664062 362.421875 C 3530.664062 374.648438 3520.703125 384.609375 3508.4375 384.609375 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
<path style="fill:none;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2012.8125 18.28125 L 3848.710938 18.28125 L 3848.710938 1024.0625 L 2012.8125 1024.0625 Z M 2012.8125 18.28125 " transform="matrix(0.1,0,0,-0.1,0,103)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

View File

@ -0,0 +1,929 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="229.64844"
height="125.85938"
viewBox="0 0 183.71875 100.6875"
version="1.2"
id="svg2"
inkscape:version="0.48.1 r9760"
sodipodi:docname="euler-facet.pdf">
<metadata
id="metadata542">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1399"
inkscape:window-height="751"
id="namedview540"
showgrid="false"
inkscape:zoom="2.1693506"
inkscape:cx="242.16583"
inkscape:cy="66.425905"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<defs
id="defs4">
<g
id="g6">
<symbol
overflow="visible"
id="glyph0-0"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.453125,-4.703125 -1.34375,0 0,0.171875 c 0.328125,0.0625 0.375,0.109375 0.375,0.40625 l 0,3.546875 c 0,0.28125 -0.0625,0.34375 -0.375,0.40625 l 0,0.171875 1.671875,0 0,-0.171875 C 1.53125,-0.203125 1.453125,-0.3125 1.453125,-0.5625 l 0,-1.859375 c 0,-0.03125 0.046875,-0.09375 0.109375,-0.15625 0.15625,-0.15625 0.328125,-0.25 0.484375,-0.25 0.234375,0 0.359375,0.1875 0.359375,0.578125 l 0,1.6875 c 0,0.25 -0.09375,0.375 -0.328125,0.390625 l 0,0.171875 1.640625,0 0,-0.171875 C 3.46875,-0.1875 3.375,-0.296875 3.375,-0.578125 l 0,-1.734375 c 0,-0.59375 -0.375,-0.96875 -0.9375,-0.96875 -0.375,0 -0.625,0.125 -0.984375,0.53125 z m 0,0"
id="path9"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph0-1"
style="overflow:visible">
<path
style="stroke:none"
d="m 3.34375,-2.765625 0,-0.375 -0.890625,0 C 2.140625,-3.25 1.953125,-3.28125 1.671875,-3.28125 0.84375,-3.28125 0.25,-2.828125 0.25,-2.171875 c 0,0.234375 0.09375,0.46875 0.25,0.65625 0.15625,0.171875 0.296875,0.265625 0.625,0.40625 -0.5625,0.1875 -0.828125,0.453125 -0.828125,0.8125 0,0.28125 0.125,0.40625 0.5625,0.5625 C 0.421875,0.328125 0.1875,0.5 0.1875,0.796875 c 0,0.40625 0.53125,0.640625 1.40625,0.640625 1.15625,0 1.765625,-0.359375 1.765625,-1.0625 0,-0.53125 -0.4375,-0.84375 -1.140625,-0.84375 l -0.453125,0 c -0.5625,0 -0.6875,-0.046875 -0.6875,-0.25 0,-0.203125 0.1875,-0.359375 0.46875,-0.359375 l 0.3125,0 c 0.328125,0 0.5,-0.03125 0.734375,-0.171875 0.3125,-0.1875 0.46875,-0.46875 0.46875,-0.84375 0,-0.265625 -0.078125,-0.484375 -0.28125,-0.671875 z M 2.25,0.359375 c 0.375,0 0.5625,0.125 0.5625,0.34375 0,0.328125 -0.390625,0.5 -1.078125,0.5 C 1.125,1.203125 0.8125,1.046875 0.8125,0.75 c 0,-0.15625 0.046875,-0.234375 0.234375,-0.390625 z m -0.578125,-3.4375 C 2,-3.078125 2.125,-2.8125 2.125,-2.15625 c 0,0.640625 -0.125,0.890625 -0.453125,0.890625 -0.34375,0 -0.46875,-0.25 -0.46875,-0.890625 0,-0.65625 0.140625,-0.921875 0.46875,-0.921875 z m 0,0"
id="path12"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-0"
style="overflow:visible">
<path
style="stroke:none"
d="m 2.234375,-2.140625 0,-0.953125 -0.140625,0 C 2.046875,-3 2.015625,-2.953125 1.921875,-2.953125 1.890625,-2.953125 1.828125,-2.96875 1.71875,-3 1.5,-3.078125 1.359375,-3.109375 1.203125,-3.109375 c -0.59375,0 -1.03125,0.40625 -1.03125,0.96875 0,0.421875 0.28125,0.734375 0.9375,1.015625 0.453125,0.1875 0.625,0.359375 0.625,0.5625 0,0.265625 -0.1875,0.4375 -0.484375,0.4375 -0.46875,0 -0.765625,-0.296875 -0.90625,-0.875 l -0.1875,0 0,1.078125 0.171875,0 C 0.40625,-0.046875 0.4375,-0.09375 0.5,-0.09375 c 0.03125,0 0.078125,0.015625 0.15625,0.03125 0.171875,0.078125 0.515625,0.15625 0.703125,0.15625 0.59375,0 1.015625,-0.40625 1.015625,-1 0,-0.46875 -0.265625,-0.75 -0.90625,-1.015625 C 1.015625,-2.125 0.828125,-2.28125 0.828125,-2.5 c 0,-0.21875 0.1875,-0.390625 0.4375,-0.390625 0.171875,0 0.34375,0.078125 0.5,0.21875 0.125,0.125 0.203125,0.25 0.296875,0.53125 z m 0,0"
id="path15"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-1"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.390625,-3.03125 -1.25,0 0,0.15625 c 0.28125,0.046875 0.34375,0.125 0.34375,0.390625 l 0,3.296875 c 0,0.265625 -0.046875,0.328125 -0.359375,0.375 l 0,0.15625 1.796875,0 0,-0.140625 C 1.515625,1.1875 1.40625,1.0625 1.40625,0.609375 l 0,-0.921875 C 1.71875,0 1.890625,0.078125 2.171875,0.078125 2.90625,0.078125 3.4375,-0.59375 3.4375,-1.5625 c 0,-0.921875 -0.484375,-1.546875 -1.21875,-1.546875 -0.390625,0 -0.625,0.15625 -0.828125,0.53125 z m 0.015625,0.765625 c 0,-0.046875 0.0625,-0.15625 0.140625,-0.234375 0.125,-0.15625 0.28125,-0.234375 0.421875,-0.234375 0.34375,0 0.5,0.390625 0.5,1.265625 0,0.8125 -0.1875,1.1875 -0.5625,1.1875 -0.21875,0 -0.40625,-0.140625 -0.5,-0.390625 z m 0,0"
id="path18"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-2"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.359375,-4.4375 -1.25,0 0,0.15625 c 0.21875,0.015625 0.328125,0.140625 0.328125,0.390625 l 0,3.34375 c 0,0.234375 -0.109375,0.375 -0.328125,0.390625 l 0,0.15625 1.5625,0 0,-0.15625 c -0.21875,0 -0.3125,-0.125 -0.3125,-0.390625 z m 0,0"
id="path21"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-3"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.359375,-3.03125 -1.25,0 0,0.15625 c 0.28125,0.0625 0.34375,0.125 0.34375,0.390625 l 0,1.9375 c 0,0.265625 -0.046875,0.3125 -0.34375,0.390625 l 0,0.15625 1.5625,0 0,-0.15625 c -0.234375,-0.03125 -0.3125,-0.125 -0.3125,-0.375 z m -0.453125,-1.5 c -0.28125,0 -0.515625,0.21875 -0.515625,0.5 0,0.296875 0.21875,0.515625 0.515625,0.515625 0.28125,0 0.5,-0.21875 0.5,-0.5 0,-0.296875 -0.21875,-0.515625 -0.5,-0.515625 z m 0,0"
id="path24"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-4"
style="overflow:visible">
<path
style="stroke:none"
d="m 2,-3.03125 -0.609375,0 0,-1.109375 -0.171875,0 C 0.8125,-3.5625 0.5625,-3.28125 0.125,-2.90625 l 0,0.171875 0.34375,0 0,2.125 c 0,0.421875 0.28125,0.6875 0.734375,0.6875 0.4375,0 0.703125,-0.203125 0.96875,-0.734375 l -0.15625,-0.078125 c -0.125,0.25 -0.234375,0.34375 -0.375,0.34375 -0.1875,0 -0.25,-0.109375 -0.25,-0.375 l 0,-1.96875 0.609375,0 z m 0,0"
id="path27"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-5"
style="overflow:visible">
<path
style="stroke:none"
d="m 3.28125,0.8125 0,-0.328125 -3.28125,0 0,0.328125 z m 0,0"
id="path30"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-6"
style="overflow:visible">
<path
style="stroke:none"
d="m 0.46875,-2.734375 0,2.1875 c 0,0.28125 -0.078125,0.359375 -0.375,0.390625 l 0,0.15625 1.828125,0 0,-0.15625 C 1.453125,-0.171875 1.375,-0.25 1.375,-0.671875 l 0,-2.0625 0.578125,0 0,-0.296875 -0.578125,0 0,-0.796875 c 0,-0.359375 0.09375,-0.5 0.328125,-0.5 0.125,0 0.1875,0.046875 0.1875,0.125 0,0.015625 -0.015625,0.0625 -0.046875,0.140625 C 1.78125,-3.96875 1.75,-3.890625 1.75,-3.828125 c 0,0.203125 0.171875,0.359375 0.390625,0.359375 0.25,0 0.40625,-0.171875 0.40625,-0.40625 0,-0.390625 -0.375,-0.65625 -0.9375,-0.65625 -0.4375,0 -0.78125,0.15625 -0.953125,0.4375 -0.140625,0.234375 -0.1875,0.5 -0.1875,1.0625 l -0.375,0 0,0.296875 z m 0,0"
id="path33"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-7"
style="overflow:visible">
<path
style="stroke:none"
d="m 3.109375,-0.421875 -0.078125,0.0625 c -0.015625,0.03125 -0.03125,0.03125 -0.0625,0.03125 -0.09375,0 -0.140625,-0.0625 -0.140625,-0.15625 l 0,-1.71875 c 0,-0.546875 -0.5,-0.90625 -1.296875,-0.90625 -0.75,0 -1.25,0.34375 -1.25,0.828125 0,0.265625 0.171875,0.4375 0.4375,0.4375 0.265625,0 0.4375,-0.15625 0.4375,-0.375 C 1.15625,-2.3125 1.125,-2.40625 1.046875,-2.5 0.984375,-2.578125 0.96875,-2.609375 0.96875,-2.65625 c 0,-0.125 0.171875,-0.234375 0.40625,-0.234375 0.390625,0 0.546875,0.171875 0.546875,0.578125 l 0,0.46875 c -0.78125,0.25 -1.09375,0.375 -1.34375,0.53125 -0.28125,0.203125 -0.421875,0.421875 -0.421875,0.703125 0,0.40625 0.3125,0.703125 0.734375,0.703125 0.375,0 0.671875,-0.140625 1.03125,-0.46875 C 2,-0.03125 2.140625,0.09375 2.46875,0.09375 c 0.28125,0 0.484375,-0.109375 0.734375,-0.375 z M 1.921875,-0.65625 C 1.75,-0.453125 1.609375,-0.375 1.453125,-0.375 1.265625,-0.375 1.125,-0.546875 1.125,-0.8125 c 0,-0.375 0.265625,-0.65625 0.796875,-0.796875 z m 0,0"
id="path36"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-8"
style="overflow:visible">
<path
style="stroke:none"
d="m 2.703125,-0.71875 c -0.25,0.28125 -0.40625,0.375 -0.6875,0.375 -0.5625,0 -0.921875,-0.578125 -0.921875,-1.46875 0,-0.671875 0.203125,-1.09375 0.546875,-1.09375 0.109375,0 0.203125,0.0625 0.25,0.125 0.03125,0.0625 0.03125,0.0625 0.03125,0.34375 0,0.3125 0.125,0.46875 0.359375,0.46875 0.28125,0 0.453125,-0.15625 0.453125,-0.40625 0,-0.40625 -0.4375,-0.734375 -1.015625,-0.734375 -0.90625,0 -1.5625,0.703125 -1.5625,1.640625 0,0.90625 0.59375,1.5625 1.40625,1.5625 0.515625,0 0.875,-0.203125 1.265625,-0.6875 z m 0,0"
id="path39"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-9"
style="overflow:visible">
<path
style="stroke:none"
d="M 2.640625,-0.8125 C 2.375,-0.5 2.171875,-0.375 1.890625,-0.375 1.640625,-0.375 1.4375,-0.5 1.3125,-0.734375 1.1875,-0.9375 1.140625,-1.15625 1.109375,-1.609375 l 1.65625,0 C 2.71875,-2.15625 2.625,-2.46875 2.421875,-2.71875 c -0.21875,-0.25 -0.53125,-0.390625 -0.890625,-0.390625 -0.8125,0 -1.375,0.65625 -1.375,1.609375 0,0.96875 0.546875,1.59375 1.359375,1.59375 0.53125,0 0.859375,-0.21875 1.28125,-0.828125 z m -1.5625,-1.03125 c 0.015625,-0.796875 0.140625,-1.0625 0.453125,-1.0625 0.1875,0 0.3125,0.109375 0.359375,0.3125 0.03125,0.125 0.046875,0.3125 0.0625,0.640625 l 0,0.109375 z m 0,0"
id="path42"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-10"
style="overflow:visible">
<path
style="stroke:none"
d="M 2.015625,-4.546875 C 1.59375,-4.34375 1.421875,-4.203125 1.15625,-3.9375 c -0.546875,0.609375 -0.859375,1.390625 -0.859375,2.234375 0,0.59375 0.171875,1.1875 0.484375,1.6875 0.296875,0.46875 0.578125,0.734375 1.234375,1.125 l 0,-0.1875 C 1.640625,0.6875 1.46875,0.515625 1.328125,0.21875 1.140625,-0.1875 1.046875,-0.796875 1.046875,-1.6875 c 0,-0.90625 0.09375,-1.578125 0.265625,-1.96875 C 1.453125,-3.9375 1.609375,-4.109375 2.015625,-4.375 z m 0,0"
id="path45"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-11"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.359375,-4.4375 -1.25,0 0,0.15625 c 0.296875,0.0625 0.34375,0.109375 0.34375,0.390625 l 0,3.34375 c 0,0.265625 -0.046875,0.328125 -0.34375,0.390625 l 0,0.15625 1.578125,0 0,-0.15625 c -0.25,-0.03125 -0.328125,-0.125 -0.328125,-0.375 l 0,-1.75 c 0,-0.03125 0.046875,-0.09375 0.109375,-0.15625 0.15625,-0.140625 0.3125,-0.234375 0.453125,-0.234375 0.234375,0 0.34375,0.1875 0.34375,0.546875 l 0,1.59375 c 0,0.25 -0.078125,0.34375 -0.296875,0.375 L 1.96875,0 3.5,0 3.5,-0.15625 C 3.265625,-0.171875 3.1875,-0.28125 3.1875,-0.546875 l 0,-1.625 c 0,-0.578125 -0.359375,-0.9375 -0.890625,-0.9375 -0.34375,0 -0.59375,0.140625 -0.9375,0.515625 z m 0,0"
id="path48"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-12"
style="overflow:visible">
<path
style="stroke:none"
d="M 0.375,1.1875 C 1.140625,0.734375 1.46875,0.3125 1.46875,-0.25 c 0,-0.453125 -0.28125,-0.765625 -0.671875,-0.765625 -0.328125,0 -0.546875,0.21875 -0.546875,0.546875 0,0.296875 0.203125,0.515625 0.484375,0.515625 0.03125,0 0.078125,0 0.109375,-0.015625 0.015625,0 0.03125,0 0.046875,0 0.078125,0 0.125,0.046875 0.125,0.140625 0,0.25 -0.21875,0.53125 -0.71875,0.859375 z m 0,0"
id="path51"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-13"
style="overflow:visible">
<path
style="stroke:none"
d="m 3.15625,-2.609375 0,-0.34375 -0.84375,0 C 2.015625,-3.0625 1.84375,-3.109375 1.578125,-3.109375 c -0.78125,0 -1.328125,0.4375 -1.328125,1.0625 0,0.21875 0.078125,0.4375 0.234375,0.625 C 0.625,-1.265625 0.75,-1.1875 1.0625,-1.046875 0.53125,-0.875 0.28125,-0.625 0.28125,-0.28125 c 0,0.265625 0.109375,0.390625 0.53125,0.53125 -0.40625,0.0625 -0.625,0.234375 -0.625,0.5 0,0.375 0.484375,0.609375 1.3125,0.609375 1.09375,0 1.671875,-0.34375 1.671875,-1 0,-0.5 -0.40625,-0.8125 -1.078125,-0.8125 l -0.421875,0 c -0.53125,0 -0.65625,-0.03125 -0.65625,-0.21875 0,-0.203125 0.171875,-0.34375 0.4375,-0.34375 l 0.296875,0 c 0.3125,0 0.46875,-0.03125 0.703125,-0.171875 0.296875,-0.171875 0.4375,-0.4375 0.4375,-0.78125 0,-0.265625 -0.078125,-0.453125 -0.265625,-0.640625 z M 2.125,0.34375 c 0.359375,0 0.53125,0.109375 0.53125,0.328125 0,0.296875 -0.359375,0.46875 -1.015625,0.46875 -0.578125,0 -0.875,-0.15625 -0.875,-0.4375 0,-0.140625 0.046875,-0.21875 0.21875,-0.359375 z m -0.546875,-3.25 c 0.3125,0 0.4375,0.25 0.4375,0.859375 0,0.609375 -0.125,0.859375 -0.4375,0.859375 -0.3125,0 -0.4375,-0.25 -0.4375,-0.859375 0,-0.609375 0.125,-0.859375 0.4375,-0.859375 z m 0,0"
id="path54"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-14"
style="overflow:visible">
<path
style="stroke:none"
d="m 0.171875,1.109375 c 0.40625,-0.21875 0.59375,-0.359375 0.84375,-0.625 0.5625,-0.609375 0.875,-1.390625 0.875,-2.234375 0,-0.59375 -0.171875,-1.1875 -0.484375,-1.6875 C 1.109375,-3.90625 0.8125,-4.171875 0.171875,-4.546875 l 0,0.171875 c 0.375,0.25 0.546875,0.40625 0.6875,0.703125 0.1875,0.40625 0.28125,1.015625 0.28125,1.90625 0,0.90625 -0.09375,1.578125 -0.28125,1.96875 -0.125,0.28125 -0.28125,0.453125 -0.6875,0.71875 z m 0,0"
id="path57"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-15"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.703125,-3.03125 -1.328125,0 0,0.15625 c 0.34375,0.03125 0.421875,0.109375 0.421875,0.390625 l 0,3.109375 c 0,0.359375 -0.09375,0.5 -0.3125,0.5 -0.125,0 -0.21875,-0.046875 -0.21875,-0.109375 0,-0.03125 0.015625,-0.078125 0.0625,-0.140625 0.0625,-0.109375 0.09375,-0.171875 0.09375,-0.25 C 0.421875,0.4375 0.25,0.28125 0.03125,0.28125 -0.203125,0.28125 -0.375,0.4375 -0.375,0.671875 -0.375,1.0625 0,1.328125 0.546875,1.328125 1,1.328125 1.34375,1.15625 1.53125,0.828125 1.65625,0.625 1.703125,0.375 1.703125,-0.015625 z m -0.484375,-1.5 c -0.28125,0 -0.515625,0.21875 -0.515625,0.5 0,0.296875 0.21875,0.515625 0.515625,0.515625 0.28125,0 0.5,-0.21875 0.5,-0.5 0,-0.296875 -0.21875,-0.515625 -0.5,-0.515625 z m 0,0"
id="path60"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-16"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.640625,-3.109375 c -0.828125,0 -1.484375,0.6875 -1.484375,1.59375 0,0.9375 0.625,1.609375 1.484375,1.609375 C 2.5,0.09375 3.125,-0.59375 3.125,-1.5 3.125,-2.421875 2.5,-3.109375 1.640625,-3.109375 z M 1.65625,-2.90625 c 0.375,0 0.5,0.359375 0.5,1.4375 0,1.015625 -0.125,1.359375 -0.515625,1.359375 -0.375,0 -0.515625,-0.34375 -0.515625,-1.296875 0,-1.15625 0.125,-1.5 0.53125,-1.5 z m 0,0"
id="path63"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-17"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.390625,-3.03125 -1.25,0 0,0.15625 c 0.28125,0.046875 0.34375,0.125 0.34375,0.390625 l 0,1.9375 c 0,0.265625 -0.046875,0.328125 -0.34375,0.390625 l 0,0.15625 1.578125,0 0,-0.15625 c -0.25,-0.03125 -0.328125,-0.125 -0.328125,-0.375 l 0,-1.75 c 0,-0.03125 0.046875,-0.09375 0.125,-0.15625 0.140625,-0.140625 0.296875,-0.234375 0.453125,-0.234375 0.21875,0 0.328125,0.1875 0.328125,0.546875 l 0,1.59375 c 0,0.25 -0.078125,0.34375 -0.296875,0.375 L 2,0 l 1.53125,0 0,-0.15625 c -0.25,-0.015625 -0.3125,-0.09375 -0.3125,-0.375 l 0,-1.640625 c 0,-0.578125 -0.34375,-0.9375 -0.890625,-0.9375 -0.390625,0 -0.6875,0.1875 -0.9375,0.578125 z m 0,0"
id="path66"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-18"
style="overflow:visible">
<path
style="stroke:none"
d="m 3.1875,-3.03125 -1,0 0,0.15625 c 0.28125,0.015625 0.359375,0.0625 0.359375,0.21875 0,0.078125 -0.015625,0.1875 -0.0625,0.296875 L 2.015625,-1.15625 1.484375,-2.5 C 1.4375,-2.625 1.4375,-2.65625 1.4375,-2.703125 c 0,-0.09375 0.0625,-0.140625 0.21875,-0.15625 0.015625,0 0.0625,0 0.125,-0.015625 l 0,-0.15625 -1.640625,0 0,0.15625 c 0.140625,0.03125 0.1875,0.046875 0.234375,0.109375 0,-0.015625 0.3125,0.640625 0.421875,0.921875 l 0.78125,1.9375 0.171875,0 L 2.796875,-2.5 c 0.125,-0.296875 0.1875,-0.34375 0.390625,-0.375 z m 0,0"
id="path69"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-19"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.4375,-3.03125 -1.25,0 0,0.15625 c 0.28125,0.046875 0.359375,0.125 0.359375,0.390625 l 0,1.9375 c 0,0.265625 -0.0625,0.34375 -0.359375,0.390625 l 0,0.15625 1.75,0 0,-0.15625 C 1.53125,-0.1875 1.453125,-0.265625 1.453125,-0.671875 l 0,-1.25 c 0,-0.328125 0.1875,-0.625 0.40625,-0.625 0.046875,0 0.109375,0.046875 0.1875,0.15625 0.125,0.171875 0.21875,0.234375 0.390625,0.234375 0.234375,0 0.40625,-0.1875 0.40625,-0.4375 0,-0.296875 -0.21875,-0.515625 -0.53125,-0.515625 -0.328125,0 -0.578125,0.1875 -0.875,0.625 z m 0,0"
id="path72"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-20"
style="overflow:visible">
<path
style="stroke:none"
d="m 3.171875,-0.15625 c -0.09375,-0.03125 -0.140625,-0.0625 -0.1875,-0.125 l -0.96875,-1.5 0.65625,-0.828125 c 0.125,-0.15625 0.25,-0.21875 0.453125,-0.265625 l 0,-0.15625 -1.09375,0 0,0.15625 c 0.0625,0.015625 0.109375,0.015625 0.125,0.015625 0.15625,0.015625 0.203125,0.046875 0.203125,0.15625 0,0.09375 -0.0625,0.203125 -0.25,0.40625 C 2.078125,-2.25 1.96875,-2.125 1.875,-1.984375 1.84375,-2.03125 1.8125,-2.078125 1.796875,-2.09375 1.578125,-2.375 1.40625,-2.65625 1.40625,-2.75 c 0,-0.078125 0.09375,-0.109375 0.3125,-0.125 l 0,-0.15625 -1.640625,0 0,0.15625 C 0.25,-2.84375 0.28125,-2.8125 0.421875,-2.609375 l 0.84375,1.296875 c -0.203125,0.234375 -0.375,0.453125 -0.4375,0.546875 -0.359375,0.484375 -0.5,0.59375 -0.734375,0.609375 l 0,0.15625 1.109375,0 0,-0.15625 C 0.96875,-0.171875 0.875,-0.21875 0.875,-0.3125 c 0,-0.09375 0.171875,-0.375 0.421875,-0.671875 C 1.3125,-1.015625 1.359375,-1.0625 1.390625,-1.125 l 0.28125,0.421875 c 0.15625,0.21875 0.21875,0.328125 0.21875,0.421875 0,0.078125 -0.09375,0.109375 -0.296875,0.125 l 0,0.15625 1.578125,0 z m 0,0"
id="path75"
inkscape:connector-curvature="0" />
</symbol>
</g>
</defs>
<path
id="path78"
d="M 57.671875,66.226562 58.445312,35.339844 34.503906,13.523438 10.761719,34.375 12.304688,71.246094 34.503906,87.460938"
style="fill:#dedede;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path80"
d="M 57.671875,66.226563 58.445312,35.339844 34.503906,13.523438 10.761719,34.375 12.304687,71.246094 34.503906,87.460938 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path82"
d="M 8.425781,41.355469 6.078125,41.464844 8.152344,35.484375"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path84"
d="M 8.4257812,41.355469 6.078125,41.464844 8.1523438,35.484375 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path86"
d="m 16.144531,29.640625 1.542969,1.773437 -5.980469,2.078126"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path88"
d="m 16.144531,29.640625 1.542969,1.773438 -5.980469,2.078125 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path90"
d="m 27.996094,15.84375 -1.53125,-1.78125 5.988281,-2.046875"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path92"
d="m 27.996094,15.84375 -1.53125,-1.78125 5.988281,-2.046875 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path94"
d="M 39.496094,18.105469 37.90625,19.839844 35.164062,14.132812"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path96"
d="m 39.496094,18.105469 -1.589844,1.734375 -2.742188,-5.707031 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path98"
d="M 54.65625,28.492188 56.234375,26.75 l 2.773437,5.6875"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path100"
d="M 54.65625,28.492188 56.234375,26.75 l 2.773437,5.6875 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path102"
d="m 58.269531,42.417969 -2.347656,-0.05859 2.492187,-5.816406"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path104"
d="m 58.269531,42.417969 -2.347656,-0.05859 2.492187,-5.816406 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path106"
d="m 60.507812,59.128906 2.347657,0.06641 -2.507813,5.808594"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path108"
d="m 60.507812,59.128906 2.347657,0.06641 -2.507813,5.808593 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path110"
d="m 52.476562,70.964844 -1.578124,-1.738282 5.929687,-2.210937"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path112"
d="m 52.476562,70.964844 -1.578125,-1.738281 5.929688,-2.210938 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path114"
d="m 41.09375,84.792969 1.570312,1.75 -5.945312,2.171875"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path116"
d="m 41.09375,84.792969 1.570312,1.75 -5.945312,2.171875 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path118"
d="M 28.8125,83.289062 30.195312,81.390625 33.558594,86.75"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path120"
d="M 28.8125,83.289063 30.195312,81.390625 33.558594,86.75 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path122"
d="M 16.617188,77.363281 15.214844,79.25 11.898438,73.859375"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path124"
d="M 16.617187,77.363281 15.214844,79.25 11.898437,73.859375 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path126"
d="m 12.046875,63.910156 2.351563,-0.05859 -2.203126,5.933594"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path128"
d="m 12.046875,63.910156 2.351562,-0.05859 -2.203125,5.933593 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path130"
d="M 34.699219,90.550781 60.277344,67.480469 60.953125,34.179688 34.503906,10.242188 8.0585938,33.117188 9.890625,72.40625 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path132"
d="m 11.207031,69.511719 c -1.226562,0 -2.21875,0.992187 -2.21875,2.21875 0,1.226562 0.992188,2.21875 2.21875,2.21875 1.226563,0 2.222656,-0.992188 2.222656,-2.21875 0,-1.226563 -0.996093,-2.21875 -2.222656,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path134"
d="m 9.46875,31.480469 c -1.2226562,0 -2.21875,0.992187 -2.21875,2.21875 0,1.226562 0.9960938,2.21875 2.21875,2.21875 1.226563,0 2.222656,-0.992188 2.222656,-2.21875 0,-1.226563 -0.996093,-2.21875 -2.222656,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path136"
d="m 34.566406,9.761719 c -1.226562,0 -2.21875,0.992187 -2.21875,2.21875 0,1.226562 0.992188,2.21875 2.21875,2.21875 1.226563,0 2.21875,-0.992188 2.21875,-2.21875 0,-1.226563 -0.992187,-2.21875 -2.21875,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path138"
d="m 59.46875,32.347656 c -1.222656,0 -2.21875,0.996094 -2.21875,2.21875 0,1.226563 0.996094,2.222657 2.21875,2.222657 1.226562,0 2.222656,-0.996094 2.222656,-2.222657 0,-1.222656 -0.996094,-2.21875 -2.222656,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path140"
d="m 34.566406,86.5 c -1.226562,0 -2.21875,0.992188 -2.21875,2.21875 0,1.226562 0.992188,2.21875 2.21875,2.21875 1.226563,0 2.21875,-0.992188 2.21875,-2.21875 0,-1.226562 -0.992187,-2.21875 -2.21875,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path142"
d="m 58.890625,64.492188 c -1.226563,0 -2.21875,0.992187 -2.21875,2.21875 0,1.226562 0.992187,2.21875 2.21875,2.21875 1.226562,0 2.222656,-0.992188 2.222656,-2.21875 0,-1.226563 -0.996094,-2.21875 -2.222656,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<g
id="g144"
style="fill:#000000;fill-opacity:1"
transform="translate(-1.21875,-0.53125)">
<use
id="use146"
y="28.4806"
x="43.5424"
xlink:href="#glyph0-0"
width="385"
height="103" />
</g>
<g
id="g148"
style="fill:#000000;fill-opacity:1"
transform="translate(-1.21875,-0.53125)">
<use
id="use150"
y="76.646797"
x="24.6234"
xlink:href="#glyph0-1"
width="385"
height="103" />
</g>
<path
id="path152"
d="M 172.73047,65.753906 173.5,34.867188 149.5625,13.050781 l -23.74609,20.847657 1.54687,36.875 22.19922,16.214843"
style="fill:#dedede;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path154"
d="M 172.73047,65.753906 173.5,34.867188 149.5625,13.050781 l -23.74609,20.847657 1.54687,36.875 22.19922,16.214843 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path156"
d="m 150.72266,80.15625 2.35156,-0.0078 -2.33203,5.882812"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path158"
d="m 150.72266,80.15625 2.35156,-0.0078 -2.33203,5.882812 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path160"
d="m 148.42578,19.980469 -2.34766,0 2.34375,-5.875"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path162"
d="m 148.42578,19.980469 -2.34765,0 2.34375,-5.875 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path164"
d="m 148.40625,87.496094 2.31641,0 0,-75.195313 -2.31641,0 z m 0,0"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path166"
d="m 143.72656,82.671875 1.38281,-1.898437 3.36329,5.359374"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path168"
d="m 143.72656,82.671875 1.38282,-1.898437 3.36328,5.359375 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path170"
d="m 123.48438,40.878906 -2.34766,0.109375 2.07422,-5.976562"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path172"
d="m 123.48438,40.878906 -2.34766,0.109375 2.07422,-5.976562 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path174"
d="m 131.20312,29.167969 1.54297,1.773437 -5.98046,2.078125"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path176"
d="m 131.20313,29.167969 1.54296,1.773437 -5.98046,2.078125 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path178"
d="m 143.05469,15.371094 -1.53125,-1.78125 5.98828,-2.046875"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path180"
d="m 143.05469,15.371094 -1.53125,-1.78125 5.98828,-2.046875 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path182"
d="m 155.17969,18.164062 -1.58985,1.730469 -2.73828,-5.703125"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path184"
d="m 155.17969,18.164063 -1.58985,1.730468 -2.73828,-5.703125 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path186"
d="m 169.71484,28.015625 1.57813,-1.742187 2.77344,5.691406"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path188"
d="m 169.71484,28.015625 1.57813,-1.742187 2.77344,5.691406 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path190"
d="m 173.32812,41.945312 -2.34765,-0.05859 2.49219,-5.816407"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path192"
d="m 173.32813,41.945313 -2.34766,-0.05859 2.49219,-5.816406 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path194"
d="m 175.5625,58.65625 2.35156,0.0625 -2.50781,5.8125"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path196"
d="m 175.5625,58.65625 2.35156,0.0625 -2.50781,5.8125 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path198"
d="M 167.53516,70.492188 165.95703,68.75 l 5.92969,-2.207031"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path200"
d="M 167.53516,70.492188 165.95703,68.75 l 5.92969,-2.207031 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path202"
d="m 156.15234,84.320312 1.57032,1.75 -5.94532,2.171876"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path204"
d="m 156.15234,84.320313 1.57032,1.75 -5.94532,2.171875 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path206"
d="m 131.67578,76.886719 -1.40234,1.886719 -3.31641,-5.390626"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path208"
d="m 131.67578,76.886719 -1.40234,1.886719 -3.31641,-5.390625 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path210"
d="m 127.10547,63.4375 2.35156,-0.0625 -2.20312,5.933594"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path212"
d="m 127.10547,63.4375 2.35156,-0.0625 -2.20312,5.933594 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path214"
d="m 149.75781,90.078125 25.57813,-23.070312 0.67578,-33.300782 -26.44922,-23.9375 -26.44531,22.875 1.83203,39.285157 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path216"
d="m 126.26563,69.035156 c -1.22657,0 -2.21875,0.996094 -2.21875,2.222657 0,1.226562 0.99218,2.21875 2.21875,2.21875 1.22656,0 2.21875,-0.992188 2.21875,-2.21875 0,-1.226563 -0.99219,-2.222657 -2.21875,-2.222657"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path218"
d="m 124.52734,31.003906 c -1.22656,0 -2.21875,0.996094 -2.21875,2.222657 0,1.226562 0.99219,2.21875 2.21875,2.21875 1.22657,0 2.22266,-0.992188 2.22266,-2.21875 0,-1.226563 -0.99609,-2.222657 -2.22266,-2.222657"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path220"
d="m 174.52734,31.875 c -1.22656,0 -2.21875,0.992188 -2.21875,2.21875 0,1.226563 0.99219,2.222656 2.21875,2.222656 1.22657,0 2.22266,-0.996093 2.22266,-2.222656 0,-1.226562 -0.99609,-2.21875 -2.22266,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path222"
d="m 173.94922,64.015625 c -1.22656,0 -2.21875,0.996094 -2.21875,2.222656 0,1.226563 0.99219,2.21875 2.21875,2.21875 1.22656,0 2.21875,-0.992187 2.21875,-2.21875 0,-1.226562 -0.99219,-2.222656 -2.21875,-2.222656"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path224"
d="m 149.72266,9.820313 c -1.22657,0 -2.22266,0.992187 -2.22266,2.21875 0,1.226562 0.99609,2.21875 2.22266,2.21875 1.22656,0 2.21875,-0.992188 2.21875,-2.21875 0,-1.226563 -0.99219,-2.21875 -2.21875,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path226"
d="m 149.625,85.734375 c -1.22656,0 -2.21875,0.996094 -2.21875,2.222656 0,1.226563 0.99219,2.21875 2.21875,2.21875 1.22656,0 2.21875,-0.992187 2.21875,-2.21875 0,-1.226562 -0.99219,-2.222656 -2.21875,-2.222656"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<g
id="g228"
style="fill:#000000;fill-opacity:1"
transform="translate(-1.21875,-0.53125)">
<use
id="use230"
y="56.675301"
x="153.19501"
xlink:href="#glyph0-0"
width="385"
height="103" />
</g>
<g
id="g232"
style="fill:#000000;fill-opacity:1"
transform="translate(-1.21875,-0.53125)">
<use
id="use234"
y="40.388401"
x="72.403397"
xlink:href="#glyph1-0"
width="385"
height="103" />
<use
id="use236"
y="40.388401"
x="74.956688"
xlink:href="#glyph1-1"
width="385"
height="103" />
<use
id="use238"
y="40.388401"
x="78.606125"
xlink:href="#glyph1-2"
width="385"
height="103" />
<use
id="use240"
y="40.388401"
x="80.43084"
xlink:href="#glyph1-3"
width="385"
height="103" />
<use
id="use242"
y="40.388401"
x="82.255562"
xlink:href="#glyph1-4"
width="385"
height="103" />
<use
id="use244"
y="40.388401"
x="84.441284"
xlink:href="#glyph1-5"
width="385"
height="103" />
<use
id="use246"
y="40.388401"
x="87.723145"
xlink:href="#glyph1-6"
width="385"
height="103" />
<use
id="use248"
y="40.388401"
x="89.908867"
xlink:href="#glyph1-7"
width="385"
height="103" />
<use
id="use250"
y="40.388401"
x="93.190735"
xlink:href="#glyph1-8"
width="385"
height="103" />
<use
id="use252"
y="40.388401"
x="96.105026"
xlink:href="#glyph1-9"
width="385"
height="103" />
<use
id="use254"
y="40.388401"
x="99.019325"
xlink:href="#glyph1-4"
width="385"
height="103" />
<use
id="use256"
y="40.388401"
x="101.20505"
xlink:href="#glyph1-10"
width="385"
height="103" />
<use
id="use258"
y="40.388401"
x="103.39077"
xlink:href="#glyph1-11"
width="385"
height="103" />
<use
id="use260"
y="40.388401"
x="107.0402"
xlink:href="#glyph1-12"
width="385"
height="103" />
<use
id="use262"
y="40.388401"
x="108.68114"
xlink:href="#glyph1-13"
width="385"
height="103" />
<use
id="use264"
y="40.388401"
x="111.963"
xlink:href="#glyph1-14"
width="385"
height="103" />
</g>
<g
id="g266"
style="fill:#000000;fill-opacity:1"
transform="translate(-1.21875,-0.53125)">
<use
id="use268"
y="65.485001"
x="75.492218"
xlink:href="#glyph1-15"
width="385"
height="103" />
<use
id="use270"
y="65.485001"
x="77.67794"
xlink:href="#glyph1-16"
width="385"
height="103" />
<use
id="use272"
y="65.485001"
x="80.959808"
xlink:href="#glyph1-3"
width="385"
height="103" />
<use
id="use274"
y="65.485001"
x="82.784523"
xlink:href="#glyph1-17"
width="385"
height="103" />
<use
id="use276"
y="65.485001"
x="86.43396"
xlink:href="#glyph1-5"
width="385"
height="103" />
<use
id="use278"
y="65.485001"
x="89.71582"
xlink:href="#glyph1-6"
width="385"
height="103" />
<use
id="use280"
y="65.485001"
x="91.901543"
xlink:href="#glyph1-7"
width="385"
height="103" />
<use
id="use282"
y="65.485001"
x="95.183411"
xlink:href="#glyph1-8"
width="385"
height="103" />
<use
id="use284"
y="65.485001"
x="98.09771"
xlink:href="#glyph1-9"
width="385"
height="103" />
<use
id="use286"
y="65.485001"
x="101.012"
xlink:href="#glyph1-4"
width="385"
height="103" />
<use
id="use288"
y="65.485001"
x="103.19772"
xlink:href="#glyph1-10"
width="385"
height="103" />
<use
id="use290"
y="65.485001"
x="105.38345"
xlink:href="#glyph1-11"
width="385"
height="103" />
<use
id="use292"
y="65.485001"
x="109.03288"
xlink:href="#glyph1-14"
width="385"
height="103" />
</g>
<path
id="path294"
d="m 69.125,49.457031 c 0,0 0,0 2.429687,-0.53125 2.429688,-0.53125 7.289063,-1.59375 12.386719,-2.140625 5.101563,-0.546875 10.441406,-0.578125 15.445314,-0.08203 5.00391,0.5 9.66797,1.53125 12,2.042969 2.33203,0.515625 2.33203,0.515625 2.33203,0.515625"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.77220303;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path296"
d="m 108.05859,50.085938 7.8086,-0.550782 -7.14844,-3.191406"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path298"
d="m 108.05859,50.085938 7.8086,-0.550782 -7.14844,-3.191406 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path300"
d="m 113.78516,54.449219 c 0,0 0,0 -2.42969,0.53125 -2.42969,0.53125 -7.28906,1.59375 -12.38672,2.140625 -5.101563,0.546875 -10.441406,0.578125 -15.445313,0.07813 -5.003906,-0.496094 -9.667968,-1.527344 -12,-2.042969 C 69.191406,54.64063 69.191406,54.64063 69.191406,54.64063"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.77220303;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path302"
d="m 74.851562,53.820312 -7.808593,0.546876 7.148437,3.191406"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
inkscape:connector-curvature="0" />
<path
id="path304"
d="m 74.851562,53.820313 -7.808593,0.546875 7.148437,3.191406 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path306"
d="m 0.0625,100.64063 183.58984,0 0,-100.57813 -183.58984,0 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
inkscape:connector-curvature="0" />
</svg>

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

View File

@ -0,0 +1,938 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="229.6373"
height="125.87267"
viewBox="0 0 183.70984 100.69813"
version="1.2"
id="svg4235"
inkscape:version="0.48.1 r9760"
sodipodi:docname="euler-vertex.pdf">
<metadata
id="metadata4775">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1511"
inkscape:window-height="722"
id="namedview4773"
showgrid="false"
inkscape:zoom="1.0846753"
inkscape:cx="-10.901563"
inkscape:cy="62.16485"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg4235"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<defs
id="defs4237">
<g
id="g4239">
<symbol
overflow="visible"
id="glyph0-0"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.453125,-4.703125 -1.34375,0 0,0.171875 c 0.328125,0.0625 0.375,0.109375 0.375,0.40625 l 0,3.546875 c 0,0.28125 -0.0625,0.34375 -0.375,0.40625 l 0,0.171875 1.671875,0 0,-0.171875 C 1.53125,-0.203125 1.453125,-0.3125 1.453125,-0.5625 l 0,-1.859375 c 0,-0.03125 0.046875,-0.09375 0.109375,-0.15625 0.15625,-0.15625 0.328125,-0.25 0.484375,-0.25 0.234375,0 0.359375,0.1875 0.359375,0.578125 l 0,1.6875 c 0,0.25 -0.09375,0.375 -0.328125,0.390625 l 0,0.171875 1.640625,0 0,-0.171875 C 3.46875,-0.1875 3.375,-0.296875 3.375,-0.578125 l 0,-1.734375 c 0,-0.59375 -0.375,-0.96875 -0.9375,-0.96875 -0.375,0 -0.625,0.125 -0.984375,0.53125 z m 0,0"
id="path4242"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph0-1"
style="overflow:visible">
<path
style="stroke:none"
d="m 3.34375,-2.765625 0,-0.375 -0.890625,0 C 2.140625,-3.25 1.953125,-3.28125 1.671875,-3.28125 0.84375,-3.28125 0.25,-2.828125 0.25,-2.171875 c 0,0.234375 0.09375,0.46875 0.25,0.65625 0.15625,0.171875 0.296875,0.265625 0.625,0.40625 -0.5625,0.1875 -0.828125,0.453125 -0.828125,0.8125 0,0.28125 0.125,0.40625 0.5625,0.5625 C 0.421875,0.328125 0.1875,0.5 0.1875,0.796875 c 0,0.40625 0.53125,0.640625 1.40625,0.640625 1.15625,0 1.765625,-0.359375 1.765625,-1.0625 0,-0.53125 -0.4375,-0.84375 -1.140625,-0.84375 l -0.453125,0 c -0.5625,0 -0.6875,-0.046875 -0.6875,-0.25 0,-0.203125 0.1875,-0.359375 0.46875,-0.359375 l 0.3125,0 c 0.328125,0 0.5,-0.03125 0.734375,-0.171875 0.3125,-0.1875 0.46875,-0.46875 0.46875,-0.84375 0,-0.265625 -0.078125,-0.484375 -0.28125,-0.671875 z M 2.25,0.359375 c 0.375,0 0.5625,0.125 0.5625,0.34375 0,0.328125 -0.390625,0.5 -1.078125,0.5 C 1.125,1.203125 0.8125,1.046875 0.8125,0.75 c 0,-0.15625 0.046875,-0.234375 0.234375,-0.390625 z m -0.578125,-3.4375 C 2,-3.078125 2.125,-2.8125 2.125,-2.15625 c 0,0.640625 -0.125,0.890625 -0.453125,0.890625 -0.34375,0 -0.46875,-0.25 -0.46875,-0.890625 0,-0.65625 0.140625,-0.921875 0.46875,-0.921875 z m 0,0"
id="path4245"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-0"
style="overflow:visible">
<path
style="stroke:none"
d="m 2.234375,-2.140625 0,-0.953125 -0.140625,0 C 2.046875,-3 2.015625,-2.953125 1.921875,-2.953125 1.890625,-2.953125 1.828125,-2.96875 1.71875,-3 1.5,-3.078125 1.359375,-3.109375 1.203125,-3.109375 c -0.59375,0 -1.03125,0.40625 -1.03125,0.96875 0,0.421875 0.28125,0.734375 0.9375,1.015625 0.453125,0.1875 0.625,0.359375 0.625,0.5625 0,0.265625 -0.1875,0.4375 -0.484375,0.4375 -0.46875,0 -0.765625,-0.296875 -0.90625,-0.875 l -0.1875,0 0,1.078125 0.171875,0 C 0.40625,-0.046875 0.4375,-0.09375 0.5,-0.09375 c 0.03125,0 0.078125,0.015625 0.15625,0.03125 0.171875,0.078125 0.515625,0.15625 0.703125,0.15625 0.59375,0 1.015625,-0.40625 1.015625,-1 0,-0.46875 -0.265625,-0.75 -0.90625,-1.015625 C 1.015625,-2.125 0.828125,-2.28125 0.828125,-2.5 c 0,-0.21875 0.1875,-0.390625 0.4375,-0.390625 0.171875,0 0.34375,0.078125 0.5,0.21875 0.125,0.125 0.203125,0.25 0.296875,0.53125 z m 0,0"
id="path4248"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-1"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.390625,-3.03125 -1.25,0 0,0.15625 c 0.28125,0.046875 0.34375,0.125 0.34375,0.390625 l 0,3.296875 c 0,0.265625 -0.046875,0.328125 -0.359375,0.375 l 0,0.15625 1.796875,0 0,-0.140625 C 1.515625,1.1875 1.40625,1.0625 1.40625,0.609375 l 0,-0.921875 C 1.71875,0 1.890625,0.078125 2.171875,0.078125 2.90625,0.078125 3.4375,-0.59375 3.4375,-1.5625 c 0,-0.921875 -0.484375,-1.546875 -1.21875,-1.546875 -0.390625,0 -0.625,0.15625 -0.828125,0.53125 z m 0.015625,0.765625 c 0,-0.046875 0.0625,-0.15625 0.140625,-0.234375 0.125,-0.15625 0.28125,-0.234375 0.421875,-0.234375 0.34375,0 0.5,0.390625 0.5,1.265625 0,0.8125 -0.1875,1.1875 -0.5625,1.1875 -0.21875,0 -0.40625,-0.140625 -0.5,-0.390625 z m 0,0"
id="path4251"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-2"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.359375,-4.4375 -1.25,0 0,0.15625 c 0.21875,0.015625 0.328125,0.140625 0.328125,0.390625 l 0,3.34375 c 0,0.234375 -0.109375,0.375 -0.328125,0.390625 l 0,0.15625 1.5625,0 0,-0.15625 c -0.21875,0 -0.3125,-0.125 -0.3125,-0.390625 z m 0,0"
id="path4254"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-3"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.359375,-3.03125 -1.25,0 0,0.15625 c 0.28125,0.0625 0.34375,0.125 0.34375,0.390625 l 0,1.9375 c 0,0.265625 -0.046875,0.3125 -0.34375,0.390625 l 0,0.15625 1.5625,0 0,-0.15625 c -0.234375,-0.03125 -0.3125,-0.125 -0.3125,-0.375 z m -0.453125,-1.5 c -0.28125,0 -0.515625,0.21875 -0.515625,0.5 0,0.296875 0.21875,0.515625 0.515625,0.515625 0.28125,0 0.5,-0.21875 0.5,-0.5 0,-0.296875 -0.21875,-0.515625 -0.5,-0.515625 z m 0,0"
id="path4257"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-4"
style="overflow:visible">
<path
style="stroke:none"
d="m 2,-3.03125 -0.609375,0 0,-1.109375 -0.171875,0 C 0.8125,-3.5625 0.5625,-3.28125 0.125,-2.90625 l 0,0.171875 0.34375,0 0,2.125 c 0,0.421875 0.28125,0.6875 0.734375,0.6875 0.4375,0 0.703125,-0.203125 0.96875,-0.734375 l -0.15625,-0.078125 c -0.125,0.25 -0.234375,0.34375 -0.375,0.34375 -0.1875,0 -0.25,-0.109375 -0.25,-0.375 l 0,-1.96875 0.609375,0 z m 0,0"
id="path4260"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-5"
style="overflow:visible">
<path
style="stroke:none"
d="m 3.28125,0.8125 0,-0.328125 -3.28125,0 0,0.328125 z m 0,0"
id="path4263"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-6"
style="overflow:visible">
<path
style="stroke:none"
d="m 0.46875,-2.734375 0,2.1875 c 0,0.28125 -0.078125,0.359375 -0.375,0.390625 l 0,0.15625 1.828125,0 0,-0.15625 C 1.453125,-0.171875 1.375,-0.25 1.375,-0.671875 l 0,-2.0625 0.578125,0 0,-0.296875 -0.578125,0 0,-0.796875 c 0,-0.359375 0.09375,-0.5 0.328125,-0.5 0.125,0 0.1875,0.046875 0.1875,0.125 0,0.015625 -0.015625,0.0625 -0.046875,0.140625 C 1.78125,-3.96875 1.75,-3.890625 1.75,-3.828125 c 0,0.203125 0.171875,0.359375 0.390625,0.359375 0.25,0 0.40625,-0.171875 0.40625,-0.40625 0,-0.390625 -0.375,-0.65625 -0.9375,-0.65625 -0.4375,0 -0.78125,0.15625 -0.953125,0.4375 -0.140625,0.234375 -0.1875,0.5 -0.1875,1.0625 l -0.375,0 0,0.296875 z m 0,0"
id="path4266"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-7"
style="overflow:visible">
<path
style="stroke:none"
d="m 3.109375,-0.421875 -0.078125,0.0625 c -0.015625,0.03125 -0.03125,0.03125 -0.0625,0.03125 -0.09375,0 -0.140625,-0.0625 -0.140625,-0.15625 l 0,-1.71875 c 0,-0.546875 -0.5,-0.90625 -1.296875,-0.90625 -0.75,0 -1.25,0.34375 -1.25,0.828125 0,0.265625 0.171875,0.4375 0.4375,0.4375 0.265625,0 0.4375,-0.15625 0.4375,-0.375 C 1.15625,-2.3125 1.125,-2.40625 1.046875,-2.5 0.984375,-2.578125 0.96875,-2.609375 0.96875,-2.65625 c 0,-0.125 0.171875,-0.234375 0.40625,-0.234375 0.390625,0 0.546875,0.171875 0.546875,0.578125 l 0,0.46875 c -0.78125,0.25 -1.09375,0.375 -1.34375,0.53125 -0.28125,0.203125 -0.421875,0.421875 -0.421875,0.703125 0,0.40625 0.3125,0.703125 0.734375,0.703125 0.375,0 0.671875,-0.140625 1.03125,-0.46875 C 2,-0.03125 2.140625,0.09375 2.46875,0.09375 c 0.28125,0 0.484375,-0.109375 0.734375,-0.375 z M 1.921875,-0.65625 C 1.75,-0.453125 1.609375,-0.375 1.453125,-0.375 1.265625,-0.375 1.125,-0.546875 1.125,-0.8125 c 0,-0.375 0.265625,-0.65625 0.796875,-0.796875 z m 0,0"
id="path4269"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-8"
style="overflow:visible">
<path
style="stroke:none"
d="m 2.703125,-0.71875 c -0.25,0.28125 -0.40625,0.375 -0.6875,0.375 -0.5625,0 -0.921875,-0.578125 -0.921875,-1.46875 0,-0.671875 0.203125,-1.09375 0.546875,-1.09375 0.109375,0 0.203125,0.0625 0.25,0.125 0.03125,0.0625 0.03125,0.0625 0.03125,0.34375 0,0.3125 0.125,0.46875 0.359375,0.46875 0.28125,0 0.453125,-0.15625 0.453125,-0.40625 0,-0.40625 -0.4375,-0.734375 -1.015625,-0.734375 -0.90625,0 -1.5625,0.703125 -1.5625,1.640625 0,0.90625 0.59375,1.5625 1.40625,1.5625 0.515625,0 0.875,-0.203125 1.265625,-0.6875 z m 0,0"
id="path4272"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-9"
style="overflow:visible">
<path
style="stroke:none"
d="M 2.640625,-0.8125 C 2.375,-0.5 2.171875,-0.375 1.890625,-0.375 1.640625,-0.375 1.4375,-0.5 1.3125,-0.734375 1.1875,-0.9375 1.140625,-1.15625 1.109375,-1.609375 l 1.65625,0 C 2.71875,-2.15625 2.625,-2.46875 2.421875,-2.71875 c -0.21875,-0.25 -0.53125,-0.390625 -0.890625,-0.390625 -0.8125,0 -1.375,0.65625 -1.375,1.609375 0,0.96875 0.546875,1.59375 1.359375,1.59375 0.53125,0 0.859375,-0.21875 1.28125,-0.828125 z m -1.5625,-1.03125 c 0.015625,-0.796875 0.140625,-1.0625 0.453125,-1.0625 0.1875,0 0.3125,0.109375 0.359375,0.3125 0.03125,0.125 0.046875,0.3125 0.0625,0.640625 l 0,0.109375 z m 0,0"
id="path4275"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-10"
style="overflow:visible">
<path
style="stroke:none"
d="M 2.015625,-4.546875 C 1.59375,-4.34375 1.421875,-4.203125 1.15625,-3.9375 c -0.546875,0.609375 -0.859375,1.390625 -0.859375,2.234375 0,0.59375 0.171875,1.1875 0.484375,1.6875 0.296875,0.46875 0.578125,0.734375 1.234375,1.125 l 0,-0.1875 C 1.640625,0.6875 1.46875,0.515625 1.328125,0.21875 1.140625,-0.1875 1.046875,-0.796875 1.046875,-1.6875 c 0,-0.90625 0.09375,-1.578125 0.265625,-1.96875 C 1.453125,-3.9375 1.609375,-4.109375 2.015625,-4.375 z m 0,0"
id="path4278"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-11"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.359375,-4.4375 -1.25,0 0,0.15625 c 0.296875,0.0625 0.34375,0.109375 0.34375,0.390625 l 0,3.34375 c 0,0.265625 -0.046875,0.328125 -0.34375,0.390625 l 0,0.15625 1.578125,0 0,-0.15625 c -0.25,-0.03125 -0.328125,-0.125 -0.328125,-0.375 l 0,-1.75 c 0,-0.03125 0.046875,-0.09375 0.109375,-0.15625 0.15625,-0.140625 0.3125,-0.234375 0.453125,-0.234375 0.234375,0 0.34375,0.1875 0.34375,0.546875 l 0,1.59375 c 0,0.25 -0.078125,0.34375 -0.296875,0.375 L 1.96875,0 3.5,0 3.5,-0.15625 C 3.265625,-0.171875 3.1875,-0.28125 3.1875,-0.546875 l 0,-1.625 c 0,-0.578125 -0.359375,-0.9375 -0.890625,-0.9375 -0.34375,0 -0.59375,0.140625 -0.9375,0.515625 z m 0,0"
id="path4281"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-12"
style="overflow:visible">
<path
style="stroke:none"
d="M 0.375,1.1875 C 1.140625,0.734375 1.46875,0.3125 1.46875,-0.25 c 0,-0.453125 -0.28125,-0.765625 -0.671875,-0.765625 -0.328125,0 -0.546875,0.21875 -0.546875,0.546875 0,0.296875 0.203125,0.515625 0.484375,0.515625 0.03125,0 0.078125,0 0.109375,-0.015625 0.015625,0 0.03125,0 0.046875,0 0.078125,0 0.125,0.046875 0.125,0.140625 0,0.25 -0.21875,0.53125 -0.71875,0.859375 z m 0,0"
id="path4284"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-13"
style="overflow:visible">
<path
style="stroke:none"
d="m 3.15625,-2.609375 0,-0.34375 -0.84375,0 C 2.015625,-3.0625 1.84375,-3.109375 1.578125,-3.109375 c -0.78125,0 -1.328125,0.4375 -1.328125,1.0625 0,0.21875 0.078125,0.4375 0.234375,0.625 C 0.625,-1.265625 0.75,-1.1875 1.0625,-1.046875 0.53125,-0.875 0.28125,-0.625 0.28125,-0.28125 c 0,0.265625 0.109375,0.390625 0.53125,0.53125 -0.40625,0.0625 -0.625,0.234375 -0.625,0.5 0,0.375 0.484375,0.609375 1.3125,0.609375 1.09375,0 1.671875,-0.34375 1.671875,-1 0,-0.5 -0.40625,-0.8125 -1.078125,-0.8125 l -0.421875,0 c -0.53125,0 -0.65625,-0.03125 -0.65625,-0.21875 0,-0.203125 0.171875,-0.34375 0.4375,-0.34375 l 0.296875,0 c 0.3125,0 0.46875,-0.03125 0.703125,-0.171875 0.296875,-0.171875 0.4375,-0.4375 0.4375,-0.78125 0,-0.265625 -0.078125,-0.453125 -0.265625,-0.640625 z M 2.125,0.34375 c 0.359375,0 0.53125,0.109375 0.53125,0.328125 0,0.296875 -0.359375,0.46875 -1.015625,0.46875 -0.578125,0 -0.875,-0.15625 -0.875,-0.4375 0,-0.140625 0.046875,-0.21875 0.21875,-0.359375 z m -0.546875,-3.25 c 0.3125,0 0.4375,0.25 0.4375,0.859375 0,0.609375 -0.125,0.859375 -0.4375,0.859375 -0.3125,0 -0.4375,-0.25 -0.4375,-0.859375 0,-0.609375 0.125,-0.859375 0.4375,-0.859375 z m 0,0"
id="path4287"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-14"
style="overflow:visible">
<path
style="stroke:none"
d="m 0.171875,1.109375 c 0.40625,-0.21875 0.59375,-0.359375 0.84375,-0.625 0.5625,-0.609375 0.875,-1.390625 0.875,-2.234375 0,-0.59375 -0.171875,-1.1875 -0.484375,-1.6875 C 1.109375,-3.90625 0.8125,-4.171875 0.171875,-4.546875 l 0,0.171875 c 0.375,0.25 0.546875,0.40625 0.6875,0.703125 0.1875,0.40625 0.28125,1.015625 0.28125,1.90625 0,0.90625 -0.09375,1.578125 -0.28125,1.96875 -0.125,0.28125 -0.28125,0.453125 -0.6875,0.71875 z m 0,0"
id="path4290"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-15"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.703125,-3.03125 -1.328125,0 0,0.15625 c 0.34375,0.03125 0.421875,0.109375 0.421875,0.390625 l 0,3.109375 c 0,0.359375 -0.09375,0.5 -0.3125,0.5 -0.125,0 -0.21875,-0.046875 -0.21875,-0.109375 0,-0.03125 0.015625,-0.078125 0.0625,-0.140625 0.0625,-0.109375 0.09375,-0.171875 0.09375,-0.25 C 0.421875,0.4375 0.25,0.28125 0.03125,0.28125 -0.203125,0.28125 -0.375,0.4375 -0.375,0.671875 -0.375,1.0625 0,1.328125 0.546875,1.328125 1,1.328125 1.34375,1.15625 1.53125,0.828125 1.65625,0.625 1.703125,0.375 1.703125,-0.015625 z m -0.484375,-1.5 c -0.28125,0 -0.515625,0.21875 -0.515625,0.5 0,0.296875 0.21875,0.515625 0.515625,0.515625 0.28125,0 0.5,-0.21875 0.5,-0.5 0,-0.296875 -0.21875,-0.515625 -0.5,-0.515625 z m 0,0"
id="path4293"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-16"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.640625,-3.109375 c -0.828125,0 -1.484375,0.6875 -1.484375,1.59375 0,0.9375 0.625,1.609375 1.484375,1.609375 C 2.5,0.09375 3.125,-0.59375 3.125,-1.5 3.125,-2.421875 2.5,-3.109375 1.640625,-3.109375 z M 1.65625,-2.90625 c 0.375,0 0.5,0.359375 0.5,1.4375 0,1.015625 -0.125,1.359375 -0.515625,1.359375 -0.375,0 -0.515625,-0.34375 -0.515625,-1.296875 0,-1.15625 0.125,-1.5 0.53125,-1.5 z m 0,0"
id="path4296"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-17"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.390625,-3.03125 -1.25,0 0,0.15625 c 0.28125,0.046875 0.34375,0.125 0.34375,0.390625 l 0,1.9375 c 0,0.265625 -0.046875,0.328125 -0.34375,0.390625 l 0,0.15625 1.578125,0 0,-0.15625 c -0.25,-0.03125 -0.328125,-0.125 -0.328125,-0.375 l 0,-1.75 c 0,-0.03125 0.046875,-0.09375 0.125,-0.15625 0.140625,-0.140625 0.296875,-0.234375 0.453125,-0.234375 0.21875,0 0.328125,0.1875 0.328125,0.546875 l 0,1.59375 c 0,0.25 -0.078125,0.34375 -0.296875,0.375 L 2,0 l 1.53125,0 0,-0.15625 c -0.25,-0.015625 -0.3125,-0.09375 -0.3125,-0.375 l 0,-1.640625 c 0,-0.578125 -0.34375,-0.9375 -0.890625,-0.9375 -0.390625,0 -0.6875,0.1875 -0.9375,0.578125 z m 0,0"
id="path4299"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-18"
style="overflow:visible">
<path
style="stroke:none"
d="m 3.1875,-3.03125 -1,0 0,0.15625 c 0.28125,0.015625 0.359375,0.0625 0.359375,0.21875 0,0.078125 -0.015625,0.1875 -0.0625,0.296875 L 2.015625,-1.15625 1.484375,-2.5 C 1.4375,-2.625 1.4375,-2.65625 1.4375,-2.703125 c 0,-0.09375 0.0625,-0.140625 0.21875,-0.15625 0.015625,0 0.0625,0 0.125,-0.015625 l 0,-0.15625 -1.640625,0 0,0.15625 c 0.140625,0.03125 0.1875,0.046875 0.234375,0.109375 0,-0.015625 0.3125,0.640625 0.421875,0.921875 l 0.78125,1.9375 0.171875,0 L 2.796875,-2.5 c 0.125,-0.296875 0.1875,-0.34375 0.390625,-0.375 z m 0,0"
id="path4302"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-19"
style="overflow:visible">
<path
style="stroke:none"
d="m 1.4375,-3.03125 -1.25,0 0,0.15625 c 0.28125,0.046875 0.359375,0.125 0.359375,0.390625 l 0,1.9375 c 0,0.265625 -0.0625,0.34375 -0.359375,0.390625 l 0,0.15625 1.75,0 0,-0.15625 C 1.53125,-0.1875 1.453125,-0.265625 1.453125,-0.671875 l 0,-1.25 c 0,-0.328125 0.1875,-0.625 0.40625,-0.625 0.046875,0 0.109375,0.046875 0.1875,0.15625 0.125,0.171875 0.21875,0.234375 0.390625,0.234375 0.234375,0 0.40625,-0.1875 0.40625,-0.4375 0,-0.296875 -0.21875,-0.515625 -0.53125,-0.515625 -0.328125,0 -0.578125,0.1875 -0.875,0.625 z m 0,0"
id="path4305"
inkscape:connector-curvature="0" />
</symbol>
<symbol
overflow="visible"
id="glyph1-20"
style="overflow:visible">
<path
style="stroke:none"
d="m 3.171875,-0.15625 c -0.09375,-0.03125 -0.140625,-0.0625 -0.1875,-0.125 l -0.96875,-1.5 0.65625,-0.828125 c 0.125,-0.15625 0.25,-0.21875 0.453125,-0.265625 l 0,-0.15625 -1.09375,0 0,0.15625 c 0.0625,0.015625 0.109375,0.015625 0.125,0.015625 0.15625,0.015625 0.203125,0.046875 0.203125,0.15625 0,0.09375 -0.0625,0.203125 -0.25,0.40625 C 2.078125,-2.25 1.96875,-2.125 1.875,-1.984375 1.84375,-2.03125 1.8125,-2.078125 1.796875,-2.09375 1.578125,-2.375 1.40625,-2.65625 1.40625,-2.75 c 0,-0.078125 0.09375,-0.109375 0.3125,-0.125 l 0,-0.15625 -1.640625,0 0,0.15625 C 0.25,-2.84375 0.28125,-2.8125 0.421875,-2.609375 l 0.84375,1.296875 c -0.203125,0.234375 -0.375,0.453125 -0.4375,0.546875 -0.359375,0.484375 -0.5,0.59375 -0.734375,0.609375 l 0,0.15625 1.109375,0 0,-0.15625 C 0.96875,-0.171875 0.875,-0.21875 0.875,-0.3125 c 0,-0.09375 0.171875,-0.375 0.421875,-0.671875 C 1.3125,-1.015625 1.359375,-1.0625 1.390625,-1.125 l 0.28125,0.421875 c 0.15625,0.21875 0.21875,0.328125 0.21875,0.421875 0,0.078125 -0.09375,0.109375 -0.296875,0.125 l 0,0.15625 1.578125,0 z m 0,0"
id="path4308"
inkscape:connector-curvature="0" />
</symbol>
</g>
</defs>
<path
inkscape:connector-curvature="0"
id="path4541"
d="m 69.1225,50.130313 c 0,0 0,0 2.42969,-0.53125 2.42969,-0.53125 7.28906,-1.59375 12.38672,-2.140625 5.10156,-0.546875 10.4414,-0.578125 15.44531,-0.08203 5.00391,0.5 9.66797,1.53125 12,2.042969 2.33594,0.515625 2.33594,0.515625 2.33594,0.515625"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.77220303;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4543"
d="m 108.05609,50.759219 7.8086,-0.550781 -7.14844,-3.191407"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4545"
d="m 108.05609,50.759219 7.8086,-0.550781 -7.14844,-3.191407 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4547"
d="m 113.78266,55.1225 c 0,0 0,0 -2.42969,0.53125 -2.42969,0.53125 -7.28906,1.59375 -12.38672,2.140625 -5.09766,0.546875 -10.44141,0.578125 -15.44531,0.07813 -5.00391,-0.496094 -9.66797,-1.527344 -12,-2.042969 -2.33203,-0.515625 -2.33203,-0.515625 -2.33203,-0.515625"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.77220303;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4549"
d="m 74.85297,54.493594 -7.8125,0.546875 7.14844,3.191406"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4551"
d="m 74.85297,54.493594 -7.8125,0.546875 7.14844,3.191406 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<g
id="g4553"
style="fill:#000000;fill-opacity:1"
transform="translate(-201.22125,-0.53375)">
<use
height="103"
width="385"
id="use4555"
y="41.064098"
x="270.66699"
xlink:href="#glyph1-0" />
<use
height="103"
width="385"
id="use4557"
y="41.064098"
x="273.22028"
xlink:href="#glyph1-1" />
<use
height="103"
width="385"
id="use4559"
y="41.064098"
x="276.86972"
xlink:href="#glyph1-2" />
<use
height="103"
width="385"
id="use4561"
y="41.064098"
x="278.69443"
xlink:href="#glyph1-3" />
<use
height="103"
width="385"
id="use4563"
y="41.064098"
x="280.51917"
xlink:href="#glyph1-4" />
<use
height="103"
width="385"
id="use4565"
y="41.064098"
x="282.7049"
xlink:href="#glyph1-5" />
<use
height="103"
width="385"
id="use4567"
y="41.064098"
x="285.98676"
xlink:href="#glyph1-18" />
<use
height="103"
width="385"
id="use4569"
y="41.064098"
x="289.26862"
xlink:href="#glyph1-9" />
<use
height="103"
width="385"
id="use4571"
y="41.064098"
x="292.18289"
xlink:href="#glyph1-19" />
<use
height="103"
width="385"
id="use4573"
y="41.064098"
x="295.0972"
xlink:href="#glyph1-4" />
<use
height="103"
width="385"
id="use4575"
y="41.064098"
x="297.28293"
xlink:href="#glyph1-9" />
<use
height="103"
width="385"
id="use4577"
y="41.064098"
x="300.19724"
xlink:href="#glyph1-20" />
<use
height="103"
width="385"
id="use4579"
y="41.064098"
x="303.4791"
xlink:href="#glyph1-10" />
<use
height="103"
width="385"
id="use4581"
y="41.064098"
x="305.66479"
xlink:href="#glyph1-11" />
<use
height="103"
width="385"
id="use4583"
y="41.064098"
x="309.31424"
xlink:href="#glyph1-12" />
<use
height="103"
width="385"
id="use4585"
y="41.064098"
x="310.95517"
xlink:href="#glyph1-13" />
<use
height="103"
width="385"
id="use4587"
y="41.064098"
x="314.23703"
xlink:href="#glyph1-14" />
</g>
<g
id="g4589"
style="fill:#000000;fill-opacity:1"
transform="translate(-201.22125,-0.53375)">
<use
height="103"
width="385"
id="use4591"
y="66.160698"
x="273.75583"
xlink:href="#glyph1-15" />
<use
height="103"
width="385"
id="use4593"
y="66.160698"
x="275.94153"
xlink:href="#glyph1-16" />
<use
height="103"
width="385"
id="use4595"
y="66.160698"
x="279.22342"
xlink:href="#glyph1-3" />
<use
height="103"
width="385"
id="use4597"
y="66.160698"
x="281.04813"
xlink:href="#glyph1-17" />
<use
height="103"
width="385"
id="use4599"
y="66.160698"
x="284.69757"
xlink:href="#glyph1-5" />
<use
height="103"
width="385"
id="use4601"
y="66.160698"
x="287.97943"
xlink:href="#glyph1-18" />
<use
height="103"
width="385"
id="use4603"
y="66.160698"
x="291.26129"
xlink:href="#glyph1-9" />
<use
height="103"
width="385"
id="use4605"
y="66.160698"
x="294.1756"
xlink:href="#glyph1-19" />
<use
height="103"
width="385"
id="use4607"
y="66.160698"
x="297.08987"
xlink:href="#glyph1-4" />
<use
height="103"
width="385"
id="use4609"
y="66.160698"
x="299.2756"
xlink:href="#glyph1-9" />
<use
height="103"
width="385"
id="use4611"
y="66.160698"
x="302.18991"
xlink:href="#glyph1-20" />
<use
height="103"
width="385"
id="use4613"
y="66.160698"
x="305.47177"
xlink:href="#glyph1-10" />
<use
height="103"
width="385"
id="use4615"
y="66.160698"
x="307.65747"
xlink:href="#glyph1-11" />
<use
height="103"
width="385"
id="use4617"
y="66.160698"
x="311.30692"
xlink:href="#glyph1-14" />
</g>
<path
inkscape:connector-curvature="0"
id="path4619"
d="m 57.57562,79.438906 c -0.43359,-2.976562 -0.27343,-6.417968 0.38672,-8.816406 0.66016,-2.394531 1.81641,-3.746094 2.39453,-6.191406 0.58204,-2.445313 0.58204,-5.984375 -0.26953,-9.074219 -0.85547,-3.089844 -2.55859,-5.726563 -3.58984,-8.542969 -1.02734,-2.816406 -1.38281,-5.808594 -0.66016,-8.652344 0.72266,-2.847656 2.52735,-5.550781 3.82813,-8.304687 1.30469,-2.75 2.10937,-5.546875 2.125,-8.394531 0.0156,-2.847656 -0.75391,-5.746094 -1.14063,-7.191406 -0.38672,-1.449219 -0.38672,-1.449219 -0.38672,-1.449219 0,0 0,0 -4.08593,3.699219 -4.08594,3.699218 -12.25782,11.101562 -16.34766,14.800781 -4.08594,3.699219 -4.08594,3.699219 -4.08594,3.699219 0,0 0,0 0,5.070312 0,5.066406 0,15.203125 0,20.269531 0,5.066407 0,5.066407 0,5.066407 0,0 0,0 4.05469,3.667968 4.05469,3.667969 12.16406,11.003906 16.21484,14.671875 4.05469,3.667969 4.05469,3.667969 4.05469,3.667969 0,0 0,0 -0.51172,-1.253906 -0.51562,-1.253906 -1.54687,-3.765625 -1.98047,-6.742188"
style="fill:#dedede;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4621"
d="m 12.9975,25.290469 c 0.64453,2.429687 0.83594,4.777343 0.22656,7.738281 -0.61328,2.960938 -2.02734,6.53125 -2.83203,9.585938 -0.80469,3.058593 -1,5.601562 -0.40234,7.980468 0.59375,2.382813 1.97656,4.601563 2.70312,7.449219 0.72266,2.847656 0.78516,6.320313 0,9.234375 -0.78906,2.910156 -2.42969,5.261719 -3.41015,7.722656 -0.98438,2.460938 -1.30469,5.035156 -1.32032,7.046875 -0.0156,2.007813 0.27344,3.457031 0.41797,4.179688 0.14453,0.726562 0.14453,0.726562 0.14453,0.726562 0,0 0,0 4.16797,-3.589843 4.16406,-3.585938 12.5,-10.761719 16.66406,-14.347657 4.16797,-3.589843 4.16797,-3.589843 4.16797,-3.589843 0,0 0,0 0,-5.066407 0,-5.066406 0,-15.203125 0,-20.269531 0,-5.070312 0,-5.070312 0,-5.070312 0,0 0,0 -3.89453,-2.863282 C 25.73969,29.294375 17.95062,23.567812 14.06,20.704531 10.16547,17.84125 10.16547,17.84125 10.16547,17.84125 c 0,0 0,0 0.54687,1.253906 0.54688,1.253906 1.64063,3.765625 2.28516,6.195313"
style="fill:#dedede;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4623"
d="M 59.14594,12.313906 11.17328,17.044375 34.82562,52.274844"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4625"
d="M 59.53266,88.763125 34.63031,52.274844 9.43891,87.798281"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4627"
d="m 15.17328,82.075625 1.89453,1.390625 -5.36719,3.351562"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4629"
d="m 15.17328,82.075625 1.89453,1.390625 -5.36718,3.351563 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4631"
d="m 56.23969,81.630312 1.94922,-1.316406 1.34375,6.183594"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4633"
d="m 56.23969,81.630313 1.94922,-1.316407 1.34375,6.183594 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4635"
d="m 53.85297,17.817812 -2,-1.230468 5.08594,-3.769532"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4637"
d="m 53.85297,17.817813 -2,-1.230469 5.08594,-3.769531 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4639"
d="m 14.45062,24.06 -1.96093,1.292969 -1.27735,-6.195313"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4641"
d="m 14.45063,24.06 -1.96094,1.292969 -1.27735,-6.195313 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4643"
d="M 31.32172,45.114688 33.28266,43.817812 34.56,50.017031"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4645"
d="m 31.32172,45.114688 1.96094,-1.296875 1.27734,6.199218 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4647"
d="m 39.66156,46.27875 2.01563,1.210938 -5.03907,3.828124"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4649"
d="m 39.66156,46.27875 2.01563,1.210938 -5.03906,3.828125 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4651"
d="m 29.07562,57.77875 -1.85937,-1.433594 5.44922,-3.21875"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4653"
d="m 29.07563,57.77875 -1.85938,-1.433594 5.44922,-3.21875 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4655"
d="M 38.03656,59.552188 36.08734,60.868594 34.7475,54.685"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4657"
d="M 38.03656,59.552188 36.08734,60.868594 34.7475,54.685 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4659"
d="m 35.59516,51.501406 24.95312,36.441406 -2.02734,1.542969 -24.95313,-36.4375"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4661"
d="m 35.59516,51.501406 24.95312,36.441407 -2.02734,1.542968 -24.95313,-36.4375 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4663"
d="m 35.64203,52.950625 24.375,-40.347656 -2.07422,-1.496094 -24.375,40.492187"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4665"
d="m 35.64203,52.950625 24.375,-40.347656 -2.07422,-1.496094 -24.375,40.492188 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4667"
d="M 35.73969,51.743594 12.23578,16.224062 10.20844,17.6225 33.66547,53.192812"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4669"
d="M 35.73969,51.743594 12.23578,16.224063 10.20844,17.6225 33.66547,53.192813 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4671"
d="M 10.45062,88.618594 35.59516,53.048281 33.56781,51.501406 8.52094,87.071719"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4673"
d="M 10.45063,88.618594 35.59516,53.048281 33.56781,51.501406 8.52094,87.071719 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4675"
d="m 58.92328,9.759219 c -1.22656,0 -2.21875,0.992187 -2.21875,2.21875 0,1.226562 0.99219,2.21875 2.21875,2.21875 1.22656,0 2.21875,-0.992188 2.21875,-2.21875 0,-1.226563 -0.99219,-2.21875 -2.21875,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4677"
d="m 11.23969,14.77875 c -1.22656,0 -2.21875,0.992188 -2.21875,2.21875 0,1.226563 0.99219,2.21875 2.21875,2.21875 1.22656,0 2.22265,-0.992187 2.22265,-2.21875 0,-1.226562 -0.99609,-2.21875 -2.22265,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4679"
d="m 9.50141,85.626406 c -1.22657,0 -2.21875,0.996094 -2.21875,2.222657 0,1.222656 0.99218,2.218749 2.21875,2.218749 1.22656,0 2.22265,-0.996093 2.22265,-2.218749 0,-1.226563 -0.99609,-2.222657 -2.22265,-2.222657"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4681"
d="m 59.50531,86.4975 c -1.23047,0 -2.22265,0.992188 -2.22265,2.21875 0,1.226562 0.99218,2.21875 2.22265,2.21875 1.22266,0 2.21875,-0.992188 2.21875,-2.21875 0,-1.226562 -0.99609,-2.21875 -2.21875,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4683"
d="m 34.56391,50.106875 c -1.22657,0 -2.21875,0.992188 -2.21875,2.21875 0,1.226563 0.99218,2.21875 2.21875,2.21875 1.22656,0 2.22265,-0.992187 2.22265,-2.21875 0,-1.226562 -0.99609,-2.21875 -2.22265,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<g
id="g4685"
style="fill:#000000;fill-opacity:1"
transform="translate(-201.22125,-0.53375)">
<use
height="103"
width="385"
id="use4687"
y="66.801201"
x="218.446"
xlink:href="#glyph0-1" />
</g>
<g
id="g4689"
style="fill:#000000;fill-opacity:1"
transform="translate(-201.22125,-0.53375)">
<use
height="103"
width="385"
id="use4691"
y="39.2915"
x="249.23759"
xlink:href="#glyph0-0" />
</g>
<path
inkscape:connector-curvature="0"
id="path4693"
d="m 172.59906,79.438906 c -0.43359,-2.976562 -0.27344,-6.417968 0.38672,-8.816406 0.66016,-2.394531 1.81641,-3.746094 2.39844,-6.191406 0.57812,-2.445313 0.57812,-5.984375 -0.27735,-9.074219 -0.85156,-3.089844 -2.55468,-5.726563 -3.58593,-8.542969 -1.02735,-2.816406 -1.38282,-5.808594 -0.66016,-8.652344 0.72656,-2.847656 2.52734,-5.550781 3.82813,-8.304687 1.30468,-2.75 2.10937,-5.546875 2.125,-8.394531 0.0156,-2.847656 -0.75782,-5.746094 -1.14063,-7.191406 -0.38672,-1.449219 -0.38672,-1.449219 -0.38672,-1.449219 0,0 0,0 -4.08594,3.699219 -4.08593,3.699218 -12.26171,11.101562 -16.34765,14.800781 -4.08594,3.699219 -4.08594,3.699219 -4.08594,3.699219 0,0 0,0 0,5.070312 0,5.066406 0,15.203125 0,20.269531 0,5.066407 0,5.066407 0,5.066407 0,0 0,0 4.05469,3.667968 4.05469,3.667969 12.16406,11.003906 16.21875,14.671875 4.05078,3.667969 4.05078,3.667969 4.05078,3.667969 0,0 0,0 -0.51172,-1.253906 -0.51562,-1.253906 -1.54687,-3.765625 -1.98047,-6.742188"
style="fill:#dedede;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4695"
d="m 128.02094,25.290469 c 0.64453,2.429687 0.83593,4.777343 0.22656,7.738281 -0.61328,2.960938 -2.02734,6.53125 -2.83203,9.585938 -0.80469,3.058593 -1,5.601562 -0.40235,7.980468 0.59375,2.382813 1.97657,4.601563 2.70313,7.449219 0.72266,2.847656 0.78516,6.320313 0,9.234375 -0.78906,2.910156 -2.42969,5.261719 -3.41016,7.722656 -0.98437,2.460938 -1.30468,5.035156 -1.32031,7.046875 -0.0156,2.007813 0.27344,3.457031 0.41797,4.179688 0.14453,0.726562 0.14453,0.726562 0.14453,0.726562 0,0 0,0 4.16797,-3.589843 4.16406,-3.585938 12.5,-10.761719 16.66406,-14.347657 4.16797,-3.589843 4.16797,-3.589843 4.16797,-3.589843 0,0 0,0 0,-5.066407 0,-5.066406 0,-15.203125 0,-20.269531 0,-5.070312 0,-5.070312 0,-5.070312 0,0 0,0 -3.89453,-2.863282 -3.89063,-2.863281 -11.67969,-8.589844 -15.57031,-11.453125 -3.89453,-2.863281 -3.89453,-2.863281 -3.89453,-2.863281 0,0 0,0 0.54687,1.253906 0.54688,1.253906 1.64063,3.765625 2.28516,6.195313"
style="fill:#dedede;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4697"
d="m 148.39203,41.602969 -2.35156,0 2.35547,-5.875"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4699"
d="m 148.39203,41.602969 -2.35156,0 2.35547,-5.875 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4701"
d="m 150.72406,58.458438 2.35156,0 -2.35156,5.875"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4703"
d="m 150.72406,58.458438 2.35157,0 -2.35157,5.875 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4705"
d="m 148.40375,66.731875 2.31641,0 0,-32.867187 -2.31641,0 z m 0,0"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4707"
d="m 167.38812,16.333438 -1.57031,-1.75 5.94531,-2.171876"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4709"
d="m 167.38813,16.333438 -1.57032,-1.75 5.94532,-2.171875 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4711"
d="m 143.84516,28.540469 1.40234,-1.886719 3.31641,5.390625"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4713"
d="m 143.84516,28.540469 1.40234,-1.886719 3.31641,5.390625 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4715"
d="m 156.14984,30.06 1.57032,1.75 -5.94532,2.175781"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4717"
d="m 156.14984,30.06 1.57032,1.75 -5.94532,2.175781 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4719"
d="m 131.67328,22.630312 -1.40234,1.886719 -3.31641,-5.390625"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4721"
d="m 131.67328,22.630313 -1.40234,1.886718 -3.31641,-5.390625 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4723"
d="M 124.9975,17.696719 149.65766,35.7475"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4725"
d="M 149.80219,35.845156 175.38031,12.724063"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4727"
d="m 149.65766,32.704531 23.16797,-21.28125"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4729"
d="M 127.36078,16.489688 149.56,32.704531"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<g
id="g4731"
style="fill:#000000;fill-opacity:1"
transform="translate(-201.22125,-0.53375)">
<use
height="103"
width="385"
id="use4733"
y="50.102299"
x="344.12201"
xlink:href="#glyph0-0" />
</g>
<path
inkscape:connector-curvature="0"
id="path4735"
d="m 154.84125,72.345156 -1.57813,1.742188 -2.77343,-5.6875"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4737"
d="m 154.84125,72.345156 -1.57812,1.742188 -2.77344,-5.6875 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4739"
d="m 131.21234,83.782656 1.53125,1.785156 -5.99218,2.042969"
style="fill:#c2c2c2;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4741"
d="m 131.21234,83.782656 1.53125,1.785157 -5.99218,2.042968 z m 0,0"
style="fill:none;stroke:#c2c2c2;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4743"
d="m 143.05219,69.993594 -1.53125,-1.78125 5.98828,-2.046875"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4745"
d="m 143.05219,69.993594 -1.53125,-1.78125 5.98828,-2.046875 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4747"
d="m 169.71234,82.638125 1.57813,-1.738281 2.77344,5.6875"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
id="path4749"
d="m 169.71234,82.638125 1.57813,-1.738281 2.77344,5.6875 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4751"
d="m 123.16156,87.243594 26.44922,-22.875"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4753"
d="m 149.61078,64.368594 25.76953,23.355469"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4755"
d="M 125.81391,88.4975 149.61078,67.599063"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4757"
d="m 149.61078,67.599063 24.41797,22.347656"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4759"
d="m 149.6225,31.767031 c -1.22656,0 -2.21875,0.992188 -2.21875,2.21875 0,1.226563 0.99219,2.21875 2.21875,2.21875 1.22656,0 2.22266,-0.992187 2.22266,-2.21875 0,-1.226562 -0.9961,-2.21875 -2.22266,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4761"
d="m 173.94672,9.759219 c -1.22656,0 -2.21875,0.992187 -2.21875,2.21875 0,1.226562 0.99219,2.21875 2.21875,2.21875 1.22656,0 2.22266,-0.992188 2.22266,-2.21875 0,-1.226563 -0.9961,-2.21875 -2.22266,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4763"
d="m 126.26313,14.77875 c -1.22657,0 -2.21875,0.992188 -2.21875,2.21875 0,1.226563 0.99218,2.21875 2.21875,2.21875 1.22656,0 2.21875,-0.992187 2.21875,-2.21875 0,-1.226562 -0.99219,-2.21875 -2.21875,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4765"
d="m 124.52484,85.626406 c -1.22265,0 -2.21875,0.996094 -2.21875,2.222657 0,1.222656 0.9961,2.218749 2.21875,2.218749 1.22657,0 2.22266,-0.996093 2.22266,-2.218749 0,-1.226563 -0.99609,-2.222657 -2.22266,-2.222657"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4767"
d="m 174.52484,86.4975 c -1.22265,0 -2.21875,0.992188 -2.21875,2.21875 0,1.226562 0.9961,2.21875 2.21875,2.21875 1.22657,0 2.22266,-0.992188 2.22266,-2.21875 0,-1.226562 -0.99609,-2.21875 -2.22266,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4769"
d="m 149.6225,64.005313 c -1.22656,0 -2.21875,0.996093 -2.21875,2.21875 0,1.226562 0.99219,2.222656 2.21875,2.222656 1.22656,0 2.22266,-0.996094 2.22266,-2.222656 0,-1.222657 -0.9961,-2.21875 -2.22266,-2.21875"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4771"
d="m 0.06,100.63813 183.58984,0 0,-100.57813 L 0.06,0.06 z m 0,0"
style="fill:none;stroke:#000000;stroke-width:0.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 51 KiB

View File

@ -33,7 +33,8 @@ is taken from Boost.
Some free functions part of the standard interface of \ccc{tuple} are also
brought in namespace \ccc{CGAL::cpp0x} with using declarations, these are \ccc{make_tuple},
\ccc{get}, \ccc{tie}.
\ccc{get}, \ccc{tie}. Like in C++0x, the \ccc{get} function template is
specialized so that it can take \ccc{std::pair} as argument.
Two standard helper classes are also provided for convenience (\ccc{tuple_size} and \ccc{tuple_element}).
\end{ccRefClass}

View File

@ -27,12 +27,15 @@
#ifndef CGAL_CFG_NO_CPP0X_TUPLE
# include <tuple>
#elif !defined CGAL_CFG_NO_TR1_TUPLE
# include <tr1/tuple>
#else
# include <boost/tuple/tuple.hpp>
# include <boost/tuple/tuple_comparison.hpp>
#endif
#ifndef CGAL_CFG_NO_TR1_TUPLE
# include <tr1/tuple>
# include <tr1/utility>
#endif
#include <boost/tuple/tuple.hpp>
#include <boost/tuple/tuple_comparison.hpp>
#include <utility>
namespace CGAL {
@ -68,6 +71,47 @@ struct tuple_element: public boost::tuples::element<N,T>{};
#endif
#if defined(CGAL_CFG_NO_CPP0X_TUPLE) && defined(CGAL_CFG_NO_TR1_TUPLE)
// If not TR1 or C++11 tuple, we need to add get<N>(std::pair).
////////////////////////////////////////////////////////////
// //
// Allow CGAL::cpp0x::get<N>(std::pair), if N==0 or N==1. //
// //
// That is already in TR1 and C++11, but not in Boost. //
// //
////////////////////////////////////////////////////////////
template <std::size_t N, typename T1, typename T2>
struct pair_get;
template <typename T1, typename T2>
struct pair_get<0, T1, T2> {
static T1& get(std::pair<T1, T2>& pair) { return pair.first; }
static const T1& get(const std::pair<T1, T2>& pair) { return pair.first; }
}; // end specialization struct pair_get<0, T2, T2>
template <typename T1, typename T2>
struct pair_get<1, T1, T2> {
static T2& get(std::pair<T1, T2>& pair) { return pair.second; }
static const T2& get(const std::pair<T1, T2>& pair) { return pair.second; }
}; // end specialization struct pair_get<0, T2, T2>
template <std::size_t N, typename T1, typename T2>
inline typename boost::tuples::element<N, boost::tuple<T1, T2> >::type&
get(std::pair<T1, T2>& pair) {
return pair_get<N, T1, T2>::get(pair);
}
template <std::size_t N, typename T1, typename T2>
inline const typename boost::tuples::element<N, boost::tuple<T1, T2> >::type&
get(const std::pair<T1, T2>& pair) {
return pair_get<N, T1, T2>::get(pair);
}
#endif // end if not C++11 tuple
} // cpp0x
#ifndef CGAL_CFG_NO_CPP0X_VARIADIC_TEMPLATES

View File

@ -2,9 +2,13 @@
#include <CGAL/assertions.h>
#include <CGAL/is_streamable.h>
#include <utility> // std::pair
#include <boost/tuple/tuple.hpp>
#include <boost/tuple/tuple_io.hpp>
struct A {};
struct B {};
struct C {};
struct D {};
using std::ostream;
using std::istream;
@ -12,6 +16,9 @@ using std::istream;
ostream& operator<<(ostream& os, const B&) { return os; }
istream& operator>>(istream& is, const B&) { return is; }
ostream& operator<<(ostream& os, const C&) { return os; }
istream& operator>>(istream& is, const D&) { return is; }
int main() {
typedef std::vector<int>::const_iterator vector_it;
typedef int* int_p;
@ -19,7 +26,10 @@ int main() {
CGAL_static_assertion(!is_streamable<A>::value);
CGAL_static_assertion(is_streamable<B>::value);
CGAL_static_assertion(!is_streamable<C>::value);
CGAL_static_assertion(!is_streamable<D>::value);
CGAL_static_assertion(is_streamable<int>::value);
CGAL_static_assertion(is_streamable<double>::value);
CGAL_static_assertion(! (is_streamable<std::pair<int, int> >::value) );
CGAL_static_assertion( (is_streamable<boost::tuple<int, int> >::value) );
}

View File

@ -8110,13 +8110,31 @@ void test_tuple(){
T1 t1=CGAL::cpp0x::make_tuple(1,2);
T1 t1_2=CGAL::cpp0x::make_tuple(1,2);
CGAL_assertion(t1==t1_2); // test the equality operator
// T2 t2 = T2();
// CGAL_assertion( t2 == T2() );
//
// Do not test equality between default initialized tuples, because
// GNU/g++ version 4.1.2 does not default-initialize correctly
// std::tr1::tuple.
// Test CGAL::cpp0x::tie
int i1=-1,i2=-1;
CGAL::cpp0x::tie(i1,i2)=t1;
CGAL_assertion( CGAL::cpp0x::get<0>(t1)==i1 );
CGAL_assertion( CGAL::cpp0x::get<1>(t1)==i2 );
CGAL_assertion(t1==t1_2); // test the equality operator
T2 t2 = T2();
CGAL_assertion( t2 == T2() );
// Test CGAL::cpp0x::get for a pair
double d = 1;
std::pair<int, double *> pair(-3, &d);
const std::pair<int, double *> const_pair(2, &d);
assert(CGAL::cpp0x::get<0>(pair) == -3);
assert(CGAL::cpp0x::get<1>(pair) == &d);
assert(CGAL::cpp0x::get<0>(const_pair) == 2);
assert(CGAL::cpp0x::get<1>(const_pair) == &d);
}
void test_prev_next()

View File

@ -135,6 +135,7 @@ boost::shared_ptr< Straight_skeleton_2<K> >
inline
create_interior_straight_skeleton_2 ( Polygon const& aOutContour, K const& k )
{
CGAL_precondition(aOutContour.is_simple() || !"The input polygon is not simple.");
return create_interior_straight_skeleton_2(CGAL_SS_i::vertices_begin(aOutContour)
,CGAL_SS_i::vertices_end(aOutContour)
,k
@ -221,6 +222,7 @@ boost::shared_ptr< Straight_skeleton_2<K> >
inline
create_exterior_straight_skeleton_2 ( FT const& aMaxOffset, Polygon const& aPoly, K const& k )
{
CGAL_precondition(aPoly.is_simple() || !"The input polygon is not simple.");
return create_exterior_straight_skeleton_2(aMaxOffset
,CGAL_SS_i::vertices_begin(aPoly)
,CGAL_SS_i::vertices_end (aPoly)

View File

@ -1,61 +0,0 @@
// Copyright (c) 2009 GeometryFactory All rights reserved.
//
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 3 of the License,
// or (at your option) any later version.
//
// Licensees holding a valid commercial license may use this file in
// accordance with the commercial license agreement provided with the software.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
//
// $URL$
// $Id$
//
//
// Author(s) : Andreas Fabri
#ifndef CGAL_IO_FILE_HEADER_GOCAD_H
#define CGAL_IO_FILE_HEADER_GOCAD_H 1
#include <iostream>
#include <string>
namespace CGAL {
class File_header_gocad {
private:
std::string m_fname;
std::string m_color;
public:
explicit File_header_gocad(std::string fname, std::string color) : m_fname(fname), m_color(color) {}
std::string fname() const
{
return m_fname;
}
std::string color() const
{
return m_color;
}
};
// Write header.
inline std::ostream& operator<<( std::ostream& out, const File_header_gocad& h){
return out << "GOCAD TSurf 1\n"
"HEADER {\n"
"name:" << h.fname() << "\n"
"*solid*color:" << h.color() << "\n"
"}\n"
"TFACE\n";
}
} //namespace CGAL
#endif // CGAL_IO_FILE_HEADER_GOCAD_H

View File

@ -1,83 +0,0 @@
// Copyright (c) 1997
// Utrecht University (The Netherlands),
// ETH Zurich (Switzerland),
// INRIA Sophia-Antipolis (France),
// Max-Planck-Institute Saarbruecken (Germany),
// and Tel-Aviv University (Israel). All rights reserved.
//
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 3 of the License,
// or (at your option) any later version.
//
// Licensees holding a valid commercial license may use this file in
// accordance with the commercial license agreement provided with the software.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
//
// $URL$
// $Id$
//
//
// Author(s) : Lutz Kettner <kettner@mpi-sb.mpg.de>
#ifndef CGAL_IO_FILE_WRITER_GOCAD_H
#define CGAL_IO_FILE_WRITER_GOCAD_H 1
#include <CGAL/IO/binary_file_io.h>
#include <CGAL/IO/File_header_gocad.h>
#include <iostream>
#include <cstddef>
namespace CGAL {
class File_writer_gocad {
int m_vertex_index;
std::ostream* m_out;
File_header_gocad m_header;
public:
File_writer_gocad(std::string fname, std::string color) : m_vertex_index(0), m_header(fname, color) {}
File_writer_gocad( const File_header_gocad& h) : m_vertex_index(0), m_header( h) {}
std::ostream& out() { return *m_out; }
File_header_gocad& header() { return m_header; }
const File_header_gocad& header() const { return m_header; }
void write_header( std::ostream& o,
std::size_t vertices,
std::size_t halfedges,
std::size_t facets,
bool normals = false)
{
m_out = &o;
out() << header();
}
void write_footer()
{}
void write_vertex( const double& x, const double& y, const double& z) {
out() << "VRTX " << m_vertex_index++ << ' ' << x << ' ' << y << ' ' << z << '\n';
}
void write_facet_header() {
out() << '\n';
}
void write_facet_begin( std::size_t no) {
CGAL_assertion(no == 3);
out() << "TRGL " << ' ';
}
void write_facet_vertex_index( std::size_t index) {
out() << ' ' << index;
}
void write_facet_end() {
out() << '\n';
}
};
} //namespace CGAL
#endif // CGAL_IO_FILE_WRITER_GOCAD_H //
// EOF //

View File

@ -98,7 +98,12 @@ public:
m_nb_borders = -1;
m_genus = -1;
}
virtual ~Parameterization_mesh_feature_extractor() {}
virtual ~Parameterization_mesh_feature_extractor() {
for (typename Skeleton::iterator iter = m_skeleton.begin();
iter != m_skeleton.end(); ++iter)
delete *iter;
}
/// Get number of borders.
int get_nb_borders()

View File

@ -441,7 +441,7 @@ public:
int index = 0;
for (Vertex_iterator it=mesh_vertices_begin(); it!=mesh_vertices_end(); it++)
{
Point_3 position = get_vertex_position(it);
// Point_3 position = get_vertex_position(it);
/*#ifdef DEBUG_TRACE
fprintf(stderr, " %d=(%f,%f,%f)\n",
index,

View File

@ -2,7 +2,7 @@
\ccPkgHowToCiteCgal{cgal:asg-srps-12}
\ccPkgSummary{ This \cgal\ package implements a surface reconstruction method: Poisson Surface Reconstruction. It takes as input a set of points with oriented normals and computes an implicit function. The \cgal\ surface mesh generator can then be used to extract an iso-surface from this function. }
%
\ccPkgDependsOn{\ccThirdPartyEigen or \ccThirdPartyTaucs}
\ccPkgDependsOn{\ccThirdPartyEigen\ or \ccThirdPartyTaucs}
\ccPkgIntroducedInCGAL{3.5}
\ccPkgLicense{\ccLicenseGPL}
\ccPkgDemo{Surface Reconstruction}{surface_reconstruction_points_3.zip}

View File

@ -108,7 +108,7 @@ Creates a Poisson implicit function from the [first, beyond) range of points.
\ccCommentHeading{Template Parameters} \\
\ccc{InputIterator}: iterator over input points. \ccc{PointPMap}: is a model of \ccc{boost::ReadablePropertyMap} with a \ccc{value_type} = \ccc{Point_3}. It can be omitted if \ccc{InputIterator} \ccc{value_type} is convertible to \ccc{Point_3}. \ccc{NormalPMap}: is a model of \ccc{boost::ReadablePropertyMap} with a \ccc{value_type} = \ccc{Vector_3}.
\ccCommentHeading{Parameters} \\
\ccc{first}: iterator over the first input point. \ccc{beyond}: past-the-end iterator over the input points. \ccc{point_pmap}: property map to access the position of an input point. \ccc{normal_pmap}: property map to access the {\bf oriented} normal of an input point.
\ccc{first}: iterator over the first input point. \ccc{beyond}: past-the-end iterator over the input points. \ccc{point_pmap}: property map to access the position of an input point. \ccc{normal_pmap}: property map to access the oriented normal of an input point.
}
\ccGlue

View File

@ -55,35 +55,24 @@ if ( CGAL_FOUND )
find_package(Eigen3 3.0.91) #(requires 3.1.0-alpha1 or greater)
if (NOT EIGEN3_FOUND)
find_package(TAUCS)
if(TAUCS_FOUND)
include( ${TAUCS_USE_FILE} )
endif(TAUCS_FOUND)
else()
if (EIGEN3_FOUND)
include( ${EIGEN3_USE_FILE} )
endif()
find_package(TAUCS)
if(TAUCS_FOUND)
include( ${TAUCS_USE_FILE} )
endif(TAUCS_FOUND)
if (EIGEN3_FOUND OR TAUCS_FOUND)
# Executables that require Eigen 3 or TAUCS
create_single_source_cgal_program( "poisson_reconstruction_example.cpp" )
create_single_source_cgal_program( "poisson_reconstruction.cpp" )
else()
message(STATUS "NOTICE: Example poisson_reconstruction_example.cpp needs Eigen 3.1 (or greater) or the TAUCS library and will not be compiled.")
message(STATUS "NOTICE: The examples needs Eigen 3.1 (or greater) or the TAUCS library and will not be compiled.")
endif()
if (EIGEN3_FOUND)
# Link with BLAS, LAPACK and TAUCS (optional)
find_package(TAUCS)
endif()
if(TAUCS_FOUND)
include( ${TAUCS_USE_FILE} )
# Executables that require TAUCS
create_single_source_cgal_program( "poisson_reconstruction.cpp" )
else(TAUCS_FOUND)
message(STATUS "NOTICE: Some of the executables in this directory need the TAUCS library and will not be compiled.")
endif(TAUCS_FOUND)
else()
message(STATUS "NOTICE: This program requires the CGAL library, and will not be compiled.")

View File

@ -25,8 +25,9 @@
#include <CGAL/Point_with_normal_3.h>
#include <CGAL/IO/read_xyz_points.h>
#include <CGAL/compute_average_spacing.h>
#ifdef CGAL_TAUCS_ENABLED
#include <CGAL/Taucs_solver_traits.h>
//#include <CGAL/ARAP/mkl_solver_traits.h>
#endif
#include "compute_normal.h"
@ -92,7 +93,10 @@ int main(int argc, char * argv[])
std::cerr << "Options:\n";
std::cerr << " -sm_radius <float> Radius upper bound (default=100 * average spacing)\n";
std::cerr << " -sm_distance <float> Distance upper bound (default=0.25 * average spacing)\n";
// std::cerr << " -solver taucs|mkl Sparse linear solver (default=TAUCS)\n";
#if defined(CGAL_EIGEN3_ENABLED) && defined(CGAL_TAUCS_ENABLED)
std::cerr << " -solver eigen|taucs Sparse linear solver (default=eigen)\n";
#endif
return EXIT_FAILURE;
}
@ -100,7 +104,15 @@ int main(int argc, char * argv[])
FT sm_angle = 20.0; // Min triangle angle (degrees).
FT sm_radius = 100; // Max triangle size w.r.t. point set average spacing.
FT sm_distance = 0.25; // Approximation error w.r.t. point set average spacing.
std::string solver_name = "taucs"; // Sparse linear solver name.
#ifdef CGAL_EIGEN3_ENABLED
std::string solver_name = "eigen"; // Sparse linear solver name.
#else
#ifdef CGAL_TAUCS_ENABLED
std::string solver_name = "taucs"; // Sparse linear solver name.
#else
std::string solver_name = "no_solver_available";
#endif
#endif
// decode parameters
std::string input_filename = argv[1];
@ -217,6 +229,7 @@ int main(int argc, char * argv[])
points.begin(), points.end(),
CGAL::make_normal_of_point_with_normal_pmap(points.begin()));
#ifdef CGAL_TAUCS_ENABLED
if (solver_name == "taucs")
{
std::cerr << "Use TAUCS out-of-core Multifrontal Supernodal Cholesky Factorization\n";
@ -242,29 +255,32 @@ int main(int argc, char * argv[])
return EXIT_FAILURE;
}
}
/*
else if (solver_name == "mkl")
else
#endif
#ifdef CGAL_EIGEN3_ENABLED
{
std::cerr << "Use MKL Pardiso\n";
// Creates sparse linear solver: MKL Pardiso
//CGAL::MKL_symmetric_solver_traits<double> solver;
CGAL::MKL_symmetric_solver_traits<double> solver;
// Computes the Poisson indicator function f()
// at each vertex of the triangulation.
if ( ! function.compute_implicit_function(solver) )
if (solver_name == "eigen")
{
std::cerr << "Error: cannot compute implicit function" << std::endl;
std::cerr << "Use Eigen 3\n";
if ( ! function.compute_implicit_function() )
{
std::cerr << "Error: cannot compute implicit function" << std::endl;
return EXIT_FAILURE;
}
}
else
{
std::cerr << "Error: invalid solver " << solver_name << "\n";
return EXIT_FAILURE;
}
}
*/
else
#else
{
std::cerr << "Error: invalid solver " << solver_name << "\n";
return EXIT_FAILURE;
}
#endif
// Prints status
std::cerr << "Total implicit function (triangulation+refinement+solver): " << task_timer.time() << " seconds\n";

View File

@ -788,11 +788,11 @@ The class \ccc{Regular_triangulation_2<Traits, Tds>}
is designed to maintain the
regular triangulation of a set of $2d$ weighted points.
It derives from the class \ccc{Triangulation_2<Traits, Tds>}.
The functions \ccc{insert} and
The functions \ccHtmlNoLinksFrom{\ccc{insert}} and
\ccc{remove} are overwritten to handle weighted points
and maintain the regular
property.
In current version, function \ccc{move} is not
The function \ccHtmlNoLinksFrom{\ccc{move}} is not
overwritten and thus does not preserve the regular property.
The vertices of the regular triangulation
of a set of weighted points ${PW}$ correspond only to a subset
@ -968,7 +968,7 @@ overrides the insertion and removal of a point to take care of the
information about constrained edges. The class also allows inline
insertion of a new constraint, given by its two endpoints
or the removal of a constraint.
In current version, function \ccc{move} is not
In current version, function \ccHtmlNoLinksFrom{\ccc{move}} is not
overwritten and thus does not take care of the constraints.
\subsubsection{The Geometric Traits}
@ -1221,7 +1221,7 @@ classes.
The class \ccc{Triangulation_hierarchy_2<Tr>} inherits from the
triangulation type passed as template parameter \ccc{Tr}.
The \ccc{insert}, \ccc{move}, and \ccc{remove} member functions
The \ccHtmlNoLinksFrom{\ccc{insert}}, \ccHtmlNoLinksFrom{\ccc{move}}, and \ccc{remove} member functions
are overwritten to update the data structure at each operation.
The locate queries are also overwritten to take advantage of the data
structure for a fast processing.
@ -1382,7 +1382,7 @@ of the corresponding point given in the range.
\subsubsection{Using an Iterator Over Pairs}
Each point and its information are gathered into a pair. We provide
the \ccc{insert} function of the triangulation with a range of such pairs.
the \ccHtmlNoLinksFrom{\ccc{insert}} function of the triangulation with a range of such pairs.
\ccIncludeExampleCode{Triangulation_2/info_insert_with_pair_iterator_2.cpp}

View File

@ -102,7 +102,7 @@ is \ccc{Context}.}
\ccConstructor{Constrained_triangulation_plus_2(const
Constrained_triangulation_plus_2& ct);}{Copy constructor.}
\ccConstructor{Constrained_triangulation_plus_2(std::list<Constrained>& lc,
\ccConstructor{Constrained_triangulation_plus_2(std::list<Constraint>& lc,
const Geom_traits& t = Geom_traits())}
{Introduces and builds a constrained triangulation
from the list of constraints \ccc{lc}.}
@ -119,9 +119,9 @@ $\left[\right.$\ccc{first}, \ccc{last}$\left.\right)$.
is \ccc{Constraint}.
}
\ccFunction{void ~ctp();}
{Destructor. All vertices and faces are deleted.
The constraint hierarchy is deleted.}
%\ccFunction{void ~ctp();}
%{Destructor. All vertices and faces are deleted.
%The constraint hierarchy is deleted.}

View File

@ -135,6 +135,8 @@ _test_cls_hierarchy_2()
h.remove_constraint(v[3],v[4]);
// h.print();
for(int i=0; i <10; i++) { delete v[i];}
return;
}

View File

@ -47,12 +47,18 @@
namespace CGAL {
// Here is the declaration of a class template with three arguments, one
// having a default value. There is no definition of that class template.
template < class Gt,
class Tds_ = Default,
class Location_policy = Default >
class Delaunay_triangulation_3;
// There is a specialization Delaunay_triangulation_3<Gt, Tds, Fast_location>
// defined in <CGAL/internal/Delaunay_triangulation_hierarchy_3.h>.
// Here is the specialization Delaunay_triangulation_3<Gt, Tds>, with two
// arguments, that is if Location_policy being the default value 'Default'.
template < class Gt, class Tds_ >
class Delaunay_triangulation_3<Gt, Tds_>
: public Triangulation_3<Gt, Tds_>