Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • card10/firmware
  • annejan/firmware
  • astro/firmware
  • fpletz/firmware
  • gerd/firmware
  • fleur/firmware
  • swym/firmware
  • l/firmware
  • uberardy/firmware
  • wink/firmware
  • madonius/firmware
  • mot/firmware
  • filid/firmware
  • q3k/firmware
  • hauke/firmware
  • Woazboat/firmware
  • pink/firmware
  • mossmann/firmware
  • omniskop/firmware
  • zenox/firmware
  • trilader/firmware
  • Danukeru/firmware
  • shoragan/firmware
  • zlatko/firmware
  • sistason/firmware
  • datenwolf/firmware
  • bene/firmware
  • amedee/firmware
  • martinling/firmware
  • griffon/firmware
  • chris007/firmware
  • adisbladis/firmware
  • dbrgn/firmware
  • jelly/firmware
  • rnestler/firmware
  • mh/firmware
  • ln/firmware
  • penguineer/firmware
  • monkeydom/firmware
  • jens/firmware
  • jnaulty/firmware
  • jeffmakes/firmware
  • marekventur/firmware
  • pete/firmware
  • h2obrain/firmware
  • DooMMasteR/firmware
  • jackie/firmware
  • prof_r/firmware
  • Draradech/firmware
  • Kartoffel/firmware
  • hinerk/firmware
  • abbradar/firmware
  • JustTB/firmware
  • LuKaRo/firmware
  • iggy/firmware
  • ente/firmware
  • flgr/firmware
  • Lorphos/firmware
  • matejo/firmware
  • ceddral7/firmware
  • danb/firmware
  • joshi/firmware
  • melle/firmware
  • fitch/firmware
  • deurknop/firmware
  • sargon/firmware
  • markus/firmware
  • kloenk/firmware
  • lucaswerkmeister/firmware
  • derf/firmware
  • meh/firmware
  • dx/card10-firmware
  • torben/firmware
  • yuvadm/firmware
  • AndyBS/firmware
  • klausdieter1/firmware
  • katzenparadoxon/firmware
  • xiretza/firmware
  • ole/firmware
  • techy/firmware
  • thor77/firmware
  • TilCreator/firmware
  • fuchsi/firmware
  • dos/firmware
  • yrlf/firmware
  • PetePriority/firmware
  • SuperVirus/firmware
  • sur5r/firmware
  • tazz/firmware
  • Alienmaster/firmware
  • flo_h/firmware
  • baldo/firmware
  • mmu_man/firmware
  • Foaly/firmware
  • sodoku/firmware
  • Guinness/firmware
  • ssp/firmware
  • led02/firmware
  • Stormwind/firmware
  • arist/firmware
  • coon/firmware
  • mdik/firmware
  • pippin/firmware
  • royrobotiks/firmware
  • zigot83/firmware
  • mo_k/firmware
106 results
Show changes
Showing
with 1993 additions and 2054 deletions
File added
Documentation/static/ble-low-effort-flow.png

13 KiB

File added
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="689pt" height="2014pt" viewBox="0 0 689 2014" version="1.1">
<defs>
<g>
<symbol overflow="visible" id="glyph0-0">
<path style="stroke:none;" d="M 0.796875 2.84375 L 0.796875 -11.34375 L 8.84375 -11.34375 L 8.84375 2.84375 Z M 1.703125 1.953125 L 7.953125 1.953125 L 7.953125 -10.4375 L 1.703125 -10.4375 Z M 1.703125 1.953125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-1">
<path style="stroke:none;" d="M 6.171875 -7.1875 C 6.648438 -7.1875 7.007812 -7.289062 7.25 -7.5 C 7.5 -7.707031 7.625 -8.019531 7.625 -8.4375 C 7.625 -8.832031 7.5 -9.132812 7.25 -9.34375 C 7.007812 -9.5625 6.648438 -9.671875 6.171875 -9.671875 L 4.5 -9.671875 L 4.5 -7.1875 Z M 6.28125 -2.0625 C 6.882812 -2.0625 7.335938 -2.1875 7.640625 -2.4375 C 7.953125 -2.695312 8.109375 -3.085938 8.109375 -3.609375 C 8.109375 -4.117188 7.957031 -4.5 7.65625 -4.75 C 7.351562 -5 6.894531 -5.125 6.28125 -5.125 L 4.5 -5.125 L 4.5 -2.0625 Z M 9.09375 -6.28125 C 9.738281 -6.09375 10.238281 -5.742188 10.59375 -5.234375 C 10.957031 -4.722656 11.140625 -4.097656 11.140625 -3.359375 C 11.140625 -2.234375 10.753906 -1.390625 9.984375 -0.828125 C 9.222656 -0.273438 8.0625 0 6.5 0 L 1.484375 0 L 1.484375 -11.734375 L 6.015625 -11.734375 C 7.648438 -11.734375 8.832031 -11.484375 9.5625 -10.984375 C 10.289062 -10.492188 10.65625 -9.707031 10.65625 -8.625 C 10.65625 -8.050781 10.519531 -7.5625 10.25 -7.15625 C 9.988281 -6.757812 9.601562 -6.46875 9.09375 -6.28125 Z M 9.09375 -6.28125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-2">
<path style="stroke:none;" d="M 5.546875 -7 C 4.921875 -7 4.441406 -6.773438 4.109375 -6.328125 C 3.785156 -5.878906 3.625 -5.234375 3.625 -4.390625 C 3.625 -3.546875 3.785156 -2.898438 4.109375 -2.453125 C 4.441406 -2.003906 4.921875 -1.78125 5.546875 -1.78125 C 6.148438 -1.78125 6.613281 -2.003906 6.9375 -2.453125 C 7.269531 -2.898438 7.4375 -3.546875 7.4375 -4.390625 C 7.4375 -5.234375 7.269531 -5.878906 6.9375 -6.328125 C 6.613281 -6.773438 6.148438 -7 5.546875 -7 Z M 5.546875 -9.015625 C 7.054688 -9.015625 8.234375 -8.601562 9.078125 -7.78125 C 9.929688 -6.96875 10.359375 -5.835938 10.359375 -4.390625 C 10.359375 -2.941406 9.929688 -1.804688 9.078125 -0.984375 C 8.234375 -0.171875 7.054688 0.234375 5.546875 0.234375 C 4.023438 0.234375 2.832031 -0.171875 1.96875 -0.984375 C 1.113281 -1.804688 0.6875 -2.941406 0.6875 -4.390625 C 0.6875 -5.835938 1.113281 -6.96875 1.96875 -7.78125 C 2.832031 -8.601562 4.023438 -9.015625 5.546875 -9.015625 Z M 5.546875 -9.015625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-3">
<path style="stroke:none;" d="M 4.421875 -11.296875 L 4.421875 -8.796875 L 7.328125 -8.796875 L 7.328125 -6.796875 L 4.421875 -6.796875 L 4.421875 -3.0625 C 4.421875 -2.644531 4.5 -2.363281 4.65625 -2.21875 C 4.820312 -2.082031 5.148438 -2.015625 5.640625 -2.015625 L 7.078125 -2.015625 L 7.078125 0 L 4.671875 0 C 3.554688 0 2.765625 -0.226562 2.296875 -0.6875 C 1.835938 -1.15625 1.609375 -1.945312 1.609375 -3.0625 L 1.609375 -6.796875 L 0.21875 -6.796875 L 0.21875 -8.796875 L 1.609375 -8.796875 L 1.609375 -11.296875 Z M 4.421875 -11.296875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 1.359375 -12.234375 L 4.171875 -12.234375 L 4.171875 0 L 1.359375 0 Z M 1.359375 -12.234375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-5">
<path style="stroke:none;" d="M 5.296875 -3.953125 C 4.710938 -3.953125 4.269531 -3.851562 3.96875 -3.65625 C 3.675781 -3.457031 3.53125 -3.164062 3.53125 -2.78125 C 3.53125 -2.425781 3.648438 -2.144531 3.890625 -1.9375 C 4.128906 -1.738281 4.457031 -1.640625 4.875 -1.640625 C 5.40625 -1.640625 5.851562 -1.828125 6.21875 -2.203125 C 6.582031 -2.585938 6.765625 -3.066406 6.765625 -3.640625 L 6.765625 -3.953125 Z M 9.59375 -5.015625 L 9.59375 0 L 6.765625 0 L 6.765625 -1.296875 C 6.378906 -0.765625 5.953125 -0.375 5.484375 -0.125 C 5.015625 0.113281 4.441406 0.234375 3.765625 0.234375 C 2.847656 0.234375 2.101562 -0.03125 1.53125 -0.5625 C 0.96875 -1.101562 0.6875 -1.796875 0.6875 -2.640625 C 0.6875 -3.671875 1.039062 -4.425781 1.75 -4.90625 C 2.46875 -5.394531 3.582031 -5.640625 5.09375 -5.640625 L 6.765625 -5.640625 L 6.765625 -5.859375 C 6.765625 -6.296875 6.585938 -6.617188 6.234375 -6.828125 C 5.878906 -7.035156 5.332031 -7.140625 4.59375 -7.140625 C 3.988281 -7.140625 3.425781 -7.078125 2.90625 -6.953125 C 2.382812 -6.835938 1.90625 -6.660156 1.46875 -6.421875 L 1.46875 -8.5625 C 2.0625 -8.707031 2.660156 -8.816406 3.265625 -8.890625 C 3.878906 -8.972656 4.488281 -9.015625 5.09375 -9.015625 C 6.6875 -9.015625 7.832031 -8.703125 8.53125 -8.078125 C 9.238281 -7.453125 9.59375 -6.429688 9.59375 -5.015625 Z M 9.59375 -5.015625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-6">
<path style="stroke:none;" d="M 7.34375 -7.515625 L 7.34375 -12.234375 L 10.171875 -12.234375 L 10.171875 0 L 7.34375 0 L 7.34375 -1.265625 C 6.957031 -0.753906 6.53125 -0.375 6.0625 -0.125 C 5.59375 0.113281 5.050781 0.234375 4.4375 0.234375 C 3.351562 0.234375 2.460938 -0.195312 1.765625 -1.0625 C 1.066406 -1.925781 0.71875 -3.035156 0.71875 -4.390625 C 0.71875 -5.742188 1.066406 -6.851562 1.765625 -7.71875 C 2.460938 -8.582031 3.351562 -9.015625 4.4375 -9.015625 C 5.039062 -9.015625 5.578125 -8.890625 6.046875 -8.640625 C 6.523438 -8.398438 6.957031 -8.023438 7.34375 -7.515625 Z M 5.484375 -1.8125 C 6.085938 -1.8125 6.546875 -2.03125 6.859375 -2.46875 C 7.179688 -2.914062 7.34375 -3.554688 7.34375 -4.390625 C 7.34375 -5.234375 7.179688 -5.875 6.859375 -6.3125 C 6.546875 -6.75 6.085938 -6.96875 5.484375 -6.96875 C 4.890625 -6.96875 4.429688 -6.75 4.109375 -6.3125 C 3.796875 -5.875 3.640625 -5.234375 3.640625 -4.390625 C 3.640625 -3.554688 3.796875 -2.914062 4.109375 -2.46875 C 4.429688 -2.03125 4.890625 -1.8125 5.484375 -1.8125 Z M 5.484375 -1.8125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-7">
<path style="stroke:none;" d="M 10.140625 -4.421875 L 10.140625 -3.625 L 3.5625 -3.625 C 3.625 -2.957031 3.859375 -2.457031 4.265625 -2.125 C 4.679688 -1.800781 5.253906 -1.640625 5.984375 -1.640625 C 6.578125 -1.640625 7.179688 -1.726562 7.796875 -1.90625 C 8.421875 -2.082031 9.0625 -2.347656 9.71875 -2.703125 L 9.71875 -0.53125 C 9.050781 -0.28125 8.382812 -0.09375 7.71875 0.03125 C 7.0625 0.164062 6.398438 0.234375 5.734375 0.234375 C 4.140625 0.234375 2.898438 -0.171875 2.015625 -0.984375 C 1.128906 -1.796875 0.6875 -2.929688 0.6875 -4.390625 C 0.6875 -5.828125 1.117188 -6.957031 1.984375 -7.78125 C 2.859375 -8.601562 4.054688 -9.015625 5.578125 -9.015625 C 6.953125 -9.015625 8.054688 -8.597656 8.890625 -7.765625 C 9.722656 -6.929688 10.140625 -5.816406 10.140625 -4.421875 Z M 7.25 -5.359375 C 7.25 -5.890625 7.09375 -6.316406 6.78125 -6.640625 C 6.46875 -6.972656 6.0625 -7.140625 5.5625 -7.140625 C 5.007812 -7.140625 4.5625 -6.984375 4.21875 -6.671875 C 3.882812 -6.367188 3.675781 -5.929688 3.59375 -5.359375 Z M 7.25 -5.359375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-8">
<path style="stroke:none;" d="M 7.890625 -6.40625 C 7.640625 -6.519531 7.394531 -6.601562 7.15625 -6.65625 C 6.914062 -6.71875 6.671875 -6.75 6.421875 -6.75 C 5.691406 -6.75 5.132812 -6.515625 4.75 -6.046875 C 4.363281 -5.578125 4.171875 -4.914062 4.171875 -4.0625 L 4.171875 0 L 1.359375 0 L 1.359375 -8.796875 L 4.171875 -8.796875 L 4.171875 -7.359375 C 4.523438 -7.929688 4.9375 -8.347656 5.40625 -8.609375 C 5.875 -8.878906 6.4375 -9.015625 7.09375 -9.015625 C 7.1875 -9.015625 7.285156 -9.007812 7.390625 -9 C 7.503906 -8.988281 7.664062 -8.972656 7.875 -8.953125 Z M 7.890625 -6.40625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-9">
<path style="stroke:none;" d="M 1.484375 -11.734375 L 5.328125 -11.734375 L 8 -5.453125 L 10.6875 -11.734375 L 14.53125 -11.734375 L 14.53125 0 L 11.671875 0 L 11.671875 -8.578125 L 8.96875 -2.25 L 7.046875 -2.25 L 4.34375 -8.578125 L 4.34375 0 L 1.484375 0 Z M 1.484375 -11.734375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-10">
<path style="stroke:none;" d="M 10.203125 -5.359375 L 10.203125 0 L 7.375 0 L 7.375 -4.109375 C 7.375 -4.859375 7.351562 -5.378906 7.3125 -5.671875 C 7.28125 -5.960938 7.222656 -6.175781 7.140625 -6.3125 C 7.035156 -6.488281 6.882812 -6.628906 6.6875 -6.734375 C 6.5 -6.835938 6.285156 -6.890625 6.046875 -6.890625 C 5.460938 -6.890625 5.003906 -6.660156 4.671875 -6.203125 C 4.335938 -5.753906 4.171875 -5.128906 4.171875 -4.328125 L 4.171875 0 L 1.359375 0 L 1.359375 -8.796875 L 4.171875 -8.796875 L 4.171875 -7.515625 C 4.585938 -8.023438 5.035156 -8.398438 5.515625 -8.640625 C 5.992188 -8.890625 6.519531 -9.015625 7.09375 -9.015625 C 8.113281 -9.015625 8.882812 -8.703125 9.40625 -8.078125 C 9.9375 -7.453125 10.203125 -6.546875 10.203125 -5.359375 Z M 10.203125 -5.359375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-11">
<path style="stroke:none;" d="M 1.25 -3.421875 L 1.25 -8.796875 L 4.09375 -8.796875 L 4.09375 -7.921875 C 4.09375 -7.441406 4.085938 -6.84375 4.078125 -6.125 C 4.078125 -5.40625 4.078125 -4.925781 4.078125 -4.6875 C 4.078125 -3.976562 4.09375 -3.46875 4.125 -3.15625 C 4.164062 -2.84375 4.226562 -2.613281 4.3125 -2.46875 C 4.425781 -2.289062 4.578125 -2.148438 4.765625 -2.046875 C 4.953125 -1.953125 5.164062 -1.90625 5.40625 -1.90625 C 5.988281 -1.90625 6.445312 -2.128906 6.78125 -2.578125 C 7.125 -3.023438 7.296875 -3.648438 7.296875 -4.453125 L 7.296875 -8.796875 L 10.109375 -8.796875 L 10.109375 0 L 7.296875 0 L 7.296875 -1.265625 C 6.867188 -0.753906 6.414062 -0.375 5.9375 -0.125 C 5.46875 0.113281 4.945312 0.234375 4.375 0.234375 C 3.363281 0.234375 2.585938 -0.078125 2.046875 -0.703125 C 1.515625 -1.328125 1.25 -2.234375 1.25 -3.421875 Z M 1.25 -3.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-0">
<path style="stroke:none;" d="M 0.609375 2.15625 L 0.609375 -8.578125 L 6.6875 -8.578125 L 6.6875 2.15625 Z M 1.28125 1.46875 L 6 1.46875 L 6 -7.890625 L 1.28125 -7.890625 Z M 1.28125 1.46875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-1">
<path style="stroke:none;" d="M 1.109375 -8.859375 L 4.90625 -8.859375 C 6.03125 -8.859375 6.894531 -8.609375 7.5 -8.109375 C 8.101562 -7.609375 8.40625 -6.894531 8.40625 -5.96875 C 8.40625 -5.039062 8.101562 -4.328125 7.5 -3.828125 C 6.894531 -3.328125 6.03125 -3.078125 4.90625 -3.078125 L 3.40625 -3.078125 L 3.40625 0 L 1.109375 0 Z M 3.40625 -7.203125 L 3.40625 -4.734375 L 4.671875 -4.734375 C 5.109375 -4.734375 5.445312 -4.835938 5.6875 -5.046875 C 5.925781 -5.265625 6.046875 -5.570312 6.046875 -5.96875 C 6.046875 -6.363281 5.925781 -6.664062 5.6875 -6.875 C 5.445312 -7.09375 5.109375 -7.203125 4.671875 -7.203125 Z M 3.40625 -7.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-2">
<path style="stroke:none;" d="M 4.1875 -5.28125 C 3.71875 -5.28125 3.359375 -5.113281 3.109375 -4.78125 C 2.859375 -4.445312 2.734375 -3.957031 2.734375 -3.3125 C 2.734375 -2.675781 2.859375 -2.1875 3.109375 -1.84375 C 3.359375 -1.507812 3.71875 -1.34375 4.1875 -1.34375 C 4.644531 -1.34375 4.992188 -1.507812 5.234375 -1.84375 C 5.484375 -2.1875 5.609375 -2.675781 5.609375 -3.3125 C 5.609375 -3.957031 5.484375 -4.445312 5.234375 -4.78125 C 4.992188 -5.113281 4.644531 -5.28125 4.1875 -5.28125 Z M 4.1875 -6.8125 C 5.332031 -6.8125 6.222656 -6.5 6.859375 -5.875 C 7.503906 -5.257812 7.828125 -4.40625 7.828125 -3.3125 C 7.828125 -2.226562 7.503906 -1.375 6.859375 -0.75 C 6.222656 -0.132812 5.332031 0.171875 4.1875 0.171875 C 3.039062 0.171875 2.140625 -0.132812 1.484375 -0.75 C 0.835938 -1.375 0.515625 -2.226562 0.515625 -3.3125 C 0.515625 -4.40625 0.835938 -5.257812 1.484375 -5.875 C 2.140625 -6.5 3.039062 -6.8125 4.1875 -6.8125 Z M 4.1875 -6.8125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-3">
<path style="stroke:none;" d="M 0.421875 -6.640625 L 2.5 -6.640625 L 3.609375 -2.0625 L 4.734375 -6.640625 L 6.5 -6.640625 L 7.625 -2.109375 L 8.75 -6.640625 L 10.8125 -6.640625 L 9.0625 0 L 6.734375 0 L 5.609375 -4.578125 L 4.5 0 L 2.171875 0 Z M 0.421875 -6.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-4">
<path style="stroke:none;" d="M 7.65625 -3.34375 L 7.65625 -2.734375 L 2.6875 -2.734375 C 2.738281 -2.234375 2.914062 -1.859375 3.21875 -1.609375 C 3.53125 -1.359375 3.960938 -1.234375 4.515625 -1.234375 C 4.960938 -1.234375 5.421875 -1.300781 5.890625 -1.4375 C 6.359375 -1.570312 6.84375 -1.773438 7.34375 -2.046875 L 7.34375 -0.40625 C 6.84375 -0.21875 6.335938 -0.078125 5.828125 0.015625 C 5.328125 0.117188 4.828125 0.171875 4.328125 0.171875 C 3.117188 0.171875 2.179688 -0.128906 1.515625 -0.734375 C 0.847656 -1.347656 0.515625 -2.207031 0.515625 -3.3125 C 0.515625 -4.394531 0.84375 -5.25 1.5 -5.875 C 2.15625 -6.5 3.054688 -6.8125 4.203125 -6.8125 C 5.253906 -6.8125 6.09375 -6.492188 6.71875 -5.859375 C 7.34375 -5.234375 7.65625 -4.394531 7.65625 -3.34375 Z M 5.46875 -4.046875 C 5.46875 -4.453125 5.347656 -4.773438 5.109375 -5.015625 C 4.878906 -5.265625 4.578125 -5.390625 4.203125 -5.390625 C 3.785156 -5.390625 3.445312 -5.273438 3.1875 -5.046875 C 2.9375 -4.816406 2.78125 -4.484375 2.71875 -4.046875 Z M 5.46875 -4.046875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-5">
<path style="stroke:none;" d="M 5.953125 -4.84375 C 5.773438 -4.925781 5.59375 -4.988281 5.40625 -5.03125 C 5.21875 -5.070312 5.03125 -5.09375 4.84375 -5.09375 C 4.300781 -5.09375 3.878906 -4.914062 3.578125 -4.5625 C 3.285156 -4.21875 3.140625 -3.71875 3.140625 -3.0625 L 3.140625 0 L 1.015625 0 L 1.015625 -6.640625 L 3.140625 -6.640625 L 3.140625 -5.5625 C 3.421875 -5.988281 3.738281 -6.300781 4.09375 -6.5 C 4.445312 -6.707031 4.867188 -6.8125 5.359375 -6.8125 C 5.429688 -6.8125 5.507812 -6.804688 5.59375 -6.796875 C 5.675781 -6.796875 5.796875 -6.785156 5.953125 -6.765625 Z M 5.953125 -4.84375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-6">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph1-7">
<path style="stroke:none;" d="M 5.15625 -7.359375 C 4.46875 -7.359375 3.929688 -7.101562 3.546875 -6.59375 C 3.160156 -6.082031 2.96875 -5.359375 2.96875 -4.421875 C 2.96875 -3.492188 3.160156 -2.769531 3.546875 -2.25 C 3.929688 -1.738281 4.46875 -1.484375 5.15625 -1.484375 C 5.863281 -1.484375 6.40625 -1.738281 6.78125 -2.25 C 7.164062 -2.769531 7.359375 -3.492188 7.359375 -4.421875 C 7.359375 -5.359375 7.164062 -6.082031 6.78125 -6.59375 C 6.40625 -7.101562 5.863281 -7.359375 5.15625 -7.359375 Z M 5.15625 -9.015625 C 6.582031 -9.015625 7.695312 -8.609375 8.5 -7.796875 C 9.3125 -6.984375 9.71875 -5.859375 9.71875 -4.421875 C 9.71875 -2.984375 9.3125 -1.859375 8.5 -1.046875 C 7.695312 -0.234375 6.582031 0.171875 5.15625 0.171875 C 3.738281 0.171875 2.625 -0.234375 1.8125 -1.046875 C 1.007812 -1.859375 0.609375 -2.984375 0.609375 -4.421875 C 0.609375 -5.859375 1.007812 -6.984375 1.8125 -7.796875 C 2.625 -8.609375 3.738281 -9.015625 5.15625 -9.015625 Z M 5.15625 -9.015625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-8">
<path style="stroke:none;" d="M 7.703125 -4.046875 L 7.703125 0 L 5.5625 0 L 5.5625 -3.09375 C 5.5625 -3.664062 5.546875 -4.0625 5.515625 -4.28125 C 5.492188 -4.5 5.453125 -4.660156 5.390625 -4.765625 C 5.304688 -4.898438 5.191406 -5.003906 5.046875 -5.078125 C 4.910156 -5.160156 4.753906 -5.203125 4.578125 -5.203125 C 4.128906 -5.203125 3.773438 -5.03125 3.515625 -4.6875 C 3.265625 -4.34375 3.140625 -3.867188 3.140625 -3.265625 L 3.140625 0 L 1.015625 0 L 1.015625 -6.640625 L 3.140625 -6.640625 L 3.140625 -5.671875 C 3.460938 -6.054688 3.800781 -6.34375 4.15625 -6.53125 C 4.519531 -6.71875 4.921875 -6.8125 5.359375 -6.8125 C 6.128906 -6.8125 6.710938 -6.570312 7.109375 -6.09375 C 7.503906 -5.625 7.703125 -4.941406 7.703125 -4.046875 Z M 7.703125 -4.046875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-9">
<path style="stroke:none;" d="M 4.671875 -5.4375 C 5.023438 -5.4375 5.296875 -5.515625 5.484375 -5.671875 C 5.671875 -5.828125 5.765625 -6.0625 5.765625 -6.375 C 5.765625 -6.675781 5.671875 -6.90625 5.484375 -7.0625 C 5.296875 -7.226562 5.023438 -7.3125 4.671875 -7.3125 L 3.40625 -7.3125 L 3.40625 -5.4375 Z M 4.75 -1.5625 C 5.207031 -1.5625 5.550781 -1.65625 5.78125 -1.84375 C 6.007812 -2.039062 6.125 -2.332031 6.125 -2.71875 C 6.125 -3.101562 6.007812 -3.390625 5.78125 -3.578125 C 5.550781 -3.773438 5.207031 -3.875 4.75 -3.875 L 3.40625 -3.875 L 3.40625 -1.5625 Z M 6.875 -4.75 C 7.363281 -4.601562 7.738281 -4.335938 8 -3.953125 C 8.269531 -3.566406 8.40625 -3.097656 8.40625 -2.546875 C 8.40625 -1.691406 8.113281 -1.050781 7.53125 -0.625 C 6.957031 -0.207031 6.082031 0 4.90625 0 L 1.109375 0 L 1.109375 -8.859375 L 4.546875 -8.859375 C 5.773438 -8.859375 6.664062 -8.671875 7.21875 -8.296875 C 7.769531 -7.929688 8.046875 -7.335938 8.046875 -6.515625 C 8.046875 -6.085938 7.941406 -5.722656 7.734375 -5.421875 C 7.535156 -5.117188 7.25 -4.894531 6.875 -4.75 Z M 6.875 -4.75 "/>
</symbol>
<symbol overflow="visible" id="glyph1-10">
<path style="stroke:none;" d="M 3.34375 -8.53125 L 3.34375 -6.640625 L 5.53125 -6.640625 L 5.53125 -5.125 L 3.34375 -5.125 L 3.34375 -2.3125 C 3.34375 -2 3.398438 -1.785156 3.515625 -1.671875 C 3.640625 -1.566406 3.882812 -1.515625 4.25 -1.515625 L 5.34375 -1.515625 L 5.34375 0 L 3.53125 0 C 2.6875 0 2.085938 -0.171875 1.734375 -0.515625 C 1.390625 -0.867188 1.21875 -1.46875 1.21875 -2.3125 L 1.21875 -5.125 L 0.15625 -5.125 L 0.15625 -6.640625 L 1.21875 -6.640625 L 1.21875 -8.53125 Z M 3.34375 -8.53125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-11">
<path style="stroke:none;" d="M 1.109375 -8.859375 L 7.28125 -8.859375 L 7.28125 -7.140625 L 3.40625 -7.140625 L 3.40625 -5.484375 L 7.046875 -5.484375 L 7.046875 -3.75 L 3.40625 -3.75 L 3.40625 -1.734375 L 7.40625 -1.734375 L 7.40625 0 L 1.109375 0 Z M 1.109375 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-12">
<path style="stroke:none;" d="M 3.140625 -0.96875 L 3.140625 2.53125 L 1.015625 2.53125 L 1.015625 -6.640625 L 3.140625 -6.640625 L 3.140625 -5.671875 C 3.429688 -6.054688 3.753906 -6.34375 4.109375 -6.53125 C 4.472656 -6.71875 4.882812 -6.8125 5.34375 -6.8125 C 6.164062 -6.8125 6.835938 -6.484375 7.359375 -5.828125 C 7.890625 -5.179688 8.15625 -4.34375 8.15625 -3.3125 C 8.15625 -2.289062 7.890625 -1.453125 7.359375 -0.796875 C 6.835938 -0.148438 6.164062 0.171875 5.34375 0.171875 C 4.882812 0.171875 4.472656 0.0820312 4.109375 -0.09375 C 3.753906 -0.28125 3.429688 -0.570312 3.140625 -0.96875 Z M 4.5625 -5.265625 C 4.101562 -5.265625 3.75 -5.097656 3.5 -4.765625 C 3.257812 -4.429688 3.140625 -3.945312 3.140625 -3.3125 C 3.140625 -2.6875 3.257812 -2.207031 3.5 -1.875 C 3.75 -1.539062 4.101562 -1.375 4.5625 -1.375 C 5.007812 -1.375 5.351562 -1.539062 5.59375 -1.875 C 5.832031 -2.207031 5.953125 -2.6875 5.953125 -3.3125 C 5.953125 -3.945312 5.832031 -4.429688 5.59375 -4.765625 C 5.351562 -5.097656 5.007812 -5.265625 4.5625 -5.265625 Z M 4.5625 -5.265625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-13">
<path style="stroke:none;" d="M 1.015625 -6.640625 L 3.140625 -6.640625 L 3.140625 0 L 1.015625 0 Z M 1.015625 -9.234375 L 3.140625 -9.234375 L 3.140625 -7.5 L 1.015625 -7.5 Z M 1.015625 -9.234375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-14">
<path style="stroke:none;" d="M 6.390625 -6.4375 L 6.390625 -4.703125 C 6.097656 -4.898438 5.804688 -5.046875 5.515625 -5.140625 C 5.234375 -5.234375 4.9375 -5.28125 4.625 -5.28125 C 4.03125 -5.28125 3.566406 -5.109375 3.234375 -4.765625 C 2.898438 -4.421875 2.734375 -3.9375 2.734375 -3.3125 C 2.734375 -2.695312 2.898438 -2.210938 3.234375 -1.859375 C 3.566406 -1.515625 4.03125 -1.34375 4.625 -1.34375 C 4.945312 -1.34375 5.257812 -1.390625 5.5625 -1.484375 C 5.863281 -1.585938 6.140625 -1.738281 6.390625 -1.9375 L 6.390625 -0.203125 C 6.054688 -0.078125 5.71875 0.015625 5.375 0.078125 C 5.039062 0.140625 4.695312 0.171875 4.34375 0.171875 C 3.144531 0.171875 2.207031 -0.132812 1.53125 -0.75 C 0.851562 -1.363281 0.515625 -2.21875 0.515625 -3.3125 C 0.515625 -4.414062 0.851562 -5.273438 1.53125 -5.890625 C 2.207031 -6.503906 3.144531 -6.8125 4.34375 -6.8125 C 4.695312 -6.8125 5.039062 -6.78125 5.375 -6.71875 C 5.71875 -6.65625 6.054688 -6.5625 6.390625 -6.4375 Z M 6.390625 -6.4375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-15">
<path style="stroke:none;" d="M 4 -2.984375 C 3.550781 -2.984375 3.21875 -2.910156 3 -2.765625 C 2.78125 -2.617188 2.671875 -2.394531 2.671875 -2.09375 C 2.671875 -1.832031 2.757812 -1.625 2.9375 -1.46875 C 3.113281 -1.3125 3.363281 -1.234375 3.6875 -1.234375 C 4.082031 -1.234375 4.414062 -1.375 4.6875 -1.65625 C 4.96875 -1.945312 5.109375 -2.3125 5.109375 -2.75 L 5.109375 -2.984375 Z M 7.25 -3.796875 L 7.25 0 L 5.109375 0 L 5.109375 -0.984375 C 4.816406 -0.578125 4.492188 -0.28125 4.140625 -0.09375 C 3.785156 0.0820312 3.351562 0.171875 2.84375 0.171875 C 2.15625 0.171875 1.59375 -0.0234375 1.15625 -0.421875 C 0.726562 -0.828125 0.515625 -1.351562 0.515625 -2 C 0.515625 -2.769531 0.78125 -3.335938 1.3125 -3.703125 C 1.851562 -4.066406 2.703125 -4.25 3.859375 -4.25 L 5.109375 -4.25 L 5.109375 -4.421875 C 5.109375 -4.753906 4.972656 -5 4.703125 -5.15625 C 4.441406 -5.3125 4.03125 -5.390625 3.46875 -5.390625 C 3.007812 -5.390625 2.582031 -5.34375 2.1875 -5.25 C 1.800781 -5.164062 1.441406 -5.03125 1.109375 -4.84375 L 1.109375 -6.46875 C 1.554688 -6.582031 2.007812 -6.664062 2.46875 -6.71875 C 2.925781 -6.78125 3.390625 -6.8125 3.859375 -6.8125 C 5.054688 -6.8125 5.921875 -6.570312 6.453125 -6.09375 C 6.984375 -5.625 7.25 -4.859375 7.25 -3.796875 Z M 7.25 -3.796875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-16">
<path style="stroke:none;" d="M 5.546875 -5.671875 L 5.546875 -9.234375 L 7.6875 -9.234375 L 7.6875 0 L 5.546875 0 L 5.546875 -0.96875 C 5.253906 -0.570312 4.929688 -0.28125 4.578125 -0.09375 C 4.222656 0.0820312 3.816406 0.171875 3.359375 0.171875 C 2.535156 0.171875 1.859375 -0.148438 1.328125 -0.796875 C 0.804688 -1.453125 0.546875 -2.289062 0.546875 -3.3125 C 0.546875 -4.34375 0.804688 -5.179688 1.328125 -5.828125 C 1.859375 -6.484375 2.535156 -6.8125 3.359375 -6.8125 C 3.816406 -6.8125 4.222656 -6.71875 4.578125 -6.53125 C 4.929688 -6.34375 5.253906 -6.054688 5.546875 -5.671875 Z M 4.140625 -1.375 C 4.597656 -1.375 4.945312 -1.539062 5.1875 -1.875 C 5.425781 -2.207031 5.546875 -2.6875 5.546875 -3.3125 C 5.546875 -3.945312 5.425781 -4.429688 5.1875 -4.765625 C 4.945312 -5.097656 4.597656 -5.265625 4.140625 -5.265625 C 3.691406 -5.265625 3.347656 -5.097656 3.109375 -4.765625 C 2.867188 -4.429688 2.75 -3.945312 2.75 -3.3125 C 2.75 -2.6875 2.867188 -2.207031 3.109375 -1.875 C 3.347656 -1.539062 3.691406 -1.375 4.140625 -1.375 Z M 4.140625 -1.375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-17">
<path style="stroke:none;" d="M 0.953125 -2.59375 L 0.953125 -6.640625 L 3.09375 -6.640625 L 3.09375 -5.984375 C 3.09375 -5.617188 3.085938 -5.164062 3.078125 -4.625 C 3.078125 -4.082031 3.078125 -3.71875 3.078125 -3.53125 C 3.078125 -3 3.085938 -2.613281 3.109375 -2.375 C 3.140625 -2.144531 3.191406 -1.976562 3.265625 -1.875 C 3.347656 -1.726562 3.457031 -1.617188 3.59375 -1.546875 C 3.738281 -1.472656 3.898438 -1.4375 4.078125 -1.4375 C 4.523438 -1.4375 4.875 -1.601562 5.125 -1.9375 C 5.382812 -2.28125 5.515625 -2.753906 5.515625 -3.359375 L 5.515625 -6.640625 L 7.640625 -6.640625 L 7.640625 0 L 5.515625 0 L 5.515625 -0.96875 C 5.191406 -0.570312 4.847656 -0.28125 4.484375 -0.09375 C 4.128906 0.0820312 3.738281 0.171875 3.3125 0.171875 C 2.539062 0.171875 1.953125 -0.0625 1.546875 -0.53125 C 1.148438 -1 0.953125 -1.6875 0.953125 -2.59375 Z M 0.953125 -2.59375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-18">
<path style="stroke:none;" d="M 7.1875 -5.546875 C 7.445312 -5.953125 7.765625 -6.265625 8.140625 -6.484375 C 8.515625 -6.703125 8.921875 -6.8125 9.359375 -6.8125 C 10.117188 -6.8125 10.695312 -6.570312 11.09375 -6.09375 C 11.5 -5.625 11.703125 -4.941406 11.703125 -4.046875 L 11.703125 0 L 9.5625 0 L 9.5625 -3.46875 C 9.570312 -3.519531 9.578125 -3.570312 9.578125 -3.625 C 9.578125 -3.675781 9.578125 -3.753906 9.578125 -3.859375 C 9.578125 -4.335938 9.507812 -4.679688 9.375 -4.890625 C 9.238281 -5.097656 9.015625 -5.203125 8.703125 -5.203125 C 8.296875 -5.203125 7.984375 -5.035156 7.765625 -4.703125 C 7.546875 -4.367188 7.429688 -3.890625 7.421875 -3.265625 L 7.421875 0 L 5.28125 0 L 5.28125 -3.46875 C 5.28125 -4.207031 5.21875 -4.679688 5.09375 -4.890625 C 4.96875 -5.097656 4.742188 -5.203125 4.421875 -5.203125 C 4.015625 -5.203125 3.695312 -5.035156 3.46875 -4.703125 C 3.25 -4.367188 3.140625 -3.890625 3.140625 -3.265625 L 3.140625 0 L 1.015625 0 L 1.015625 -6.640625 L 3.140625 -6.640625 L 3.140625 -5.671875 C 3.398438 -6.046875 3.695312 -6.328125 4.03125 -6.515625 C 4.375 -6.710938 4.75 -6.8125 5.15625 -6.8125 C 5.625 -6.8125 6.03125 -6.695312 6.375 -6.46875 C 6.726562 -6.25 7 -5.941406 7.1875 -5.546875 Z M 7.1875 -5.546875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-19">
<path style="stroke:none;" d="M 0.140625 -6.640625 L 2.265625 -6.640625 L 4.0625 -2.140625 L 5.578125 -6.640625 L 7.703125 -6.640625 L 4.90625 0.625 C 4.625 1.363281 4.296875 1.878906 3.921875 2.171875 C 3.546875 2.472656 3.054688 2.625 2.453125 2.625 L 1.21875 2.625 L 1.21875 1.234375 L 1.875 1.234375 C 2.238281 1.234375 2.503906 1.175781 2.671875 1.0625 C 2.835938 0.945312 2.960938 0.738281 3.046875 0.4375 L 3.109375 0.25 Z M 0.140625 -6.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-20">
<path style="stroke:none;" d="M 7.703125 -4.046875 L 7.703125 0 L 5.5625 0 L 5.5625 -3.09375 C 5.5625 -3.664062 5.546875 -4.0625 5.515625 -4.28125 C 5.492188 -4.5 5.453125 -4.660156 5.390625 -4.765625 C 5.304688 -4.898438 5.191406 -5.003906 5.046875 -5.078125 C 4.910156 -5.160156 4.753906 -5.203125 4.578125 -5.203125 C 4.128906 -5.203125 3.773438 -5.03125 3.515625 -4.6875 C 3.265625 -4.34375 3.140625 -3.867188 3.140625 -3.265625 L 3.140625 0 L 1.015625 0 L 1.015625 -9.234375 L 3.140625 -9.234375 L 3.140625 -5.671875 C 3.460938 -6.054688 3.800781 -6.34375 4.15625 -6.53125 C 4.519531 -6.71875 4.921875 -6.8125 5.359375 -6.8125 C 6.128906 -6.8125 6.710938 -6.570312 7.109375 -6.09375 C 7.503906 -5.625 7.703125 -4.941406 7.703125 -4.046875 Z M 7.703125 -4.046875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-21">
<path style="stroke:none;" d="M 1.234375 -2.296875 L 3.375 -2.296875 L 3.375 0 L 1.234375 0 Z M 1.234375 -2.296875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-22">
<path style="stroke:none;" d="M 6.21875 -6.4375 L 6.21875 -4.828125 C 5.757812 -5.015625 5.316406 -5.15625 4.890625 -5.25 C 4.472656 -5.34375 4.078125 -5.390625 3.703125 -5.390625 C 3.296875 -5.390625 2.992188 -5.335938 2.796875 -5.234375 C 2.597656 -5.140625 2.5 -4.988281 2.5 -4.78125 C 2.5 -4.601562 2.570312 -4.46875 2.71875 -4.375 C 2.875 -4.289062 3.144531 -4.226562 3.53125 -4.1875 L 3.90625 -4.125 C 4.988281 -3.988281 5.71875 -3.757812 6.09375 -3.4375 C 6.46875 -3.125 6.65625 -2.628906 6.65625 -1.953125 C 6.65625 -1.242188 6.394531 -0.710938 5.875 -0.359375 C 5.351562 -0.00390625 4.570312 0.171875 3.53125 0.171875 C 3.09375 0.171875 2.640625 0.132812 2.171875 0.0625 C 1.703125 0 1.222656 -0.101562 0.734375 -0.25 L 0.734375 -1.859375 C 1.148438 -1.648438 1.582031 -1.492188 2.03125 -1.390625 C 2.476562 -1.285156 2.929688 -1.234375 3.390625 -1.234375 C 3.804688 -1.234375 4.117188 -1.289062 4.328125 -1.40625 C 4.535156 -1.519531 4.640625 -1.691406 4.640625 -1.921875 C 4.640625 -2.109375 4.566406 -2.25 4.421875 -2.34375 C 4.273438 -2.4375 3.988281 -2.507812 3.5625 -2.5625 L 3.1875 -2.609375 C 2.238281 -2.734375 1.570312 -2.953125 1.1875 -3.265625 C 0.8125 -3.585938 0.625 -4.078125 0.625 -4.734375 C 0.625 -5.429688 0.863281 -5.953125 1.34375 -6.296875 C 1.832031 -6.640625 2.578125 -6.8125 3.578125 -6.8125 C 3.960938 -6.8125 4.367188 -6.78125 4.796875 -6.71875 C 5.234375 -6.65625 5.707031 -6.5625 6.21875 -6.4375 Z M 6.21875 -6.4375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-23">
<path style="stroke:none;" d="M 1.015625 -9.234375 L 3.140625 -9.234375 L 3.140625 0 L 1.015625 0 Z M 1.015625 -9.234375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-24">
<path style="stroke:none;" d="M 5.59375 -4.4375 C 5.59375 -5.550781 5.488281 -6.332031 5.28125 -6.78125 C 5.070312 -7.238281 4.722656 -7.46875 4.234375 -7.46875 C 3.742188 -7.46875 3.390625 -7.238281 3.171875 -6.78125 C 2.960938 -6.332031 2.859375 -5.550781 2.859375 -4.4375 C 2.859375 -3.320312 2.960938 -2.535156 3.171875 -2.078125 C 3.390625 -1.617188 3.742188 -1.390625 4.234375 -1.390625 C 4.722656 -1.390625 5.070312 -1.617188 5.28125 -2.078125 C 5.488281 -2.535156 5.59375 -3.320312 5.59375 -4.4375 Z M 7.875 -4.421875 C 7.875 -2.953125 7.554688 -1.816406 6.921875 -1.015625 C 6.296875 -0.222656 5.398438 0.171875 4.234375 0.171875 C 3.066406 0.171875 2.164062 -0.222656 1.53125 -1.015625 C 0.894531 -1.816406 0.578125 -2.953125 0.578125 -4.421875 C 0.578125 -5.890625 0.894531 -7.019531 1.53125 -7.8125 C 2.164062 -8.613281 3.066406 -9.015625 4.234375 -9.015625 C 5.398438 -9.015625 6.296875 -8.613281 6.921875 -7.8125 C 7.554688 -7.019531 7.875 -5.890625 7.875 -4.421875 Z M 7.875 -4.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-25">
<path style="stroke:none;" d="M 4.5625 -1.375 C 5.007812 -1.375 5.351562 -1.539062 5.59375 -1.875 C 5.832031 -2.207031 5.953125 -2.6875 5.953125 -3.3125 C 5.953125 -3.945312 5.832031 -4.429688 5.59375 -4.765625 C 5.351562 -5.097656 5.007812 -5.265625 4.5625 -5.265625 C 4.101562 -5.265625 3.75 -5.097656 3.5 -4.765625 C 3.257812 -4.429688 3.140625 -3.945312 3.140625 -3.3125 C 3.140625 -2.6875 3.257812 -2.207031 3.5 -1.875 C 3.75 -1.539062 4.101562 -1.375 4.5625 -1.375 Z M 3.140625 -5.671875 C 3.429688 -6.054688 3.753906 -6.34375 4.109375 -6.53125 C 4.472656 -6.71875 4.882812 -6.8125 5.34375 -6.8125 C 6.164062 -6.8125 6.835938 -6.484375 7.359375 -5.828125 C 7.890625 -5.179688 8.15625 -4.34375 8.15625 -3.3125 C 8.15625 -2.289062 7.890625 -1.453125 7.359375 -0.796875 C 6.835938 -0.148438 6.164062 0.171875 5.34375 0.171875 C 4.882812 0.171875 4.472656 0.0820312 4.109375 -0.09375 C 3.753906 -0.28125 3.429688 -0.570312 3.140625 -0.96875 L 3.140625 0 L 1.015625 0 L 1.015625 -9.234375 L 3.140625 -9.234375 Z M 3.140625 -5.671875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-26">
<path style="stroke:none;" d="M 1.109375 -8.859375 L 3.40625 -8.859375 L 3.40625 -3.546875 C 3.40625 -2.816406 3.523438 -2.289062 3.765625 -1.96875 C 4.003906 -1.65625 4.394531 -1.5 4.9375 -1.5 C 5.476562 -1.5 5.867188 -1.65625 6.109375 -1.96875 C 6.347656 -2.289062 6.46875 -2.816406 6.46875 -3.546875 L 6.46875 -8.859375 L 8.75 -8.859375 L 8.75 -3.546875 C 8.75 -2.296875 8.4375 -1.363281 7.8125 -0.75 C 7.1875 -0.132812 6.226562 0.171875 4.9375 0.171875 C 3.644531 0.171875 2.679688 -0.132812 2.046875 -0.75 C 1.421875 -1.363281 1.109375 -2.296875 1.109375 -3.546875 Z M 1.109375 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-27">
<path style="stroke:none;" d="M 5.171875 -8.859375 L 5.171875 -5.5625 L 3.765625 -5.5625 L 3.765625 -8.859375 Z M 2.5625 -8.859375 L 2.5625 -5.5625 L 1.15625 -5.5625 L 1.15625 -8.859375 Z M 2.5625 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-28">
<path style="stroke:none;" d="M 2.703125 -3.40625 L 0.296875 -6.640625 L 2.546875 -6.640625 L 3.90625 -4.671875 L 5.28125 -6.640625 L 7.53125 -6.640625 L 5.140625 -3.40625 L 7.65625 0 L 5.40625 0 L 3.90625 -2.09375 L 2.4375 0 L 0.1875 0 Z M 2.703125 -3.40625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-29">
<path style="stroke:none;" d="M 4.359375 -4.9375 C 4.835938 -4.9375 5.179688 -5.023438 5.390625 -5.203125 C 5.597656 -5.378906 5.703125 -5.671875 5.703125 -6.078125 C 5.703125 -6.484375 5.597656 -6.769531 5.390625 -6.9375 C 5.179688 -7.113281 4.835938 -7.203125 4.359375 -7.203125 L 3.40625 -7.203125 L 3.40625 -4.9375 Z M 3.40625 -3.359375 L 3.40625 0 L 1.109375 0 L 1.109375 -8.859375 L 4.609375 -8.859375 C 5.773438 -8.859375 6.628906 -8.660156 7.171875 -8.265625 C 7.710938 -7.878906 7.984375 -7.265625 7.984375 -6.421875 C 7.984375 -5.828125 7.84375 -5.34375 7.5625 -4.96875 C 7.28125 -4.59375 6.851562 -4.316406 6.28125 -4.140625 C 6.59375 -4.066406 6.875 -3.90625 7.125 -3.65625 C 7.375 -3.40625 7.625 -3.023438 7.875 -2.515625 L 9.125 0 L 6.6875 0 L 5.609375 -2.203125 C 5.390625 -2.640625 5.164062 -2.941406 4.9375 -3.109375 C 4.71875 -3.273438 4.421875 -3.359375 4.046875 -3.359375 Z M 3.40625 -3.359375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-30">
<path style="stroke:none;" d="M 0.65625 -4.359375 L 4.390625 -4.359375 L 4.390625 -2.640625 L 0.65625 -2.640625 Z M 0.65625 -4.359375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-31">
<path style="stroke:none;" d="M 1.109375 -8.859375 L 4.03125 -8.859375 L 6.046875 -4.125 L 8.078125 -8.859375 L 10.96875 -8.859375 L 10.96875 0 L 8.8125 0 L 8.8125 -6.484375 L 6.765625 -1.703125 L 5.328125 -1.703125 L 3.28125 -6.484375 L 3.28125 0 L 1.109375 0 Z M 1.109375 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-32">
<path style="stroke:none;" d="M 9.078125 -0.65625 C 8.515625 -0.382812 7.925781 -0.175781 7.3125 -0.03125 C 6.695312 0.101562 6.0625 0.171875 5.40625 0.171875 C 3.925781 0.171875 2.753906 -0.238281 1.890625 -1.0625 C 1.035156 -1.882812 0.609375 -3.003906 0.609375 -4.421875 C 0.609375 -5.847656 1.046875 -6.96875 1.921875 -7.78125 C 2.796875 -8.601562 4 -9.015625 5.53125 -9.015625 C 6.125 -9.015625 6.6875 -8.957031 7.21875 -8.84375 C 7.757812 -8.738281 8.269531 -8.578125 8.75 -8.359375 L 8.75 -6.53125 C 8.257812 -6.8125 7.769531 -7.019531 7.28125 -7.15625 C 6.789062 -7.289062 6.300781 -7.359375 5.8125 -7.359375 C 4.90625 -7.359375 4.203125 -7.101562 3.703125 -6.59375 C 3.210938 -6.09375 2.96875 -5.367188 2.96875 -4.421875 C 2.96875 -3.484375 3.203125 -2.757812 3.671875 -2.25 C 4.148438 -1.738281 4.828125 -1.484375 5.703125 -1.484375 C 5.941406 -1.484375 6.160156 -1.5 6.359375 -1.53125 C 6.566406 -1.5625 6.753906 -1.609375 6.921875 -1.671875 L 6.921875 -3.390625 L 5.515625 -3.390625 L 5.515625 -4.921875 L 9.078125 -4.921875 Z M 9.078125 -0.65625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-33">
<path style="stroke:none;" d="M 7.28125 -8.578125 L 7.28125 -6.703125 C 6.789062 -6.921875 6.3125 -7.082031 5.84375 -7.1875 C 5.382812 -7.300781 4.953125 -7.359375 4.546875 -7.359375 C 4.003906 -7.359375 3.597656 -7.285156 3.328125 -7.140625 C 3.066406 -6.992188 2.9375 -6.757812 2.9375 -6.4375 C 2.9375 -6.195312 3.023438 -6.007812 3.203125 -5.875 C 3.378906 -5.75 3.703125 -5.640625 4.171875 -5.546875 L 5.140625 -5.34375 C 6.128906 -5.144531 6.828125 -4.84375 7.234375 -4.4375 C 7.648438 -4.039062 7.859375 -3.46875 7.859375 -2.71875 C 7.859375 -1.75 7.566406 -1.023438 6.984375 -0.546875 C 6.410156 -0.0664062 5.53125 0.171875 4.34375 0.171875 C 3.78125 0.171875 3.210938 0.117188 2.640625 0.015625 C 2.078125 -0.0859375 1.515625 -0.25 0.953125 -0.46875 L 0.953125 -2.390625 C 1.515625 -2.085938 2.0625 -1.859375 2.59375 -1.703125 C 3.125 -1.554688 3.632812 -1.484375 4.125 -1.484375 C 4.625 -1.484375 5.003906 -1.566406 5.265625 -1.734375 C 5.523438 -1.898438 5.65625 -2.140625 5.65625 -2.453125 C 5.65625 -2.722656 5.566406 -2.929688 5.390625 -3.078125 C 5.210938 -3.234375 4.851562 -3.367188 4.3125 -3.484375 L 3.4375 -3.6875 C 2.539062 -3.875 1.890625 -4.175781 1.484375 -4.59375 C 1.078125 -5.007812 0.875 -5.570312 0.875 -6.28125 C 0.875 -7.15625 1.15625 -7.828125 1.71875 -8.296875 C 2.289062 -8.773438 3.113281 -9.015625 4.1875 -9.015625 C 4.675781 -9.015625 5.175781 -8.976562 5.6875 -8.90625 C 6.195312 -8.832031 6.726562 -8.722656 7.28125 -8.578125 Z M 7.28125 -8.578125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-34">
<path style="stroke:none;" d="M 5.546875 -1.125 C 5.253906 -0.738281 4.929688 -0.453125 4.578125 -0.265625 C 4.222656 -0.0859375 3.816406 0 3.359375 0 C 2.546875 0 1.875 -0.316406 1.34375 -0.953125 C 0.8125 -1.597656 0.546875 -2.414062 0.546875 -3.40625 C 0.546875 -4.394531 0.8125 -5.207031 1.34375 -5.84375 C 1.875 -6.476562 2.546875 -6.796875 3.359375 -6.796875 C 3.816406 -6.796875 4.222656 -6.703125 4.578125 -6.515625 C 4.929688 -6.335938 5.253906 -6.050781 5.546875 -5.65625 L 5.546875 -6.640625 L 7.6875 -6.640625 L 7.6875 -0.671875 C 7.6875 0.398438 7.347656 1.21875 6.671875 1.78125 C 5.992188 2.34375 5.015625 2.625 3.734375 2.625 C 3.316406 2.625 2.914062 2.59375 2.53125 2.53125 C 2.144531 2.46875 1.753906 2.367188 1.359375 2.234375 L 1.359375 0.578125 C 1.734375 0.796875 2.097656 0.957031 2.453125 1.0625 C 2.804688 1.164062 3.164062 1.21875 3.53125 1.21875 C 4.226562 1.21875 4.738281 1.0625 5.0625 0.75 C 5.382812 0.445312 5.546875 -0.0234375 5.546875 -0.671875 Z M 4.140625 -5.265625 C 3.703125 -5.265625 3.359375 -5.101562 3.109375 -4.78125 C 2.867188 -4.457031 2.75 -4 2.75 -3.40625 C 2.75 -2.789062 2.863281 -2.328125 3.09375 -2.015625 C 3.332031 -1.703125 3.679688 -1.546875 4.140625 -1.546875 C 4.585938 -1.546875 4.929688 -1.707031 5.171875 -2.03125 C 5.421875 -2.351562 5.546875 -2.8125 5.546875 -3.40625 C 5.546875 -4 5.421875 -4.457031 5.171875 -4.78125 C 4.929688 -5.101562 4.585938 -5.265625 4.140625 -5.265625 Z M 4.140625 -5.265625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-35">
<path style="stroke:none;" d="M 4.578125 1.609375 L 2.8125 1.609375 C 2.207031 0.628906 1.757812 -0.296875 1.46875 -1.171875 C 1.1875 -2.054688 1.046875 -2.9375 1.046875 -3.8125 C 1.046875 -4.675781 1.191406 -5.550781 1.484375 -6.4375 C 1.773438 -7.320312 2.21875 -8.25 2.8125 -9.21875 L 4.578125 -9.21875 C 4.078125 -8.28125 3.695312 -7.363281 3.4375 -6.46875 C 3.1875 -5.570312 3.0625 -4.6875 3.0625 -3.8125 C 3.0625 -2.9375 3.1875 -2.050781 3.4375 -1.15625 C 3.6875 -0.257812 4.066406 0.660156 4.578125 1.609375 Z M 4.578125 1.609375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-36">
<path style="stroke:none;" d="M 0.96875 1.609375 C 1.476562 0.660156 1.859375 -0.257812 2.109375 -1.15625 C 2.367188 -2.050781 2.5 -2.9375 2.5 -3.8125 C 2.5 -4.6875 2.367188 -5.570312 2.109375 -6.46875 C 1.859375 -7.363281 1.476562 -8.28125 0.96875 -9.21875 L 2.734375 -9.21875 C 3.335938 -8.25 3.785156 -7.320312 4.078125 -6.4375 C 4.367188 -5.550781 4.515625 -4.675781 4.515625 -3.8125 C 4.515625 -2.9375 4.367188 -2.054688 4.078125 -1.171875 C 3.785156 -0.296875 3.335938 0.628906 2.734375 1.609375 Z M 0.96875 1.609375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-37">
<path style="stroke:none;" d="M 1.421875 -1.578125 L 3.4375 -1.578125 L 3.4375 -7.3125 L 1.375 -6.875 L 1.375 -8.4375 L 3.4375 -8.859375 L 5.609375 -8.859375 L 5.609375 -1.578125 L 7.625 -1.578125 L 7.625 0 L 1.421875 0 Z M 1.421875 -1.578125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-38">
<path style="stroke:none;" d="M 1.109375 -8.859375 L 3.40625 -8.859375 L 3.40625 -1.734375 L 7.40625 -1.734375 L 7.40625 0 L 1.109375 0 Z M 1.109375 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-39">
<path style="stroke:none;" d="M 8.140625 -0.484375 C 7.722656 -0.265625 7.285156 -0.101562 6.828125 0 C 6.378906 0.113281 5.90625 0.171875 5.40625 0.171875 C 3.925781 0.171875 2.753906 -0.238281 1.890625 -1.0625 C 1.035156 -1.882812 0.609375 -3.003906 0.609375 -4.421875 C 0.609375 -5.835938 1.035156 -6.957031 1.890625 -7.78125 C 2.753906 -8.601562 3.925781 -9.015625 5.40625 -9.015625 C 5.90625 -9.015625 6.378906 -8.957031 6.828125 -8.84375 C 7.285156 -8.738281 7.722656 -8.578125 8.140625 -8.359375 L 8.140625 -6.53125 C 7.722656 -6.820312 7.304688 -7.03125 6.890625 -7.15625 C 6.484375 -7.289062 6.050781 -7.359375 5.59375 -7.359375 C 4.78125 -7.359375 4.140625 -7.097656 3.671875 -6.578125 C 3.203125 -6.054688 2.96875 -5.335938 2.96875 -4.421875 C 2.96875 -3.503906 3.203125 -2.785156 3.671875 -2.265625 C 4.140625 -1.742188 4.78125 -1.484375 5.59375 -1.484375 C 6.050781 -1.484375 6.484375 -1.550781 6.890625 -1.6875 C 7.304688 -1.820312 7.722656 -2.035156 8.140625 -2.328125 Z M 8.140625 -0.484375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-40">
<path style="stroke:none;" d="M 1.359375 -6.640625 L 3.5 -6.640625 L 3.5 -4.34375 L 1.359375 -4.34375 Z M 1.359375 -2.296875 L 3.5 -2.296875 L 3.5 0 L 1.359375 0 Z M 1.359375 -2.296875 "/>
</symbol>
<symbol overflow="visible" id="glyph2-0">
<path style="stroke:none;" d="M 0.609375 2.15625 L 0.609375 -8.578125 L 6.6875 -8.578125 L 6.6875 2.15625 Z M 1.28125 1.46875 L 6 1.46875 L 6 -7.890625 L 1.28125 -7.890625 Z M 1.28125 1.46875 "/>
</symbol>
<symbol overflow="visible" id="glyph2-1">
<path style="stroke:none;" d="M 7.828125 -8.171875 L 7.828125 -6.921875 C 7.421875 -7.296875 6.988281 -7.570312 6.53125 -7.75 C 6.082031 -7.9375 5.597656 -8.03125 5.078125 -8.03125 C 4.066406 -8.03125 3.289062 -7.71875 2.75 -7.09375 C 2.21875 -6.476562 1.953125 -5.585938 1.953125 -4.421875 C 1.953125 -3.253906 2.21875 -2.359375 2.75 -1.734375 C 3.289062 -1.117188 4.066406 -0.8125 5.078125 -0.8125 C 5.597656 -0.8125 6.082031 -0.90625 6.53125 -1.09375 C 6.988281 -1.28125 7.421875 -1.5625 7.828125 -1.9375 L 7.828125 -0.6875 C 7.410156 -0.394531 6.96875 -0.175781 6.5 -0.03125 C 6.03125 0.101562 5.535156 0.171875 5.015625 0.171875 C 3.671875 0.171875 2.613281 -0.238281 1.84375 -1.0625 C 1.070312 -1.882812 0.6875 -3.003906 0.6875 -4.421875 C 0.6875 -5.847656 1.070312 -6.96875 1.84375 -7.78125 C 2.613281 -8.601562 3.671875 -9.015625 5.015625 -9.015625 C 5.546875 -9.015625 6.046875 -8.941406 6.515625 -8.796875 C 6.984375 -8.660156 7.421875 -8.453125 7.828125 -8.171875 Z M 7.828125 -8.171875 "/>
</symbol>
<symbol overflow="visible" id="glyph2-2">
<path style="stroke:none;" d="M 6.671875 -4.015625 L 6.671875 0 L 5.578125 0 L 5.578125 -3.984375 C 5.578125 -4.609375 5.453125 -5.078125 5.203125 -5.390625 C 4.960938 -5.703125 4.597656 -5.859375 4.109375 -5.859375 C 3.515625 -5.859375 3.046875 -5.671875 2.703125 -5.296875 C 2.367188 -4.921875 2.203125 -4.40625 2.203125 -3.75 L 2.203125 0 L 1.109375 0 L 1.109375 -9.234375 L 2.203125 -9.234375 L 2.203125 -5.609375 C 2.460938 -6.015625 2.769531 -6.316406 3.125 -6.515625 C 3.476562 -6.710938 3.882812 -6.8125 4.34375 -6.8125 C 5.113281 -6.8125 5.691406 -6.570312 6.078125 -6.09375 C 6.472656 -5.625 6.671875 -4.929688 6.671875 -4.015625 Z M 6.671875 -4.015625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-3">
<path style="stroke:none;" d="M 6.828125 -3.59375 L 6.828125 -3.0625 L 1.8125 -3.0625 C 1.851562 -2.3125 2.078125 -1.738281 2.484375 -1.34375 C 2.890625 -0.945312 3.457031 -0.75 4.1875 -0.75 C 4.601562 -0.75 5.007812 -0.800781 5.40625 -0.90625 C 5.800781 -1.007812 6.191406 -1.164062 6.578125 -1.375 L 6.578125 -0.34375 C 6.179688 -0.175781 5.773438 -0.0507812 5.359375 0.03125 C 4.953125 0.125 4.539062 0.171875 4.125 0.171875 C 3.0625 0.171875 2.21875 -0.132812 1.59375 -0.75 C 0.976562 -1.375 0.671875 -2.210938 0.671875 -3.265625 C 0.671875 -4.347656 0.960938 -5.207031 1.546875 -5.84375 C 2.140625 -6.488281 2.929688 -6.8125 3.921875 -6.8125 C 4.816406 -6.8125 5.523438 -6.519531 6.046875 -5.9375 C 6.566406 -5.363281 6.828125 -4.582031 6.828125 -3.59375 Z M 5.734375 -3.921875 C 5.734375 -4.515625 5.566406 -4.988281 5.234375 -5.34375 C 4.910156 -5.695312 4.476562 -5.875 3.9375 -5.875 C 3.332031 -5.875 2.84375 -5.703125 2.46875 -5.359375 C 2.101562 -5.015625 1.894531 -4.53125 1.84375 -3.90625 Z M 5.734375 -3.921875 "/>
</symbol>
<symbol overflow="visible" id="glyph2-4">
<path style="stroke:none;" d="M 5.9375 -6.390625 L 5.9375 -5.375 C 5.625 -5.539062 5.3125 -5.664062 5 -5.75 C 4.6875 -5.832031 4.375 -5.875 4.0625 -5.875 C 3.351562 -5.875 2.800781 -5.648438 2.40625 -5.203125 C 2.019531 -4.753906 1.828125 -4.125 1.828125 -3.3125 C 1.828125 -2.5 2.019531 -1.867188 2.40625 -1.421875 C 2.800781 -0.972656 3.351562 -0.75 4.0625 -0.75 C 4.375 -0.75 4.6875 -0.789062 5 -0.875 C 5.3125 -0.96875 5.625 -1.097656 5.9375 -1.265625 L 5.9375 -0.25 C 5.625 -0.113281 5.304688 -0.0078125 4.984375 0.0625 C 4.660156 0.132812 4.3125 0.171875 3.9375 0.171875 C 2.9375 0.171875 2.140625 -0.140625 1.546875 -0.765625 C 0.960938 -1.398438 0.671875 -2.25 0.671875 -3.3125 C 0.671875 -4.394531 0.96875 -5.25 1.5625 -5.875 C 2.15625 -6.5 2.972656 -6.8125 4.015625 -6.8125 C 4.347656 -6.8125 4.675781 -6.773438 5 -6.703125 C 5.320312 -6.628906 5.632812 -6.523438 5.9375 -6.390625 Z M 5.9375 -6.390625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-5">
<path style="stroke:none;" d="M 1.109375 -9.234375 L 2.203125 -9.234375 L 2.203125 -3.78125 L 5.453125 -6.640625 L 6.859375 -6.640625 L 3.328125 -3.53125 L 7 0 L 5.578125 0 L 2.203125 -3.25 L 2.203125 0 L 1.109375 0 Z M 1.109375 -9.234375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-6">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph2-7">
<path style="stroke:none;" d="M 5.390625 -6.453125 L 5.390625 -5.421875 C 5.078125 -5.578125 4.753906 -5.691406 4.421875 -5.765625 C 4.085938 -5.847656 3.742188 -5.890625 3.390625 -5.890625 C 2.847656 -5.890625 2.441406 -5.804688 2.171875 -5.640625 C 1.898438 -5.472656 1.765625 -5.222656 1.765625 -4.890625 C 1.765625 -4.640625 1.859375 -4.441406 2.046875 -4.296875 C 2.242188 -4.148438 2.632812 -4.015625 3.21875 -3.890625 L 3.59375 -3.8125 C 4.375 -3.644531 4.925781 -3.40625 5.25 -3.09375 C 5.570312 -2.789062 5.734375 -2.367188 5.734375 -1.828125 C 5.734375 -1.210938 5.488281 -0.722656 5 -0.359375 C 4.519531 -0.00390625 3.847656 0.171875 2.984375 0.171875 C 2.628906 0.171875 2.257812 0.132812 1.875 0.0625 C 1.488281 0 1.082031 -0.101562 0.65625 -0.25 L 0.65625 -1.375 C 1.0625 -1.164062 1.457031 -1.003906 1.84375 -0.890625 C 2.238281 -0.785156 2.628906 -0.734375 3.015625 -0.734375 C 3.523438 -0.734375 3.921875 -0.820312 4.203125 -1 C 4.484375 -1.175781 4.625 -1.425781 4.625 -1.75 C 4.625 -2.050781 4.519531 -2.28125 4.3125 -2.4375 C 4.113281 -2.59375 3.675781 -2.742188 3 -2.890625 L 2.625 -2.984375 C 1.945312 -3.117188 1.457031 -3.332031 1.15625 -3.625 C 0.851562 -3.925781 0.703125 -4.332031 0.703125 -4.84375 C 0.703125 -5.46875 0.921875 -5.953125 1.359375 -6.296875 C 1.804688 -6.640625 2.441406 -6.8125 3.265625 -6.8125 C 3.660156 -6.8125 4.035156 -6.78125 4.390625 -6.71875 C 4.753906 -6.65625 5.085938 -6.566406 5.390625 -6.453125 Z M 5.390625 -6.453125 "/>
</symbol>
<symbol overflow="visible" id="glyph2-8">
<path style="stroke:none;" d="M 2.21875 -8.53125 L 2.21875 -6.640625 L 4.46875 -6.640625 L 4.46875 -5.796875 L 2.21875 -5.796875 L 2.21875 -2.1875 C 2.21875 -1.644531 2.289062 -1.296875 2.4375 -1.140625 C 2.59375 -0.992188 2.898438 -0.921875 3.359375 -0.921875 L 4.46875 -0.921875 L 4.46875 0 L 3.359375 0 C 2.515625 0 1.929688 -0.15625 1.609375 -0.46875 C 1.285156 -0.78125 1.125 -1.351562 1.125 -2.1875 L 1.125 -5.796875 L 0.328125 -5.796875 L 0.328125 -6.640625 L 1.125 -6.640625 L 1.125 -8.53125 Z M 2.21875 -8.53125 "/>
</symbol>
<symbol overflow="visible" id="glyph2-9">
<path style="stroke:none;" d="M 3.71875 -5.875 C 3.132812 -5.875 2.671875 -5.644531 2.328125 -5.1875 C 1.992188 -4.738281 1.828125 -4.113281 1.828125 -3.3125 C 1.828125 -2.519531 1.992188 -1.894531 2.328125 -1.4375 C 2.671875 -0.976562 3.132812 -0.75 3.71875 -0.75 C 4.300781 -0.75 4.757812 -0.976562 5.09375 -1.4375 C 5.4375 -1.894531 5.609375 -2.519531 5.609375 -3.3125 C 5.609375 -4.101562 5.4375 -4.726562 5.09375 -5.1875 C 4.757812 -5.644531 4.300781 -5.875 3.71875 -5.875 Z M 3.71875 -6.8125 C 4.664062 -6.8125 5.410156 -6.5 5.953125 -5.875 C 6.492188 -5.257812 6.765625 -4.40625 6.765625 -3.3125 C 6.765625 -2.226562 6.492188 -1.375 5.953125 -0.75 C 5.410156 -0.132812 4.664062 0.171875 3.71875 0.171875 C 2.769531 0.171875 2.023438 -0.132812 1.484375 -0.75 C 0.941406 -1.375 0.671875 -2.226562 0.671875 -3.3125 C 0.671875 -4.40625 0.941406 -5.257812 1.484375 -5.875 C 2.023438 -6.5 2.769531 -6.8125 3.71875 -6.8125 Z M 3.71875 -6.8125 "/>
</symbol>
<symbol overflow="visible" id="glyph2-10">
<path style="stroke:none;" d="M 5 -5.625 C 4.875 -5.695312 4.738281 -5.75 4.59375 -5.78125 C 4.445312 -5.8125 4.289062 -5.828125 4.125 -5.828125 C 3.5 -5.828125 3.019531 -5.625 2.6875 -5.21875 C 2.363281 -4.820312 2.203125 -4.25 2.203125 -3.5 L 2.203125 0 L 1.109375 0 L 1.109375 -6.640625 L 2.203125 -6.640625 L 2.203125 -5.609375 C 2.429688 -6.015625 2.726562 -6.316406 3.09375 -6.515625 C 3.46875 -6.710938 3.914062 -6.8125 4.4375 -6.8125 C 4.507812 -6.8125 4.59375 -6.804688 4.6875 -6.796875 C 4.78125 -6.785156 4.878906 -6.769531 4.984375 -6.75 Z M 5 -5.625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-11">
<path style="stroke:none;" d="M 4.171875 -3.34375 C 3.285156 -3.34375 2.671875 -3.238281 2.328125 -3.03125 C 1.992188 -2.832031 1.828125 -2.488281 1.828125 -2 C 1.828125 -1.613281 1.953125 -1.304688 2.203125 -1.078125 C 2.460938 -0.847656 2.8125 -0.734375 3.25 -0.734375 C 3.851562 -0.734375 4.335938 -0.945312 4.703125 -1.375 C 5.066406 -1.8125 5.25 -2.382812 5.25 -3.09375 L 5.25 -3.34375 Z M 6.34375 -3.796875 L 6.34375 0 L 5.25 0 L 5.25 -1.015625 C 5 -0.609375 4.6875 -0.304688 4.3125 -0.109375 C 3.945312 0.078125 3.492188 0.171875 2.953125 0.171875 C 2.273438 0.171875 1.734375 -0.015625 1.328125 -0.390625 C 0.929688 -0.773438 0.734375 -1.289062 0.734375 -1.9375 C 0.734375 -2.6875 0.984375 -3.25 1.484375 -3.625 C 1.984375 -4.007812 2.726562 -4.203125 3.71875 -4.203125 L 5.25 -4.203125 L 5.25 -4.296875 C 5.25 -4.804688 5.082031 -5.195312 4.75 -5.46875 C 4.425781 -5.738281 3.960938 -5.875 3.359375 -5.875 C 2.984375 -5.875 2.613281 -5.828125 2.25 -5.734375 C 1.894531 -5.648438 1.550781 -5.519531 1.21875 -5.34375 L 1.21875 -6.34375 C 1.613281 -6.5 2 -6.613281 2.375 -6.6875 C 2.75 -6.769531 3.117188 -6.8125 3.484375 -6.8125 C 4.441406 -6.8125 5.15625 -6.5625 5.625 -6.0625 C 6.101562 -5.5625 6.34375 -4.804688 6.34375 -3.796875 Z M 6.34375 -3.796875 "/>
</symbol>
<symbol overflow="visible" id="glyph2-12">
<path style="stroke:none;" d="M 5.515625 -3.40625 C 5.515625 -4.195312 5.351562 -4.804688 5.03125 -5.234375 C 4.707031 -5.671875 4.25 -5.890625 3.65625 -5.890625 C 3.070312 -5.890625 2.613281 -5.671875 2.28125 -5.234375 C 1.957031 -4.804688 1.796875 -4.195312 1.796875 -3.40625 C 1.796875 -2.613281 1.957031 -2 2.28125 -1.5625 C 2.613281 -1.132812 3.070312 -0.921875 3.65625 -0.921875 C 4.25 -0.921875 4.707031 -1.132812 5.03125 -1.5625 C 5.351562 -2 5.515625 -2.613281 5.515625 -3.40625 Z M 6.609375 -0.828125 C 6.609375 0.304688 6.359375 1.148438 5.859375 1.703125 C 5.359375 2.253906 4.585938 2.53125 3.546875 2.53125 C 3.160156 2.53125 2.796875 2.5 2.453125 2.4375 C 2.117188 2.382812 1.789062 2.296875 1.46875 2.171875 L 1.46875 1.109375 C 1.789062 1.285156 2.109375 1.414062 2.421875 1.5 C 2.734375 1.582031 3.050781 1.625 3.375 1.625 C 4.09375 1.625 4.628906 1.4375 4.984375 1.0625 C 5.335938 0.6875 5.515625 0.125 5.515625 -0.625 L 5.515625 -1.171875 C 5.296875 -0.773438 5.007812 -0.476562 4.65625 -0.28125 C 4.300781 -0.09375 3.878906 0 3.390625 0 C 2.578125 0 1.921875 -0.304688 1.421875 -0.921875 C 0.921875 -1.546875 0.671875 -2.375 0.671875 -3.40625 C 0.671875 -4.425781 0.921875 -5.25 1.421875 -5.875 C 1.921875 -6.5 2.578125 -6.8125 3.390625 -6.8125 C 3.878906 -6.8125 4.300781 -6.710938 4.65625 -6.515625 C 5.007812 -6.316406 5.296875 -6.023438 5.515625 -5.640625 L 5.515625 -6.640625 L 6.609375 -6.640625 Z M 6.609375 -0.828125 "/>
</symbol>
<symbol overflow="visible" id="glyph2-13">
<path style="stroke:none;" d="M 4.515625 -9.234375 L 4.515625 -8.328125 L 3.46875 -8.328125 C 3.070312 -8.328125 2.796875 -8.25 2.640625 -8.09375 C 2.492188 -7.9375 2.421875 -7.648438 2.421875 -7.234375 L 2.421875 -6.640625 L 4.21875 -6.640625 L 4.21875 -5.796875 L 2.421875 -5.796875 L 2.421875 0 L 1.328125 0 L 1.328125 -5.796875 L 0.28125 -5.796875 L 0.28125 -6.640625 L 1.328125 -6.640625 L 1.328125 -7.109375 C 1.328125 -7.847656 1.5 -8.382812 1.84375 -8.71875 C 2.1875 -9.0625 2.734375 -9.234375 3.484375 -9.234375 Z M 4.515625 -9.234375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-14">
<path style="stroke:none;" d="M 5.515625 -5.640625 L 5.515625 -9.234375 L 6.609375 -9.234375 L 6.609375 0 L 5.515625 0 L 5.515625 -1 C 5.285156 -0.601562 4.992188 -0.304688 4.640625 -0.109375 C 4.296875 0.078125 3.878906 0.171875 3.390625 0.171875 C 2.585938 0.171875 1.929688 -0.144531 1.421875 -0.78125 C 0.921875 -1.425781 0.671875 -2.269531 0.671875 -3.3125 C 0.671875 -4.363281 0.921875 -5.207031 1.421875 -5.84375 C 1.929688 -6.488281 2.585938 -6.8125 3.390625 -6.8125 C 3.878906 -6.8125 4.296875 -6.710938 4.640625 -6.515625 C 4.992188 -6.328125 5.285156 -6.035156 5.515625 -5.640625 Z M 1.796875 -3.3125 C 1.796875 -2.507812 1.960938 -1.878906 2.296875 -1.421875 C 2.628906 -0.960938 3.082031 -0.734375 3.65625 -0.734375 C 4.226562 -0.734375 4.679688 -0.960938 5.015625 -1.421875 C 5.347656 -1.878906 5.515625 -2.507812 5.515625 -3.3125 C 5.515625 -4.113281 5.347656 -4.742188 5.015625 -5.203125 C 4.679688 -5.660156 4.226562 -5.890625 3.65625 -5.890625 C 3.082031 -5.890625 2.628906 -5.660156 2.296875 -5.203125 C 1.960938 -4.742188 1.796875 -4.113281 1.796875 -3.3125 Z M 1.796875 -3.3125 "/>
</symbol>
<symbol overflow="visible" id="glyph2-15">
<path style="stroke:none;" d="M 1.5 -1.015625 L 3.46875 -1.015625 L 3.46875 -7.765625 L 1.328125 -7.34375 L 1.328125 -8.4375 L 3.453125 -8.859375 L 4.65625 -8.859375 L 4.65625 -1.015625 L 6.609375 -1.015625 L 6.609375 0 L 1.5 0 Z M 1.5 -1.015625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-16">
<path style="stroke:none;" d="M 3.859375 -8.078125 C 3.242188 -8.078125 2.78125 -7.769531 2.46875 -7.15625 C 2.15625 -6.550781 2 -5.640625 2 -4.421875 C 2 -3.203125 2.15625 -2.289062 2.46875 -1.6875 C 2.78125 -1.082031 3.242188 -0.78125 3.859375 -0.78125 C 4.484375 -0.78125 4.953125 -1.082031 5.265625 -1.6875 C 5.578125 -2.289062 5.734375 -3.203125 5.734375 -4.421875 C 5.734375 -5.640625 5.578125 -6.550781 5.265625 -7.15625 C 4.953125 -7.769531 4.484375 -8.078125 3.859375 -8.078125 Z M 3.859375 -9.015625 C 4.859375 -9.015625 5.617188 -8.625 6.140625 -7.84375 C 6.660156 -7.0625 6.921875 -5.921875 6.921875 -4.421875 C 6.921875 -2.929688 6.660156 -1.789062 6.140625 -1 C 5.617188 -0.21875 4.859375 0.171875 3.859375 0.171875 C 2.867188 0.171875 2.109375 -0.21875 1.578125 -1 C 1.054688 -1.789062 0.796875 -2.929688 0.796875 -4.421875 C 0.796875 -5.921875 1.054688 -7.0625 1.578125 -7.84375 C 2.109375 -8.625 2.867188 -9.015625 3.859375 -9.015625 Z M 3.859375 -9.015625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-17">
<path style="stroke:none;" d="M 1.296875 -1.5 L 2.546875 -1.5 L 2.546875 0 L 1.296875 0 Z M 1.296875 -1.5 "/>
</symbol>
<symbol overflow="visible" id="glyph2-18">
<path style="stroke:none;" d="M 5.921875 -3.3125 C 5.921875 -4.113281 5.753906 -4.742188 5.421875 -5.203125 C 5.085938 -5.660156 4.632812 -5.890625 4.0625 -5.890625 C 3.476562 -5.890625 3.019531 -5.660156 2.6875 -5.203125 C 2.363281 -4.742188 2.203125 -4.113281 2.203125 -3.3125 C 2.203125 -2.507812 2.363281 -1.878906 2.6875 -1.421875 C 3.019531 -0.960938 3.476562 -0.734375 4.0625 -0.734375 C 4.632812 -0.734375 5.085938 -0.960938 5.421875 -1.421875 C 5.753906 -1.878906 5.921875 -2.507812 5.921875 -3.3125 Z M 2.203125 -5.640625 C 2.429688 -6.035156 2.71875 -6.328125 3.0625 -6.515625 C 3.414062 -6.710938 3.835938 -6.8125 4.328125 -6.8125 C 5.128906 -6.8125 5.78125 -6.488281 6.28125 -5.84375 C 6.789062 -5.207031 7.046875 -4.363281 7.046875 -3.3125 C 7.046875 -2.269531 6.789062 -1.425781 6.28125 -0.78125 C 5.78125 -0.144531 5.128906 0.171875 4.328125 0.171875 C 3.835938 0.171875 3.414062 0.078125 3.0625 -0.109375 C 2.71875 -0.304688 2.429688 -0.601562 2.203125 -1 L 2.203125 0 L 1.109375 0 L 1.109375 -9.234375 L 2.203125 -9.234375 Z M 2.203125 -5.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-19">
<path style="stroke:none;" d="M 1.140625 -6.640625 L 2.234375 -6.640625 L 2.234375 0 L 1.140625 0 Z M 1.140625 -9.234375 L 2.234375 -9.234375 L 2.234375 -7.859375 L 1.140625 -7.859375 Z M 1.140625 -9.234375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-20">
<path style="stroke:none;" d="M 6.671875 -4.015625 L 6.671875 0 L 5.578125 0 L 5.578125 -3.984375 C 5.578125 -4.609375 5.453125 -5.078125 5.203125 -5.390625 C 4.960938 -5.703125 4.597656 -5.859375 4.109375 -5.859375 C 3.515625 -5.859375 3.046875 -5.671875 2.703125 -5.296875 C 2.367188 -4.921875 2.203125 -4.40625 2.203125 -3.75 L 2.203125 0 L 1.109375 0 L 1.109375 -6.640625 L 2.203125 -6.640625 L 2.203125 -5.609375 C 2.460938 -6.015625 2.769531 -6.316406 3.125 -6.515625 C 3.476562 -6.710938 3.882812 -6.8125 4.34375 -6.8125 C 5.113281 -6.8125 5.691406 -6.570312 6.078125 -6.09375 C 6.472656 -5.625 6.671875 -4.929688 6.671875 -4.015625 Z M 6.671875 -4.015625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-21">
<path style="stroke:none;" d="M 1.1875 -8.859375 L 6.796875 -8.859375 L 6.796875 -7.859375 L 2.390625 -7.859375 L 2.390625 -5.234375 L 6.609375 -5.234375 L 6.609375 -4.21875 L 2.390625 -4.21875 L 2.390625 -1.015625 L 6.90625 -1.015625 L 6.90625 0 L 1.1875 0 Z M 1.1875 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-22">
<path style="stroke:none;" d="M 6.671875 -6.640625 L 4.265625 -3.40625 L 6.796875 0 L 5.515625 0 L 3.578125 -2.609375 L 1.640625 0 L 0.34375 0 L 2.9375 -3.484375 L 0.5625 -6.640625 L 1.859375 -6.640625 L 3.625 -4.28125 L 5.390625 -6.640625 Z M 6.671875 -6.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-23">
<path style="stroke:none;" d="M 2.328125 -1.5 L 3.53125 -1.5 L 3.53125 0 L 2.328125 0 Z M 3.484375 -2.375 L 2.359375 -2.375 L 2.359375 -3.296875 C 2.359375 -3.691406 2.410156 -4.019531 2.515625 -4.28125 C 2.628906 -4.539062 2.863281 -4.835938 3.21875 -5.171875 L 3.75 -5.703125 C 3.976562 -5.910156 4.140625 -6.109375 4.234375 -6.296875 C 4.335938 -6.484375 4.390625 -6.675781 4.390625 -6.875 C 4.390625 -7.21875 4.257812 -7.5 4 -7.71875 C 3.75 -7.9375 3.410156 -8.046875 2.984375 -8.046875 C 2.671875 -8.046875 2.335938 -7.976562 1.984375 -7.84375 C 1.628906 -7.707031 1.257812 -7.503906 0.875 -7.234375 L 0.875 -8.34375 C 1.25 -8.570312 1.625 -8.738281 2 -8.84375 C 2.382812 -8.957031 2.78125 -9.015625 3.1875 -9.015625 C 3.914062 -9.015625 4.5 -8.820312 4.9375 -8.4375 C 5.382812 -8.0625 5.609375 -7.554688 5.609375 -6.921875 C 5.609375 -6.617188 5.535156 -6.332031 5.390625 -6.0625 C 5.242188 -5.789062 4.992188 -5.488281 4.640625 -5.15625 L 4.125 -4.640625 C 3.9375 -4.453125 3.800781 -4.304688 3.71875 -4.203125 C 3.644531 -4.097656 3.59375 -4 3.5625 -3.90625 C 3.539062 -3.820312 3.519531 -3.71875 3.5 -3.59375 C 3.488281 -3.476562 3.484375 -3.316406 3.484375 -3.109375 Z M 3.484375 -2.375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-24">
<path style="stroke:none;" d="M 1.1875 -8.859375 L 2.390625 -8.859375 L 2.390625 -1.015625 L 6.703125 -1.015625 L 6.703125 0 L 1.1875 0 Z M 1.1875 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-25">
<path style="stroke:none;" d="M 1.140625 -9.234375 L 2.234375 -9.234375 L 2.234375 0 L 1.140625 0 Z M 1.140625 -9.234375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-26">
<path style="stroke:none;" d="M 3.484375 -9.234375 L 6.515625 -9.234375 L 6.515625 0 L 5.421875 0 L 5.421875 -8.328125 L 3.46875 -8.328125 C 3.070312 -8.328125 2.796875 -8.25 2.640625 -8.09375 C 2.492188 -7.9375 2.421875 -7.648438 2.421875 -7.234375 L 2.421875 -6.640625 L 4.21875 -6.640625 L 4.21875 -5.796875 L 2.421875 -5.796875 L 2.421875 0 L 1.328125 0 L 1.328125 -5.796875 L 0.28125 -5.796875 L 0.28125 -6.640625 L 1.328125 -6.640625 L 1.328125 -7.109375 C 1.328125 -7.847656 1.5 -8.382812 1.84375 -8.71875 C 2.1875 -9.0625 2.734375 -9.234375 3.484375 -9.234375 Z M 3.484375 -9.234375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-27">
<path style="stroke:none;" d="M 2.390625 -4.234375 L 2.390625 -0.984375 L 4.3125 -0.984375 C 4.957031 -0.984375 5.4375 -1.113281 5.75 -1.375 C 6.0625 -1.644531 6.21875 -2.054688 6.21875 -2.609375 C 6.21875 -3.160156 6.0625 -3.566406 5.75 -3.828125 C 5.4375 -4.097656 4.957031 -4.234375 4.3125 -4.234375 Z M 2.390625 -7.875 L 2.390625 -5.203125 L 4.171875 -5.203125 C 4.753906 -5.203125 5.1875 -5.3125 5.46875 -5.53125 C 5.757812 -5.75 5.90625 -6.085938 5.90625 -6.546875 C 5.90625 -6.992188 5.757812 -7.328125 5.46875 -7.546875 C 5.1875 -7.765625 4.753906 -7.875 4.171875 -7.875 Z M 1.1875 -8.859375 L 4.25 -8.859375 C 5.164062 -8.859375 5.867188 -8.664062 6.359375 -8.28125 C 6.859375 -7.90625 7.109375 -7.367188 7.109375 -6.671875 C 7.109375 -6.128906 6.976562 -5.695312 6.71875 -5.375 C 6.46875 -5.050781 6.097656 -4.851562 5.609375 -4.78125 C 6.203125 -4.65625 6.660156 -4.390625 6.984375 -3.984375 C 7.316406 -3.585938 7.484375 -3.085938 7.484375 -2.484375 C 7.484375 -1.691406 7.210938 -1.078125 6.671875 -0.640625 C 6.128906 -0.210938 5.363281 0 4.375 0 L 1.1875 0 Z M 1.1875 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-28">
<path style="stroke:none;" d="M 1.03125 -2.625 L 1.03125 -6.640625 L 2.125 -6.640625 L 2.125 -2.671875 C 2.125 -2.035156 2.242188 -1.5625 2.484375 -1.25 C 2.734375 -0.9375 3.101562 -0.78125 3.59375 -0.78125 C 4.1875 -0.78125 4.65625 -0.96875 5 -1.34375 C 5.34375 -1.71875 5.515625 -2.226562 5.515625 -2.875 L 5.515625 -6.640625 L 6.59375 -6.640625 L 6.59375 0 L 5.515625 0 L 5.515625 -1.015625 C 5.242188 -0.617188 4.929688 -0.320312 4.578125 -0.125 C 4.234375 0.0703125 3.828125 0.171875 3.359375 0.171875 C 2.597656 0.171875 2.019531 -0.0625 1.625 -0.53125 C 1.226562 -1.007812 1.03125 -1.707031 1.03125 -2.625 Z M 3.78125 -6.8125 Z M 3.78125 -6.8125 "/>
</symbol>
<symbol overflow="visible" id="glyph2-29">
<path style="stroke:none;" d="M 2.203125 -1 L 2.203125 2.53125 L 1.109375 2.53125 L 1.109375 -6.640625 L 2.203125 -6.640625 L 2.203125 -5.640625 C 2.429688 -6.035156 2.71875 -6.328125 3.0625 -6.515625 C 3.414062 -6.710938 3.835938 -6.8125 4.328125 -6.8125 C 5.128906 -6.8125 5.78125 -6.488281 6.28125 -5.84375 C 6.789062 -5.207031 7.046875 -4.363281 7.046875 -3.3125 C 7.046875 -2.269531 6.789062 -1.425781 6.28125 -0.78125 C 5.78125 -0.144531 5.128906 0.171875 4.328125 0.171875 C 3.835938 0.171875 3.414062 0.078125 3.0625 -0.109375 C 2.71875 -0.304688 2.429688 -0.601562 2.203125 -1 Z M 5.921875 -3.3125 C 5.921875 -4.113281 5.753906 -4.742188 5.421875 -5.203125 C 5.085938 -5.660156 4.632812 -5.890625 4.0625 -5.890625 C 3.476562 -5.890625 3.019531 -5.660156 2.6875 -5.203125 C 2.363281 -4.742188 2.203125 -4.113281 2.203125 -3.3125 C 2.203125 -2.507812 2.363281 -1.878906 2.6875 -1.421875 C 3.019531 -0.960938 3.476562 -0.734375 4.0625 -0.734375 C 4.632812 -0.734375 5.085938 -0.960938 5.421875 -1.421875 C 5.753906 -1.878906 5.921875 -2.507812 5.921875 -3.3125 Z M 5.921875 -3.3125 "/>
</symbol>
<symbol overflow="visible" id="glyph2-30">
<path style="stroke:none;" d="M 4.796875 -8.046875 C 3.921875 -8.046875 3.226562 -7.722656 2.71875 -7.078125 C 2.207031 -6.429688 1.953125 -5.546875 1.953125 -4.421875 C 1.953125 -3.304688 2.207031 -2.421875 2.71875 -1.765625 C 3.226562 -1.117188 3.921875 -0.796875 4.796875 -0.796875 C 5.660156 -0.796875 6.347656 -1.117188 6.859375 -1.765625 C 7.367188 -2.421875 7.625 -3.304688 7.625 -4.421875 C 7.625 -5.546875 7.367188 -6.429688 6.859375 -7.078125 C 6.347656 -7.722656 5.660156 -8.046875 4.796875 -8.046875 Z M 4.796875 -9.015625 C 6.035156 -9.015625 7.023438 -8.597656 7.765625 -7.765625 C 8.515625 -6.929688 8.890625 -5.816406 8.890625 -4.421875 C 8.890625 -3.023438 8.515625 -1.910156 7.765625 -1.078125 C 7.023438 -0.242188 6.035156 0.171875 4.796875 0.171875 C 3.546875 0.171875 2.546875 -0.242188 1.796875 -1.078125 C 1.054688 -1.910156 0.6875 -3.023438 0.6875 -4.421875 C 0.6875 -5.816406 1.054688 -6.929688 1.796875 -7.765625 C 2.546875 -8.597656 3.546875 -9.015625 4.796875 -9.015625 Z M 4.796875 -9.015625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-31">
<path style="stroke:none;" d="M 1.0625 -8.859375 L 2.265625 -8.859375 L 2.265625 -3.484375 C 2.265625 -2.523438 2.4375 -1.835938 2.78125 -1.421875 C 3.125 -1.003906 3.679688 -0.796875 4.453125 -0.796875 C 5.222656 -0.796875 5.78125 -1.003906 6.125 -1.421875 C 6.46875 -1.835938 6.640625 -2.523438 6.640625 -3.484375 L 6.640625 -8.859375 L 7.84375 -8.859375 L 7.84375 -3.328125 C 7.84375 -2.171875 7.554688 -1.296875 6.984375 -0.703125 C 6.410156 -0.117188 5.566406 0.171875 4.453125 0.171875 C 3.328125 0.171875 2.476562 -0.117188 1.90625 -0.703125 C 1.34375 -1.296875 1.0625 -2.171875 1.0625 -3.328125 Z M 1.0625 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-32">
<path style="stroke:none;" d="M 6.5 -8.578125 L 6.5 -7.40625 C 6.050781 -7.625 5.625 -7.785156 5.21875 -7.890625 C 4.8125 -7.992188 4.421875 -8.046875 4.046875 -8.046875 C 3.390625 -8.046875 2.882812 -7.914062 2.53125 -7.65625 C 2.175781 -7.40625 2 -7.050781 2 -6.59375 C 2 -6.195312 2.117188 -5.898438 2.359375 -5.703125 C 2.597656 -5.503906 3.046875 -5.34375 3.703125 -5.21875 L 4.421875 -5.0625 C 5.316406 -4.894531 5.976562 -4.597656 6.40625 -4.171875 C 6.832031 -3.742188 7.046875 -3.171875 7.046875 -2.453125 C 7.046875 -1.585938 6.753906 -0.929688 6.171875 -0.484375 C 5.597656 -0.046875 4.753906 0.171875 3.640625 0.171875 C 3.222656 0.171875 2.773438 0.125 2.296875 0.03125 C 1.828125 -0.0625 1.34375 -0.203125 0.84375 -0.390625 L 0.84375 -1.625 C 1.320312 -1.351562 1.796875 -1.144531 2.265625 -1 C 2.734375 -0.863281 3.191406 -0.796875 3.640625 -0.796875 C 4.328125 -0.796875 4.851562 -0.929688 5.21875 -1.203125 C 5.59375 -1.472656 5.78125 -1.859375 5.78125 -2.359375 C 5.78125 -2.796875 5.644531 -3.132812 5.375 -3.375 C 5.113281 -3.625 4.679688 -3.804688 4.078125 -3.921875 L 3.34375 -4.078125 C 2.445312 -4.253906 1.796875 -4.53125 1.390625 -4.90625 C 0.992188 -5.289062 0.796875 -5.820312 0.796875 -6.5 C 0.796875 -7.28125 1.070312 -7.894531 1.625 -8.34375 C 2.175781 -8.789062 2.9375 -9.015625 3.90625 -9.015625 C 4.320312 -9.015625 4.742188 -8.976562 5.171875 -8.90625 C 5.609375 -8.832031 6.050781 -8.722656 6.5 -8.578125 Z M 6.5 -8.578125 "/>
</symbol>
<symbol overflow="visible" id="glyph2-33">
<path style="stroke:none;" d="M 0.59375 -3.8125 L 3.796875 -3.8125 L 3.796875 -2.84375 L 0.59375 -2.84375 Z M 0.59375 -3.8125 "/>
</symbol>
<symbol overflow="visible" id="glyph2-34">
<path style="stroke:none;" d="M 5.390625 -4.15625 C 5.648438 -4.070312 5.898438 -3.882812 6.140625 -3.59375 C 6.390625 -3.3125 6.632812 -2.921875 6.875 -2.421875 L 8.09375 0 L 6.8125 0 L 5.671875 -2.265625 C 5.378906 -2.859375 5.09375 -3.253906 4.8125 -3.453125 C 4.539062 -3.648438 4.171875 -3.75 3.703125 -3.75 L 2.390625 -3.75 L 2.390625 0 L 1.1875 0 L 1.1875 -8.859375 L 3.90625 -8.859375 C 4.914062 -8.859375 5.671875 -8.644531 6.171875 -8.21875 C 6.671875 -7.800781 6.921875 -7.164062 6.921875 -6.3125 C 6.921875 -5.75 6.789062 -5.285156 6.53125 -4.921875 C 6.269531 -4.554688 5.890625 -4.300781 5.390625 -4.15625 Z M 2.390625 -7.875 L 2.390625 -4.734375 L 3.90625 -4.734375 C 4.476562 -4.734375 4.910156 -4.863281 5.203125 -5.125 C 5.503906 -5.394531 5.65625 -5.789062 5.65625 -6.3125 C 5.65625 -6.832031 5.503906 -7.222656 5.203125 -7.484375 C 4.910156 -7.742188 4.476562 -7.875 3.90625 -7.875 Z M 2.390625 -7.875 "/>
</symbol>
<symbol overflow="visible" id="glyph2-35">
<path style="stroke:none;" d="M 1.1875 -8.859375 L 2.8125 -8.859375 L 6.734375 -1.453125 L 6.734375 -8.859375 L 7.90625 -8.859375 L 7.90625 0 L 6.28125 0 L 2.359375 -7.40625 L 2.359375 0 L 1.1875 0 Z M 1.1875 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-36">
<path style="stroke:none;" d="M -0.03125 -8.859375 L 1.265625 -8.859375 L 3.71875 -5.21875 L 6.15625 -8.859375 L 7.453125 -8.859375 L 4.3125 -4.21875 L 4.3125 0 L 3.109375 0 L 3.109375 -4.21875 Z M -0.03125 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-37">
<path style="stroke:none;" d="M 6.328125 -5.375 C 6.597656 -5.863281 6.921875 -6.222656 7.296875 -6.453125 C 7.679688 -6.691406 8.128906 -6.8125 8.640625 -6.8125 C 9.335938 -6.8125 9.875 -6.566406 10.25 -6.078125 C 10.625 -5.597656 10.8125 -4.910156 10.8125 -4.015625 L 10.8125 0 L 9.703125 0 L 9.703125 -3.984375 C 9.703125 -4.617188 9.585938 -5.085938 9.359375 -5.390625 C 9.140625 -5.703125 8.800781 -5.859375 8.34375 -5.859375 C 7.769531 -5.859375 7.316406 -5.671875 6.984375 -5.296875 C 6.660156 -4.921875 6.5 -4.40625 6.5 -3.75 L 6.5 0 L 5.40625 0 L 5.40625 -3.984375 C 5.40625 -4.617188 5.289062 -5.085938 5.0625 -5.390625 C 4.84375 -5.703125 4.5 -5.859375 4.03125 -5.859375 C 3.46875 -5.859375 3.019531 -5.664062 2.6875 -5.28125 C 2.363281 -4.90625 2.203125 -4.394531 2.203125 -3.75 L 2.203125 0 L 1.109375 0 L 1.109375 -6.640625 L 2.203125 -6.640625 L 2.203125 -5.609375 C 2.453125 -6.015625 2.75 -6.316406 3.09375 -6.515625 C 3.445312 -6.710938 3.863281 -6.8125 4.34375 -6.8125 C 4.820312 -6.8125 5.226562 -6.6875 5.5625 -6.4375 C 5.90625 -6.195312 6.160156 -5.84375 6.328125 -5.375 Z M 6.328125 -5.375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-38">
<path style="stroke:none;" d="M 3.90625 0.625 C 3.601562 1.40625 3.300781 1.914062 3 2.15625 C 2.707031 2.40625 2.316406 2.53125 1.828125 2.53125 L 0.96875 2.53125 L 0.96875 1.609375 L 1.609375 1.609375 C 1.898438 1.609375 2.128906 1.535156 2.296875 1.390625 C 2.460938 1.253906 2.648438 0.921875 2.859375 0.390625 L 3.046875 -0.109375 L 0.359375 -6.640625 L 1.515625 -6.640625 L 3.59375 -1.453125 L 5.671875 -6.640625 L 6.828125 -6.640625 Z M 3.90625 0.625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-39">
<path style="stroke:none;" d="M 1.1875 -8.859375 L 2.390625 -8.859375 L 2.390625 0 L 1.1875 0 Z M 1.1875 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-40">
<path style="stroke:none;" d="M 2.390625 -7.875 L 2.390625 -4.546875 L 3.90625 -4.546875 C 4.457031 -4.546875 4.882812 -4.6875 5.1875 -4.96875 C 5.5 -5.257812 5.65625 -5.675781 5.65625 -6.21875 C 5.65625 -6.75 5.5 -7.15625 5.1875 -7.4375 C 4.882812 -7.726562 4.457031 -7.875 3.90625 -7.875 Z M 1.1875 -8.859375 L 3.90625 -8.859375 C 4.894531 -8.859375 5.644531 -8.632812 6.15625 -8.1875 C 6.664062 -7.738281 6.921875 -7.082031 6.921875 -6.21875 C 6.921875 -5.34375 6.664062 -4.679688 6.15625 -4.234375 C 5.644531 -3.785156 4.894531 -3.5625 3.90625 -3.5625 L 2.390625 -3.5625 L 2.390625 0 L 1.1875 0 Z M 1.1875 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-41">
<path style="stroke:none;" d="M 2.171875 -8.859375 L 2.171875 -5.5625 L 1.171875 -5.5625 L 1.171875 -8.859375 Z M 4.421875 -8.859375 L 4.421875 -5.5625 L 3.40625 -5.5625 L 3.40625 -8.859375 Z M 4.421875 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-42">
<path style="stroke:none;" d="M 2.390625 -7.875 L 2.390625 -0.984375 L 3.84375 -0.984375 C 5.0625 -0.984375 5.953125 -1.257812 6.515625 -1.8125 C 7.085938 -2.363281 7.375 -3.238281 7.375 -4.4375 C 7.375 -5.625 7.085938 -6.492188 6.515625 -7.046875 C 5.953125 -7.597656 5.0625 -7.875 3.84375 -7.875 Z M 1.1875 -8.859375 L 3.65625 -8.859375 C 5.375 -8.859375 6.632812 -8.5 7.4375 -7.78125 C 8.238281 -7.070312 8.640625 -5.957031 8.640625 -4.4375 C 8.640625 -2.914062 8.234375 -1.796875 7.421875 -1.078125 C 6.617188 -0.359375 5.363281 0 3.65625 0 L 1.1875 0 Z M 1.1875 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-43">
<path style="stroke:none;" d="M 1.1875 -8.859375 L 2.984375 -8.859375 L 5.234375 -2.828125 L 7.515625 -8.859375 L 9.296875 -8.859375 L 9.296875 0 L 8.125 0 L 8.125 -7.78125 L 5.84375 -1.703125 L 4.640625 -1.703125 L 2.359375 -7.78125 L 2.359375 0 L 1.1875 0 Z M 1.1875 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph3-0">
<path style="stroke:none;" d="M 0.609375 2.15625 L 0.609375 -8.578125 L 6.6875 -8.578125 L 6.6875 2.15625 Z M 1.28125 1.46875 L 6 1.46875 L 6 -7.890625 L 1.28125 -7.890625 Z M 1.28125 1.46875 "/>
</symbol>
<symbol overflow="visible" id="glyph3-1">
<path style="stroke:none;" d="M 0.71875 -8.859375 L 8.21875 -8.859375 L 8.03125 -7.859375 L 4.859375 -7.859375 L 3.34375 0 L 2.140625 0 L 3.65625 -7.859375 L 0.515625 -7.859375 Z M 0.71875 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph3-2">
<path style="stroke:none;" d="M 6.765625 -4.015625 L 6 0 L 4.890625 0 L 5.671875 -3.96875 C 5.710938 -4.15625 5.738281 -4.316406 5.75 -4.453125 C 5.769531 -4.597656 5.78125 -4.710938 5.78125 -4.796875 C 5.78125 -5.128906 5.675781 -5.390625 5.46875 -5.578125 C 5.257812 -5.765625 4.96875 -5.859375 4.59375 -5.859375 C 4.007812 -5.859375 3.5 -5.660156 3.0625 -5.265625 C 2.632812 -4.867188 2.359375 -4.34375 2.234375 -3.6875 L 1.515625 0 L 0.421875 0 L 2.21875 -9.234375 L 3.3125 -9.234375 L 2.609375 -5.609375 C 2.890625 -5.972656 3.242188 -6.265625 3.671875 -6.484375 C 4.109375 -6.703125 4.5625 -6.8125 5.03125 -6.8125 C 5.613281 -6.8125 6.066406 -6.648438 6.390625 -6.328125 C 6.710938 -6.015625 6.875 -5.570312 6.875 -5 C 6.875 -4.851562 6.863281 -4.695312 6.84375 -4.53125 C 6.832031 -4.375 6.804688 -4.203125 6.765625 -4.015625 Z M 6.765625 -4.015625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-3">
<path style="stroke:none;" d="M 5.84375 -3.921875 C 5.851562 -3.984375 5.859375 -4.046875 5.859375 -4.109375 C 5.867188 -4.179688 5.875 -4.25 5.875 -4.3125 C 5.875 -4.800781 5.734375 -5.179688 5.453125 -5.453125 C 5.171875 -5.734375 4.785156 -5.875 4.296875 -5.875 C 3.753906 -5.875 3.273438 -5.703125 2.859375 -5.359375 C 2.453125 -5.023438 2.140625 -4.539062 1.921875 -3.90625 Z M 6.796875 -3.0625 L 1.71875 -3.0625 C 1.695312 -2.914062 1.679688 -2.796875 1.671875 -2.703125 C 1.660156 -2.617188 1.65625 -2.546875 1.65625 -2.484375 C 1.65625 -1.929688 1.820312 -1.503906 2.15625 -1.203125 C 2.5 -0.898438 2.976562 -0.75 3.59375 -0.75 C 4.070312 -0.75 4.519531 -0.800781 4.9375 -0.90625 C 5.363281 -1.019531 5.757812 -1.179688 6.125 -1.390625 L 5.921875 -0.296875 C 5.523438 -0.140625 5.117188 -0.0234375 4.703125 0.046875 C 4.285156 0.128906 3.863281 0.171875 3.4375 0.171875 C 2.507812 0.171875 1.796875 -0.046875 1.296875 -0.484375 C 0.804688 -0.929688 0.5625 -1.5625 0.5625 -2.375 C 0.5625 -3.0625 0.679688 -3.703125 0.921875 -4.296875 C 1.171875 -4.890625 1.535156 -5.421875 2.015625 -5.890625 C 2.328125 -6.179688 2.691406 -6.40625 3.109375 -6.5625 C 3.535156 -6.726562 3.988281 -6.8125 4.46875 -6.8125 C 5.226562 -6.8125 5.828125 -6.582031 6.265625 -6.125 C 6.710938 -5.675781 6.9375 -5.070312 6.9375 -4.3125 C 6.9375 -4.132812 6.925781 -3.941406 6.90625 -3.734375 C 6.882812 -3.523438 6.847656 -3.300781 6.796875 -3.0625 Z M 6.796875 -3.0625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-4">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph3-5">
<path style="stroke:none;" d="M 10.921875 -4.015625 L 10.140625 0 L 9.046875 0 L 9.8125 -3.984375 C 9.84375 -4.148438 9.863281 -4.289062 9.875 -4.40625 C 9.894531 -4.53125 9.90625 -4.640625 9.90625 -4.734375 C 9.90625 -5.085938 9.804688 -5.363281 9.609375 -5.5625 C 9.410156 -5.757812 9.132812 -5.859375 8.78125 -5.859375 C 8.25 -5.859375 7.773438 -5.660156 7.359375 -5.265625 C 6.941406 -4.867188 6.671875 -4.347656 6.546875 -3.703125 L 5.828125 0 L 4.734375 0 L 5.515625 -3.984375 C 5.546875 -4.128906 5.566406 -4.265625 5.578125 -4.390625 C 5.597656 -4.515625 5.609375 -4.625 5.609375 -4.71875 C 5.609375 -5.082031 5.507812 -5.363281 5.3125 -5.5625 C 5.113281 -5.757812 4.835938 -5.859375 4.484375 -5.859375 C 3.953125 -5.859375 3.476562 -5.660156 3.0625 -5.265625 C 2.644531 -4.867188 2.375 -4.347656 2.25 -3.703125 L 1.515625 0 L 0.421875 0 L 1.734375 -6.640625 L 2.8125 -6.640625 L 2.609375 -5.609375 C 2.910156 -6.003906 3.257812 -6.300781 3.65625 -6.5 C 4.050781 -6.707031 4.476562 -6.8125 4.9375 -6.8125 C 5.414062 -6.8125 5.8125 -6.679688 6.125 -6.421875 C 6.4375 -6.171875 6.625 -5.820312 6.6875 -5.375 C 7.019531 -5.84375 7.40625 -6.195312 7.84375 -6.4375 C 8.28125 -6.6875 8.738281 -6.8125 9.21875 -6.8125 C 9.789062 -6.8125 10.234375 -6.644531 10.546875 -6.3125 C 10.859375 -5.988281 11.015625 -5.523438 11.015625 -4.921875 C 11.015625 -4.785156 11.003906 -4.640625 10.984375 -4.484375 C 10.972656 -4.328125 10.953125 -4.171875 10.921875 -4.015625 Z M 10.921875 -4.015625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-6">
<path style="stroke:none;" d="M 6.53125 -3.796875 L 5.78125 0 L 4.6875 0 L 4.890625 -1.015625 C 4.578125 -0.617188 4.210938 -0.320312 3.796875 -0.125 C 3.390625 0.0703125 2.9375 0.171875 2.4375 0.171875 C 1.863281 0.171875 1.394531 0 1.03125 -0.34375 C 0.675781 -0.6875 0.5 -1.132812 0.5 -1.6875 C 0.5 -2.457031 0.804688 -3.066406 1.421875 -3.515625 C 2.046875 -3.972656 2.898438 -4.203125 3.984375 -4.203125 L 5.515625 -4.203125 L 5.5625 -4.484375 C 5.570312 -4.515625 5.578125 -4.546875 5.578125 -4.578125 C 5.585938 -4.617188 5.59375 -4.679688 5.59375 -4.765625 C 5.59375 -5.117188 5.445312 -5.390625 5.15625 -5.578125 C 4.875 -5.773438 4.472656 -5.875 3.953125 -5.875 C 3.597656 -5.875 3.234375 -5.828125 2.859375 -5.734375 C 2.484375 -5.648438 2.097656 -5.519531 1.703125 -5.34375 L 1.890625 -6.34375 C 2.304688 -6.5 2.707031 -6.613281 3.09375 -6.6875 C 3.488281 -6.769531 3.875 -6.8125 4.25 -6.8125 C 5.03125 -6.8125 5.625 -6.640625 6.03125 -6.296875 C 6.4375 -5.953125 6.640625 -5.457031 6.640625 -4.8125 C 6.640625 -4.6875 6.628906 -4.535156 6.609375 -4.359375 C 6.597656 -4.179688 6.570312 -3.992188 6.53125 -3.796875 Z M 5.34375 -3.34375 L 4.25 -3.34375 C 3.363281 -3.34375 2.703125 -3.222656 2.265625 -2.984375 C 1.835938 -2.742188 1.625 -2.375 1.625 -1.875 C 1.625 -1.519531 1.734375 -1.242188 1.953125 -1.046875 C 2.171875 -0.847656 2.472656 -0.75 2.859375 -0.75 C 3.453125 -0.75 3.972656 -0.960938 4.421875 -1.390625 C 4.867188 -1.816406 5.160156 -2.382812 5.296875 -3.09375 Z M 5.34375 -3.34375 "/>
</symbol>
<symbol overflow="visible" id="glyph3-7">
<path style="stroke:none;" d="M 2.21875 -9.234375 L 3.3125 -9.234375 L 3.046875 -7.859375 L 1.953125 -7.859375 Z M 1.734375 -6.640625 L 2.8125 -6.640625 L 1.515625 0 L 0.421875 0 Z M 1.734375 -6.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-8">
<path style="stroke:none;" d="M 6.765625 -4.015625 L 6 0 L 4.890625 0 L 5.671875 -3.96875 C 5.710938 -4.15625 5.738281 -4.316406 5.75 -4.453125 C 5.769531 -4.597656 5.78125 -4.710938 5.78125 -4.796875 C 5.78125 -5.128906 5.675781 -5.390625 5.46875 -5.578125 C 5.257812 -5.765625 4.96875 -5.859375 4.59375 -5.859375 C 4.007812 -5.859375 3.503906 -5.660156 3.078125 -5.265625 C 2.660156 -4.878906 2.382812 -4.351562 2.25 -3.6875 L 1.515625 0 L 0.421875 0 L 1.71875 -6.640625 L 2.8125 -6.640625 L 2.59375 -5.609375 C 2.894531 -5.984375 3.257812 -6.273438 3.6875 -6.484375 C 4.113281 -6.703125 4.5625 -6.8125 5.03125 -6.8125 C 5.613281 -6.8125 6.066406 -6.648438 6.390625 -6.328125 C 6.710938 -6.015625 6.875 -5.570312 6.875 -5 C 6.875 -4.851562 6.863281 -4.695312 6.84375 -4.53125 C 6.832031 -4.375 6.804688 -4.203125 6.765625 -4.015625 Z M 6.765625 -4.015625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-9">
<path style="stroke:none;" d="M 1 -1.5 L 2.25 -1.5 L 1.953125 0 L 0.703125 0 Z M 1 -1.5 "/>
</symbol>
<symbol overflow="visible" id="glyph3-10">
<path style="stroke:none;" d="M 6.03125 -4.09375 C 6.03125 -4.675781 5.898438 -5.117188 5.640625 -5.421875 C 5.390625 -5.734375 5.03125 -5.890625 4.5625 -5.890625 C 4.238281 -5.890625 3.925781 -5.804688 3.625 -5.640625 C 3.332031 -5.472656 3.070312 -5.234375 2.84375 -4.921875 C 2.613281 -4.609375 2.429688 -4.226562 2.296875 -3.78125 C 2.160156 -3.34375 2.09375 -2.90625 2.09375 -2.46875 C 2.09375 -1.914062 2.21875 -1.488281 2.46875 -1.1875 C 2.726562 -0.882812 3.09375 -0.734375 3.5625 -0.734375 C 3.90625 -0.734375 4.222656 -0.816406 4.515625 -0.984375 C 4.816406 -1.148438 5.070312 -1.382812 5.28125 -1.6875 C 5.5 -2.007812 5.675781 -2.390625 5.8125 -2.828125 C 5.957031 -3.273438 6.03125 -3.695312 6.03125 -4.09375 Z M 2.640625 -5.640625 C 2.941406 -6.023438 3.289062 -6.316406 3.6875 -6.515625 C 4.082031 -6.710938 4.523438 -6.8125 5.015625 -6.8125 C 5.691406 -6.8125 6.21875 -6.585938 6.59375 -6.140625 C 6.96875 -5.691406 7.15625 -5.066406 7.15625 -4.265625 C 7.15625 -3.609375 7.035156 -2.984375 6.796875 -2.390625 C 6.566406 -1.796875 6.234375 -1.265625 5.796875 -0.796875 C 5.503906 -0.484375 5.171875 -0.242188 4.796875 -0.078125 C 4.429688 0.0859375 4.046875 0.171875 3.640625 0.171875 C 3.171875 0.171875 2.773438 0.0703125 2.453125 -0.125 C 2.140625 -0.320312 1.898438 -0.613281 1.734375 -1 L 1.0625 2.53125 L -0.03125 2.53125 L 1.75 -6.640625 L 2.84375 -6.640625 Z M 2.640625 -5.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-11">
<path style="stroke:none;" d="M 3.015625 0.625 C 2.503906 1.46875 2.085938 1.992188 1.765625 2.203125 C 1.453125 2.421875 1.050781 2.53125 0.5625 2.53125 L -0.296875 2.53125 L -0.125 1.609375 L 0.515625 1.609375 C 0.816406 1.609375 1.070312 1.523438 1.28125 1.359375 C 1.5 1.191406 1.738281 0.867188 2 0.390625 L 2.34375 -0.25 L 0.875 -6.640625 L 2.03125 -6.640625 L 3.140625 -1.5625 L 6.1875 -6.640625 L 7.328125 -6.640625 Z M 3.015625 0.625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-12">
<path style="stroke:none;" d="M 6.078125 -6.453125 L 5.875 -5.421875 C 5.582031 -5.578125 5.273438 -5.691406 4.953125 -5.765625 C 4.628906 -5.847656 4.300781 -5.890625 3.96875 -5.890625 C 3.394531 -5.890625 2.941406 -5.789062 2.609375 -5.59375 C 2.273438 -5.40625 2.109375 -5.140625 2.109375 -4.796875 C 2.109375 -4.410156 2.492188 -4.113281 3.265625 -3.90625 C 3.328125 -3.882812 3.367188 -3.867188 3.390625 -3.859375 L 3.75 -3.75 C 4.476562 -3.550781 4.960938 -3.34375 5.203125 -3.125 C 5.441406 -2.90625 5.5625 -2.601562 5.5625 -2.21875 C 5.5625 -1.507812 5.28125 -0.929688 4.71875 -0.484375 C 4.164062 -0.046875 3.4375 0.171875 2.53125 0.171875 C 2.175781 0.171875 1.804688 0.132812 1.421875 0.0625 C 1.035156 0 0.609375 -0.101562 0.140625 -0.25 L 0.34375 -1.375 C 0.75 -1.164062 1.144531 -1.003906 1.53125 -0.890625 C 1.914062 -0.785156 2.285156 -0.734375 2.640625 -0.734375 C 3.179688 -0.734375 3.617188 -0.847656 3.953125 -1.078125 C 4.285156 -1.316406 4.453125 -1.609375 4.453125 -1.953125 C 4.453125 -2.335938 4.015625 -2.644531 3.140625 -2.875 L 2.640625 -3 C 2.085938 -3.144531 1.679688 -3.335938 1.421875 -3.578125 C 1.171875 -3.816406 1.046875 -4.125 1.046875 -4.5 C 1.046875 -5.207031 1.3125 -5.769531 1.84375 -6.1875 C 2.375 -6.601562 3.097656 -6.8125 4.015625 -6.8125 C 4.367188 -6.8125 4.71875 -6.78125 5.0625 -6.71875 C 5.40625 -6.65625 5.742188 -6.566406 6.078125 -6.453125 Z M 6.078125 -6.453125 "/>
</symbol>
<symbol overflow="visible" id="glyph3-13">
<path style="stroke:none;" d="M 6.515625 -6.390625 L 6.296875 -5.3125 C 6.035156 -5.5 5.753906 -5.640625 5.453125 -5.734375 C 5.160156 -5.828125 4.859375 -5.875 4.546875 -5.875 C 4.203125 -5.875 3.867188 -5.8125 3.546875 -5.6875 C 3.234375 -5.570312 2.972656 -5.398438 2.765625 -5.171875 C 2.421875 -4.828125 2.15625 -4.421875 1.96875 -3.953125 C 1.78125 -3.492188 1.6875 -3.019531 1.6875 -2.53125 C 1.6875 -1.925781 1.835938 -1.476562 2.140625 -1.1875 C 2.441406 -0.894531 2.894531 -0.75 3.5 -0.75 C 3.800781 -0.75 4.117188 -0.796875 4.453125 -0.890625 C 4.796875 -0.984375 5.148438 -1.117188 5.515625 -1.296875 L 5.3125 -0.21875 C 5 -0.09375 4.671875 0 4.328125 0.0625 C 3.992188 0.132812 3.65625 0.171875 3.3125 0.171875 C 2.425781 0.171875 1.742188 -0.046875 1.265625 -0.484375 C 0.796875 -0.929688 0.5625 -1.5625 0.5625 -2.375 C 0.5625 -3.0625 0.679688 -3.695312 0.921875 -4.28125 C 1.171875 -4.863281 1.539062 -5.382812 2.03125 -5.84375 C 2.363281 -6.164062 2.753906 -6.40625 3.203125 -6.5625 C 3.648438 -6.726562 4.140625 -6.8125 4.671875 -6.8125 C 4.972656 -6.8125 5.273438 -6.773438 5.578125 -6.703125 C 5.890625 -6.628906 6.203125 -6.523438 6.515625 -6.390625 Z M 6.515625 -6.390625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-14">
<path style="stroke:none;" d="M 5.421875 -5.640625 C 5.304688 -5.703125 5.175781 -5.75 5.03125 -5.78125 C 4.894531 -5.8125 4.742188 -5.828125 4.578125 -5.828125 C 3.992188 -5.828125 3.484375 -5.601562 3.046875 -5.15625 C 2.617188 -4.71875 2.332031 -4.128906 2.1875 -3.390625 L 1.515625 0 L 0.421875 0 L 1.734375 -6.640625 L 2.8125 -6.640625 L 2.609375 -5.609375 C 2.898438 -5.992188 3.242188 -6.289062 3.640625 -6.5 C 4.046875 -6.707031 4.476562 -6.8125 4.9375 -6.8125 C 5.050781 -6.8125 5.164062 -6.800781 5.28125 -6.78125 C 5.394531 -6.769531 5.507812 -6.75 5.625 -6.71875 Z M 5.421875 -5.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-15">
<path style="stroke:none;" d="M 5.140625 -6.640625 L 4.96875 -5.796875 L 2.796875 -5.796875 L 2.09375 -2.1875 C 2.0625 -2.050781 2.039062 -1.9375 2.03125 -1.84375 C 2.019531 -1.757812 2.015625 -1.691406 2.015625 -1.640625 C 2.015625 -1.390625 2.085938 -1.207031 2.234375 -1.09375 C 2.390625 -0.976562 2.640625 -0.921875 2.984375 -0.921875 L 4.078125 -0.921875 L 3.90625 0 L 2.859375 0 C 2.203125 0 1.710938 -0.125 1.390625 -0.375 C 1.078125 -0.632812 0.921875 -1.019531 0.921875 -1.53125 C 0.921875 -1.625 0.925781 -1.722656 0.9375 -1.828125 C 0.957031 -1.941406 0.976562 -2.0625 1 -2.1875 L 1.703125 -5.796875 L 0.78125 -5.796875 L 0.953125 -6.640625 L 1.859375 -6.640625 L 2.21875 -8.53125 L 3.3125 -8.53125 L 2.953125 -6.640625 Z M 5.140625 -6.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-16">
<path style="stroke:none;" d="M 1.03125 -6.640625 L 2.109375 -6.640625 L 2.390625 -1.296875 L 4.875 -6.640625 L 6.140625 -6.640625 L 6.5 -1.296875 L 8.859375 -6.640625 L 9.953125 -6.640625 L 6.921875 0 L 5.640625 0 L 5.3125 -5.515625 L 2.765625 0 L 1.484375 0 Z M 1.03125 -6.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-17">
<path style="stroke:none;" d="M 0.875 -6.640625 L 2.03125 -6.640625 L 3 -1 L 6.1875 -6.640625 L 7.34375 -6.640625 L 3.5625 0 L 2.09375 0 Z M 0.875 -6.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-18">
<path style="stroke:none;" d="M 0.8125 -2.640625 L 1.59375 -6.640625 L 2.6875 -6.640625 L 1.90625 -2.671875 C 1.875 -2.484375 1.847656 -2.316406 1.828125 -2.171875 C 1.804688 -2.035156 1.796875 -1.921875 1.796875 -1.828125 C 1.796875 -1.492188 1.898438 -1.234375 2.109375 -1.046875 C 2.316406 -0.867188 2.609375 -0.78125 2.984375 -0.78125 C 3.566406 -0.78125 4.070312 -0.976562 4.5 -1.375 C 4.925781 -1.769531 5.207031 -2.300781 5.34375 -2.96875 L 6.0625 -6.640625 L 7.15625 -6.640625 L 5.875 0 L 4.78125 0 L 5 -1.046875 C 4.6875 -0.660156 4.316406 -0.359375 3.890625 -0.140625 C 3.472656 0.0664062 3.023438 0.171875 2.546875 0.171875 C 1.960938 0.171875 1.503906 0.015625 1.171875 -0.296875 C 0.847656 -0.617188 0.6875 -1.066406 0.6875 -1.640625 C 0.6875 -1.753906 0.695312 -1.898438 0.71875 -2.078125 C 0.738281 -2.253906 0.769531 -2.441406 0.8125 -2.640625 Z M 0.8125 -2.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-19">
<path style="stroke:none;" d="M 3.09375 0.171875 C 2.3125 0.171875 1.691406 -0.0664062 1.234375 -0.546875 C 0.785156 -1.023438 0.5625 -1.679688 0.5625 -2.515625 C 0.5625 -2.992188 0.640625 -3.484375 0.796875 -3.984375 C 0.953125 -4.492188 1.15625 -4.914062 1.40625 -5.25 C 1.789062 -5.78125 2.222656 -6.171875 2.703125 -6.421875 C 3.191406 -6.679688 3.738281 -6.8125 4.34375 -6.8125 C 5.101562 -6.8125 5.710938 -6.570312 6.171875 -6.09375 C 6.640625 -5.625 6.875 -5.007812 6.875 -4.25 C 6.875 -3.726562 6.796875 -3.207031 6.640625 -2.6875 C 6.492188 -2.164062 6.296875 -1.734375 6.046875 -1.390625 C 5.648438 -0.859375 5.210938 -0.460938 4.734375 -0.203125 C 4.253906 0.046875 3.707031 0.171875 3.09375 0.171875 Z M 1.6875 -2.546875 C 1.6875 -1.953125 1.8125 -1.503906 2.0625 -1.203125 C 2.320312 -0.898438 2.707031 -0.75 3.21875 -0.75 C 3.945312 -0.75 4.550781 -1.066406 5.03125 -1.703125 C 5.507812 -2.347656 5.75 -3.160156 5.75 -4.140625 C 5.75 -4.710938 5.617188 -5.144531 5.359375 -5.4375 C 5.109375 -5.726562 4.734375 -5.875 4.234375 -5.875 C 3.816406 -5.875 3.445312 -5.78125 3.125 -5.59375 C 2.8125 -5.40625 2.523438 -5.113281 2.265625 -4.71875 C 2.085938 -4.425781 1.945312 -4.09375 1.84375 -3.71875 C 1.738281 -3.34375 1.6875 -2.953125 1.6875 -2.546875 Z M 1.6875 -2.546875 "/>
</symbol>
<symbol overflow="visible" id="glyph3-20">
<path style="stroke:none;" d="M 6.015625 -4.0625 C 6.015625 -4.632812 5.882812 -5.082031 5.625 -5.40625 C 5.363281 -5.726562 5 -5.890625 4.53125 -5.890625 C 4.195312 -5.890625 3.878906 -5.804688 3.578125 -5.640625 C 3.285156 -5.484375 3.03125 -5.25 2.8125 -4.9375 C 2.582031 -4.601562 2.398438 -4.21875 2.265625 -3.78125 C 2.140625 -3.351562 2.078125 -2.925781 2.078125 -2.5 C 2.078125 -1.945312 2.207031 -1.515625 2.46875 -1.203125 C 2.726562 -0.890625 3.082031 -0.734375 3.53125 -0.734375 C 3.875 -0.734375 4.191406 -0.8125 4.484375 -0.96875 C 4.785156 -1.132812 5.046875 -1.375 5.265625 -1.6875 C 5.492188 -2.007812 5.675781 -2.382812 5.8125 -2.8125 C 5.945312 -3.25 6.015625 -3.664062 6.015625 -4.0625 Z M 2.625 -5.640625 C 2.894531 -6.003906 3.234375 -6.289062 3.640625 -6.5 C 4.046875 -6.707031 4.46875 -6.8125 4.90625 -6.8125 C 5.59375 -6.8125 6.132812 -6.582031 6.53125 -6.125 C 6.9375 -5.664062 7.140625 -5.039062 7.140625 -4.25 C 7.140625 -3.613281 7.019531 -2.992188 6.78125 -2.390625 C 6.539062 -1.785156 6.207031 -1.253906 5.78125 -0.796875 C 5.488281 -0.484375 5.15625 -0.242188 4.78125 -0.078125 C 4.414062 0.0859375 4.03125 0.171875 3.625 0.171875 C 3.1875 0.171875 2.8125 0.0703125 2.5 -0.125 C 2.1875 -0.320312 1.929688 -0.617188 1.734375 -1.015625 L 1.53125 0 L 0.4375 0 L 2.234375 -9.234375 L 3.328125 -9.234375 Z M 2.625 -5.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-21">
<path style="stroke:none;" d="M 5.078125 -1 C 4.785156 -0.613281 4.4375 -0.320312 4.03125 -0.125 C 3.632812 0.0703125 3.195312 0.171875 2.71875 0.171875 C 2.050781 0.171875 1.523438 -0.0507812 1.140625 -0.5 C 0.753906 -0.957031 0.5625 -1.582031 0.5625 -2.375 C 0.5625 -3.03125 0.675781 -3.65625 0.90625 -4.25 C 1.144531 -4.84375 1.484375 -5.375 1.921875 -5.84375 C 2.210938 -6.15625 2.539062 -6.394531 2.90625 -6.5625 C 3.28125 -6.726562 3.671875 -6.8125 4.078125 -6.8125 C 4.503906 -6.8125 4.878906 -6.707031 5.203125 -6.5 C 5.523438 -6.289062 5.773438 -5.992188 5.953125 -5.609375 L 6.671875 -9.234375 L 7.765625 -9.234375 L 5.96875 0 L 4.875 0 Z M 1.6875 -2.5625 C 1.6875 -1.988281 1.816406 -1.539062 2.078125 -1.21875 C 2.335938 -0.894531 2.695312 -0.734375 3.15625 -0.734375 C 3.5 -0.734375 3.816406 -0.816406 4.109375 -0.984375 C 4.398438 -1.148438 4.65625 -1.394531 4.875 -1.71875 C 5.101562 -2.050781 5.285156 -2.429688 5.421875 -2.859375 C 5.554688 -3.296875 5.625 -3.726562 5.625 -4.15625 C 5.625 -4.707031 5.492188 -5.132812 5.234375 -5.4375 C 4.972656 -5.75 4.617188 -5.90625 4.171875 -5.90625 C 3.828125 -5.90625 3.503906 -5.820312 3.203125 -5.65625 C 2.910156 -5.5 2.660156 -5.269531 2.453125 -4.96875 C 2.210938 -4.632812 2.023438 -4.25 1.890625 -3.8125 C 1.753906 -3.375 1.6875 -2.957031 1.6875 -2.5625 Z M 1.6875 -2.5625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-22">
<path style="stroke:none;" d="M 5.8125 -9.234375 L 5.640625 -8.328125 L 4.59375 -8.328125 C 4.195312 -8.328125 3.90625 -8.25 3.71875 -8.09375 C 3.539062 -7.9375 3.410156 -7.648438 3.328125 -7.234375 L 3.21875 -6.640625 L 5.015625 -6.640625 L 4.84375 -5.796875 L 3.046875 -5.796875 L 1.921875 0 L 0.828125 0 L 1.953125 -5.796875 L 0.921875 -5.796875 L 1.0625 -6.640625 L 2.109375 -6.640625 L 2.203125 -7.109375 C 2.347656 -7.890625 2.609375 -8.4375 2.984375 -8.75 C 3.367188 -9.070312 3.96875 -9.234375 4.78125 -9.234375 Z M 5.8125 -9.234375 "/>
</symbol>
<symbol overflow="visible" id="glyph3-23">
<path style="stroke:none;" d="M 2.21875 -9.234375 L 3.3125 -9.234375 L 1.515625 0 L 0.421875 0 Z M 2.21875 -9.234375 "/>
</symbol>
<symbol overflow="visible" id="glyph3-24">
<path style="stroke:none;" d="M 2.171875 -8.859375 L 2.171875 -5.5625 L 1.171875 -5.5625 L 1.171875 -8.859375 Z M 4.421875 -8.859375 L 4.421875 -5.5625 L 3.40625 -5.5625 L 3.40625 -8.859375 Z M 4.421875 -8.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph3-25">
<path style="stroke:none;" d="M 0.796875 -1.015625 L 2.75 -1.015625 L 4.078125 -7.828125 L 1.859375 -7.40625 L 2.0625 -8.4375 L 4.265625 -8.859375 L 5.46875 -8.859375 L 3.9375 -1.015625 L 5.890625 -1.015625 L 5.703125 0 L 0.59375 0 Z M 0.796875 -1.015625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-26">
<path style="stroke:none;" d="M 4.640625 -9.015625 C 5.441406 -9.015625 6.054688 -8.75 6.484375 -8.21875 C 6.910156 -7.6875 7.125 -6.921875 7.125 -5.921875 C 7.125 -5.160156 7.019531 -4.40625 6.8125 -3.65625 C 6.613281 -2.90625 6.335938 -2.234375 5.984375 -1.640625 C 5.617188 -1.046875 5.1875 -0.59375 4.6875 -0.28125 C 4.1875 0.0195312 3.640625 0.171875 3.046875 0.171875 C 2.265625 0.171875 1.660156 -0.09375 1.234375 -0.625 C 0.816406 -1.164062 0.609375 -1.9375 0.609375 -2.9375 C 0.609375 -3.6875 0.707031 -4.4375 0.90625 -5.1875 C 1.113281 -5.945312 1.398438 -6.617188 1.765625 -7.203125 C 2.128906 -7.796875 2.554688 -8.242188 3.046875 -8.546875 C 3.535156 -8.859375 4.066406 -9.015625 4.640625 -9.015625 Z M 4.578125 -8.078125 C 4.273438 -8.078125 3.988281 -7.992188 3.71875 -7.828125 C 3.445312 -7.671875 3.203125 -7.4375 2.984375 -7.125 C 2.617188 -6.601562 2.328125 -5.953125 2.109375 -5.171875 C 1.890625 -4.390625 1.78125 -3.585938 1.78125 -2.765625 C 1.78125 -2.109375 1.894531 -1.613281 2.125 -1.28125 C 2.363281 -0.945312 2.707031 -0.78125 3.15625 -0.78125 C 3.46875 -0.78125 3.757812 -0.859375 4.03125 -1.015625 C 4.300781 -1.179688 4.546875 -1.421875 4.765625 -1.734375 C 5.128906 -2.242188 5.414062 -2.890625 5.625 -3.671875 C 5.832031 -4.453125 5.9375 -5.257812 5.9375 -6.09375 C 5.9375 -6.738281 5.820312 -7.226562 5.59375 -7.5625 C 5.363281 -7.90625 5.023438 -8.078125 4.578125 -8.078125 Z M 4.578125 -8.078125 "/>
</symbol>
<symbol overflow="visible" id="glyph3-27">
<path style="stroke:none;" d="M 2.21875 -9.234375 L 3.3125 -9.234375 L 2.265625 -3.859375 L 6.015625 -6.640625 L 7.4375 -6.640625 L 3.265625 -3.46875 L 6.3125 0 L 4.984375 0 L 2.15625 -3.25 L 1.515625 0 L 0.421875 0 Z M 2.21875 -9.234375 "/>
</symbol>
<symbol overflow="visible" id="glyph3-28">
<path style="stroke:none;" d="M 7.25 -6.640625 L 6.109375 -0.828125 C 5.890625 0.296875 5.472656 1.132812 4.859375 1.6875 C 4.242188 2.25 3.414062 2.53125 2.375 2.53125 C 1.988281 2.53125 1.628906 2.5 1.296875 2.4375 C 0.972656 2.382812 0.671875 2.296875 0.390625 2.171875 L 0.59375 1.109375 C 0.863281 1.285156 1.148438 1.414062 1.453125 1.5 C 1.753906 1.582031 2.070312 1.625 2.40625 1.625 C 3.101562 1.625 3.671875 1.4375 4.109375 1.0625 C 4.554688 0.6875 4.851562 0.144531 5 -0.5625 L 5.09375 -1.0625 C 4.789062 -0.71875 4.4375 -0.453125 4.03125 -0.265625 C 3.625 -0.0859375 3.1875 0 2.71875 0 C 2.050781 0 1.523438 -0.21875 1.140625 -0.65625 C 0.753906 -1.101562 0.5625 -1.71875 0.5625 -2.5 C 0.5625 -3.113281 0.675781 -3.710938 0.90625 -4.296875 C 1.144531 -4.890625 1.472656 -5.414062 1.890625 -5.875 C 2.171875 -6.175781 2.5 -6.40625 2.875 -6.5625 C 3.25 -6.726562 3.640625 -6.8125 4.046875 -6.8125 C 4.492188 -6.8125 4.882812 -6.707031 5.21875 -6.5 C 5.550781 -6.289062 5.796875 -5.992188 5.953125 -5.609375 L 6.15625 -6.640625 Z M 5.609375 -4.203125 C 5.609375 -4.742188 5.476562 -5.160156 5.21875 -5.453125 C 4.96875 -5.742188 4.609375 -5.890625 4.140625 -5.890625 C 3.847656 -5.890625 3.570312 -5.832031 3.3125 -5.71875 C 3.050781 -5.601562 2.828125 -5.441406 2.640625 -5.234375 C 2.347656 -4.898438 2.113281 -4.5 1.9375 -4.03125 C 1.769531 -3.570312 1.6875 -3.097656 1.6875 -2.609375 C 1.6875 -2.066406 1.8125 -1.648438 2.0625 -1.359375 C 2.320312 -1.066406 2.691406 -0.921875 3.171875 -0.921875 C 3.867188 -0.921875 4.445312 -1.234375 4.90625 -1.859375 C 5.375 -2.484375 5.609375 -3.265625 5.609375 -4.203125 Z M 5.609375 -4.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph3-29">
<path style="stroke:none;" d="M 0.734375 -3.8125 L 3.9375 -3.8125 L 3.75 -2.84375 L 0.546875 -2.84375 Z M 0.734375 -3.8125 "/>
</symbol>
<symbol overflow="visible" id="glyph3-30">
<path style="stroke:none;" d="M 7.296875 -6.640625 L 4.25 -3.390625 L 6.109375 0 L 4.859375 0 L 3.453125 -2.640625 L 1.015625 0 L -0.3125 0 L 2.953125 -3.5 L 1.21875 -6.640625 L 2.46875 -6.640625 L 3.75 -4.25 L 5.96875 -6.640625 Z M 7.296875 -6.640625 "/>
</symbol>
</g>
</defs>
<g id="surface76234">
<rect x="0" y="0" width="689" height="2014" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 27.499915 2.999959 L 55.999915 2.999959 L 55.999915 24.999959 L 27.499915 24.999959 Z M 27.499915 2.999959 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="91.796875" y="258.807142"/>
<use xlink:href="#glyph0-2" x="104.058431" y="258.807142"/>
<use xlink:href="#glyph0-2" x="115.110324" y="258.807142"/>
<use xlink:href="#glyph0-3" x="126.162217" y="258.807142"/>
<use xlink:href="#glyph0-4" x="133.852105" y="258.807142"/>
<use xlink:href="#glyph0-2" x="139.366197" y="258.807142"/>
<use xlink:href="#glyph0-5" x="150.41809" y="258.807142"/>
<use xlink:href="#glyph0-6" x="161.273613" y="258.807142"/>
<use xlink:href="#glyph0-7" x="172.788858" y="258.807142"/>
<use xlink:href="#glyph0-8" x="183.699272" y="258.807142"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 35.076806 36.318833 L 58.918912 36.318833 L 58.918912 65.473233 L 35.076806 65.473233 Z M 35.076806 36.318833 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-9" x="234.535156" y="892.135267"/>
<use xlink:href="#glyph0-7" x="250.54347" y="892.135267"/>
<use xlink:href="#glyph0-10" x="261.453884" y="892.135267"/>
<use xlink:href="#glyph0-11" x="272.906507" y="892.135267"/>
</g>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 52.999915 64.039845 L 52.999915 65.863035 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 52.999915 66.238035 L 52.749915 65.738035 L 52.999915 65.863035 L 53.249915 65.738035 Z M 52.999915 66.238035 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 52.999915 68.037789 L 52.999915 76.507361 L 44.070433 76.507361 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 43.695433 76.507361 L 44.195433 76.257361 L 44.070433 76.507361 L 44.195433 76.757361 Z M 43.695433 76.507361 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.499915 -9.000041 L 55.999915 -9.000041 L 55.999915 2.499959 L 46.499915 2.499959 Z M 46.499915 -9.000041 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 43.997653 -3.680345 C 43.997653 -2.951316 42.81591 -2.360444 41.358262 -2.360444 C 39.900408 -2.360444 38.718665 -2.951316 38.718665 -3.680345 C 38.718665 -4.409169 39.900408 -5.000041 41.358262 -5.000041 C 42.81591 -5.000041 43.997653 -4.409169 43.997653 -3.680345 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="303.132812" y="105.736654"/>
<use xlink:href="#glyph1-2" x="312.04499" y="105.736654"/>
<use xlink:href="#glyph1-3" x="320.399238" y="105.736654"/>
<use xlink:href="#glyph1-4" x="331.63307" y="105.736654"/>
<use xlink:href="#glyph1-5" x="339.880371" y="105.736654"/>
<use xlink:href="#glyph1-6" x="345.8774" y="105.736654"/>
<use xlink:href="#glyph1-7" x="350.110961" y="105.736654"/>
<use xlink:href="#glyph1-8" x="360.448241" y="105.736654"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(49.803922%,54.901963%,55.29412%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 35.859495 12.89778 L 46.857028 12.89778 L 46.857028 14.797862 L 35.859495 14.797862 Z M 35.859495 12.89778 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="242.105469" y="438.767904"/>
<use xlink:href="#glyph2-2" x="250.5963" y="438.767904"/>
<use xlink:href="#glyph2-3" x="258.303195" y="438.767904"/>
<use xlink:href="#glyph2-4" x="265.7846" y="438.767904"/>
<use xlink:href="#glyph2-5" x="272.470214" y="438.767904"/>
<use xlink:href="#glyph2-6" x="279.512234" y="438.767904"/>
<use xlink:href="#glyph2-7" x="283.377536" y="438.767904"/>
<use xlink:href="#glyph2-8" x="289.712931" y="438.767904"/>
<use xlink:href="#glyph2-9" x="294.480712" y="438.767904"/>
<use xlink:href="#glyph2-10" x="301.920369" y="438.767904"/>
<use xlink:href="#glyph2-11" x="306.919826" y="438.767904"/>
<use xlink:href="#glyph2-12" x="314.371595" y="438.767904"/>
<use xlink:href="#glyph2-3" x="322.090345" y="438.767904"/>
<use xlink:href="#glyph2-6" x="329.571749" y="438.767904"/>
<use xlink:href="#glyph2-13" x="333.437051" y="438.767904"/>
<use xlink:href="#glyph2-9" x="337.71803" y="438.767904"/>
<use xlink:href="#glyph2-10" x="345.157686" y="438.767904"/>
<use xlink:href="#glyph2-6" x="350.157144" y="438.767904"/>
<use xlink:href="#glyph2-11" x="354.022446" y="438.767904"/>
<use xlink:href="#glyph2-6" x="361.474215" y="438.767904"/>
<use xlink:href="#glyph2-4" x="365.339517" y="438.767904"/>
<use xlink:href="#glyph2-11" x="372.025131" y="438.767904"/>
<use xlink:href="#glyph2-10" x="379.4769" y="438.767904"/>
<use xlink:href="#glyph2-14" x="384.262721" y="438.767904"/>
<use xlink:href="#glyph2-15" x="391.981471" y="438.767904"/>
<use xlink:href="#glyph2-16" x="399.71826" y="438.767904"/>
<use xlink:href="#glyph2-17" x="407.455049" y="438.767904"/>
<use xlink:href="#glyph2-18" x="411.320351" y="438.767904"/>
<use xlink:href="#glyph2-19" x="419.039101" y="438.767904"/>
<use xlink:href="#glyph2-20" x="422.4176" y="438.767904"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(49.803922%,54.901963%,55.29412%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 41.358262 16.27278 L 44.477711 17.832607 L 41.358262 19.392229 L 38.238813 17.832607 Z M 41.358262 16.27278 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-21" x="315.042969" y="514.478841"/>
<use xlink:href="#glyph2-22" x="322.726156" y="514.478841"/>
<use xlink:href="#glyph2-19" x="329.922539" y="514.478841"/>
<use xlink:href="#glyph2-7" x="333.301039" y="514.478841"/>
<use xlink:href="#glyph2-8" x="339.636434" y="514.478841"/>
<use xlink:href="#glyph2-7" x="344.404215" y="514.478841"/>
<use xlink:href="#glyph2-23" x="350.73961" y="514.478841"/>
</g>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 41.358262 14.797862 L 41.358262 15.785938 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 41.358262 16.160938 L 41.108262 15.660938 L 41.358262 15.785938 L 41.608262 15.660938 Z M 41.358262 16.160938 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(49.803922%,54.901963%,55.29412%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 42.415828 19.608717 L 54.490869 19.608717 L 54.490869 21.5088 L 42.415828 21.5088 Z M 42.415828 19.608717 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-24" x="366.65625" y="566.275716"/>
<use xlink:href="#glyph2-9" x="373.217394" y="566.275716"/>
<use xlink:href="#glyph2-11" x="380.65705" y="566.275716"/>
<use xlink:href="#glyph2-14" x="388.108819" y="566.275716"/>
<use xlink:href="#glyph2-6" x="395.827569" y="566.275716"/>
<use xlink:href="#glyph2-4" x="399.692871" y="566.275716"/>
<use xlink:href="#glyph2-11" x="406.378485" y="566.275716"/>
<use xlink:href="#glyph2-10" x="413.830254" y="566.275716"/>
<use xlink:href="#glyph2-14" x="418.616075" y="566.275716"/>
<use xlink:href="#glyph2-15" x="426.334825" y="566.275716"/>
<use xlink:href="#glyph2-16" x="434.071614" y="566.275716"/>
<use xlink:href="#glyph2-17" x="441.808403" y="566.275716"/>
<use xlink:href="#glyph2-18" x="445.673705" y="566.275716"/>
<use xlink:href="#glyph2-19" x="453.392455" y="566.275716"/>
<use xlink:href="#glyph2-20" x="456.770954" y="566.275716"/>
<use xlink:href="#glyph2-6" x="464.47785" y="566.275716"/>
<use xlink:href="#glyph2-19" x="468.343152" y="566.275716"/>
<use xlink:href="#glyph2-20" x="471.721651" y="566.275716"/>
<use xlink:href="#glyph2-8" x="479.428547" y="566.275716"/>
<use xlink:href="#glyph2-9" x="484.196328" y="566.275716"/>
<use xlink:href="#glyph2-6" x="491.635985" y="566.275716"/>
<use xlink:href="#glyph2-19" x="495.501287" y="566.275716"/>
<use xlink:href="#glyph2-20" x="498.879786" y="566.275716"/>
<use xlink:href="#glyph2-8" x="506.586682" y="566.275716"/>
<use xlink:href="#glyph2-3" x="511.354463" y="566.275716"/>
<use xlink:href="#glyph2-10" x="518.835868" y="566.275716"/>
<use xlink:href="#glyph2-20" x="523.621689" y="566.275716"/>
<use xlink:href="#glyph2-11" x="531.328584" y="566.275716"/>
<use xlink:href="#glyph2-25" x="538.780353" y="566.275716"/>
<use xlink:href="#glyph2-6" x="542.158852" y="566.275716"/>
<use xlink:href="#glyph2-26" x="546.024154" y="566.275716"/>
<use xlink:href="#glyph2-11" x="553.683632" y="566.275716"/>
<use xlink:href="#glyph2-7" x="561.135401" y="566.275716"/>
<use xlink:href="#glyph2-2" x="567.470796" y="566.275716"/>
</g>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 38.238813 17.832402 L 34.999915 17.832402 L 34.999915 23.285321 L 36.193377 23.285321 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 36.568377 23.285321 L 36.068377 23.535321 L 36.193377 23.285321 L 36.068377 23.035321 Z M 36.568377 23.285321 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.453451 21.5088 L 48.453451 23.285321 L 46.523147 23.285321 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.148147 23.285321 L 46.648147 23.035321 L 46.523147 23.285321 L 46.648147 23.535321 Z M 46.148147 23.285321 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 44.477505 17.832402 L 44.477505 17.735773 L 48.453451 17.735773 L 48.453451 19.121875 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.453451 19.496875 L 48.203451 18.996875 L 48.453451 19.121875 L 48.703451 18.996875 Z M 48.453451 19.496875 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(49.803922%,54.901963%,55.29412%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 41.358262 4.027303 L 45.970104 6.333224 L 41.358262 8.639351 L 36.746214 6.333224 Z M 41.358262 4.027303 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-27" x="286.691406" y="295.994466"/>
<use xlink:href="#glyph2-28" x="295.0338" y="295.994466"/>
<use xlink:href="#glyph2-8" x="302.740695" y="295.994466"/>
<use xlink:href="#glyph2-8" x="307.508477" y="295.994466"/>
<use xlink:href="#glyph2-9" x="312.276258" y="295.994466"/>
<use xlink:href="#glyph2-20" x="319.715915" y="295.994466"/>
<use xlink:href="#glyph2-6" x="327.42281" y="295.994466"/>
<use xlink:href="#glyph2-29" x="331.288113" y="295.994466"/>
<use xlink:href="#glyph2-10" x="339.006862" y="295.994466"/>
<use xlink:href="#glyph2-3" x="343.739338" y="295.994466"/>
<use xlink:href="#glyph2-7" x="351.220743" y="295.994466"/>
<use xlink:href="#glyph2-7" x="357.556138" y="295.994466"/>
<use xlink:href="#glyph2-3" x="363.891533" y="295.994466"/>
<use xlink:href="#glyph2-14" x="371.372937" y="295.994466"/>
<use xlink:href="#glyph2-23" x="379.091687" y="295.994466"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(49.803922%,54.901963%,55.29412%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 47.685976 7.499959 L 55.044528 7.499959 L 54.316732 9.499959 L 46.957974 9.499959 Z M 47.685976 7.499959 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-30" x="462.695312" y="337.162435"/>
<use xlink:href="#glyph2-29" x="472.266696" y="337.162435"/>
<use xlink:href="#glyph2-3" x="479.985446" y="337.162435"/>
<use xlink:href="#glyph2-20" x="487.466851" y="337.162435"/>
<use xlink:href="#glyph2-6" x="495.173746" y="337.162435"/>
<use xlink:href="#glyph2-31" x="499.039048" y="337.162435"/>
<use xlink:href="#glyph2-32" x="507.939371" y="337.162435"/>
<use xlink:href="#glyph2-27" x="515.658121" y="337.162435"/>
<use xlink:href="#glyph2-33" x="524.000515" y="337.162435"/>
<use xlink:href="#glyph2-32" x="528.38844" y="337.162435"/>
<use xlink:href="#glyph2-8" x="536.10719" y="337.162435"/>
<use xlink:href="#glyph2-9" x="540.874972" y="337.162435"/>
<use xlink:href="#glyph2-10" x="548.314628" y="337.162435"/>
<use xlink:href="#glyph2-11" x="553.314086" y="337.162435"/>
<use xlink:href="#glyph2-12" x="560.765854" y="337.162435"/>
<use xlink:href="#glyph2-3" x="568.484604" y="337.162435"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(49.803922%,54.901963%,55.29412%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 53.180425 12.547451 C 53.180425 13.149219 52.20489 13.637089 51.001354 13.637089 C 49.797818 13.637089 48.822283 13.149219 48.822283 12.547451 C 48.822283 11.945888 49.797818 11.458018 51.001354 11.458018 C 52.20489 11.458018 53.180425 11.945888 53.180425 12.547451 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-34" x="497.949219" y="414.064779"/>
<use xlink:href="#glyph2-3" x="505.852227" y="414.064779"/>
<use xlink:href="#glyph2-18" x="513.333632" y="414.064779"/>
<use xlink:href="#glyph2-9" x="521.052381" y="414.064779"/>
<use xlink:href="#glyph2-9" x="528.492038" y="414.064779"/>
<use xlink:href="#glyph2-8" x="535.931694" y="414.064779"/>
</g>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 41.358262 8.639351 L 41.358262 12.410938 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 41.358262 12.785938 L 41.108262 12.285938 L 41.358262 12.410938 L 41.608262 12.285938 Z M 41.358262 12.785938 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 41.358262 -2.360444 L 41.358262 3.540666 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 41.358262 3.915666 L 41.108262 3.415666 L 41.358262 3.540666 L 41.608262 3.415666 Z M 41.358262 3.915666 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 45.970104 6.333429 L 45.970104 6.31102 L 50.999915 6.31102 L 50.999915 7.013117 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 50.999915 7.388117 L 50.749915 6.888117 L 50.999915 7.013117 L 51.249915 6.888117 Z M 50.999915 7.388117 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-35" x="256.042969" y="504.244466"/>
<use xlink:href="#glyph2-9" x="265.139404" y="504.244466"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-36" x="402.113281" y="504.244466"/>
<use xlink:href="#glyph2-3" x="407.926568" y="504.244466"/>
<use xlink:href="#glyph2-7" x="415.407972" y="504.244466"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-36" x="428.097656" y="285.955404"/>
<use xlink:href="#glyph2-3" x="433.910943" y="285.955404"/>
<use xlink:href="#glyph2-7" x="441.392347" y="285.955404"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-35" x="340.699219" y="350.556966"/>
<use xlink:href="#glyph2-9" x="349.795654" y="350.556966"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(81.960785%,0%,41.176471%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 42.095515 37.149836 L 51.903081 37.149836 L 51.903081 39.049918 L 42.095515 39.049918 Z M 42.095515 37.149836 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="360.566406" y="899.560872"/>
<use xlink:href="#glyph2-2" x="369.057237" y="899.560872"/>
<use xlink:href="#glyph2-3" x="376.764133" y="899.560872"/>
<use xlink:href="#glyph2-4" x="384.245537" y="899.560872"/>
<use xlink:href="#glyph2-5" x="390.931152" y="899.560872"/>
<use xlink:href="#glyph2-6" x="397.973171" y="899.560872"/>
<use xlink:href="#glyph2-7" x="401.838473" y="899.560872"/>
<use xlink:href="#glyph2-8" x="408.173868" y="899.560872"/>
<use xlink:href="#glyph2-9" x="412.94165" y="899.560872"/>
<use xlink:href="#glyph2-10" x="420.381306" y="899.560872"/>
<use xlink:href="#glyph2-11" x="425.380764" y="899.560872"/>
<use xlink:href="#glyph2-12" x="432.832532" y="899.560872"/>
<use xlink:href="#glyph2-3" x="440.551282" y="899.560872"/>
<use xlink:href="#glyph2-6" x="448.032687" y="899.560872"/>
<use xlink:href="#glyph2-13" x="451.897989" y="899.560872"/>
<use xlink:href="#glyph2-9" x="456.178967" y="899.560872"/>
<use xlink:href="#glyph2-10" x="463.618624" y="899.560872"/>
<use xlink:href="#glyph2-6" x="468.618081" y="899.560872"/>
<use xlink:href="#glyph2-37" x="472.483383" y="899.560872"/>
<use xlink:href="#glyph2-3" x="484.328747" y="899.560872"/>
<use xlink:href="#glyph2-20" x="491.810152" y="899.560872"/>
<use xlink:href="#glyph2-28" x="499.517047" y="899.560872"/>
<use xlink:href="#glyph2-17" x="507.223943" y="899.560872"/>
<use xlink:href="#glyph2-29" x="511.089245" y="899.560872"/>
<use xlink:href="#glyph2-38" x="518.807995" y="899.560872"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(81.960785%,0%,41.176471%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.999298 40.01764 L 50.118747 41.577468 L 46.999298 43.137089 L 43.879849 41.577468 Z M 46.999298 40.01764 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph2-21" x="422.226562" y="965.631185"/>
<use xlink:href="#glyph2-22" x="429.909749" y="965.631185"/>
<use xlink:href="#glyph2-19" x="437.106133" y="965.631185"/>
<use xlink:href="#glyph2-7" x="440.484632" y="965.631185"/>
<use xlink:href="#glyph2-8" x="446.820027" y="965.631185"/>
<use xlink:href="#glyph2-7" x="451.587809" y="965.631185"/>
<use xlink:href="#glyph2-23" x="457.923204" y="965.631185"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(81.960785%,0%,41.176471%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 36.13211 43.431909 L 45.329684 43.431909 L 45.329684 46.13195 L 36.13211 46.13195 Z M 36.13211 43.431909 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="247.277344" y="1018.920247"/>
<use xlink:href="#glyph2-9" x="255.768175" y="1018.920247"/>
<use xlink:href="#glyph2-29" x="263.207831" y="1018.920247"/>
<use xlink:href="#glyph2-38" x="270.926581" y="1018.920247"/>
<use xlink:href="#glyph2-6" x="278.122965" y="1018.920247"/>
<use xlink:href="#glyph2-14" x="281.988267" y="1018.920247"/>
<use xlink:href="#glyph2-3" x="289.707017" y="1018.920247"/>
<use xlink:href="#glyph2-13" x="297.188422" y="1018.920247"/>
<use xlink:href="#glyph2-11" x="301.4694" y="1018.920247"/>
<use xlink:href="#glyph2-28" x="308.921169" y="1018.920247"/>
<use xlink:href="#glyph2-25" x="316.628064" y="1018.920247"/>
<use xlink:href="#glyph2-8" x="320.006564" y="1018.920247"/>
<use xlink:href="#glyph2-6" x="324.774345" y="1018.920247"/>
<use xlink:href="#glyph2-37" x="328.639647" y="1018.920247"/>
<use xlink:href="#glyph2-3" x="340.485011" y="1018.920247"/>
<use xlink:href="#glyph2-20" x="347.966416" y="1018.920247"/>
<use xlink:href="#glyph2-28" x="355.673311" y="1018.920247"/>
<use xlink:href="#glyph2-6" x="363.380207" y="1018.920247"/>
<use xlink:href="#glyph2-7" x="367.245509" y="1018.920247"/>
<use xlink:href="#glyph2-4" x="373.580904" y="1018.920247"/>
<use xlink:href="#glyph2-10" x="380.266519" y="1018.920247"/>
<use xlink:href="#glyph2-19" x="385.265976" y="1018.920247"/>
<use xlink:href="#glyph2-29" x="388.644475" y="1018.920247"/>
<use xlink:href="#glyph2-8" x="396.363225" y="1018.920247"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph2-8" x="289.398438" y="1034.119466"/>
<use xlink:href="#glyph2-9" x="294.166219" y="1034.119466"/>
<use xlink:href="#glyph2-6" x="301.605875" y="1034.119466"/>
<use xlink:href="#glyph2-37" x="305.471178" y="1034.119466"/>
<use xlink:href="#glyph2-3" x="317.316542" y="1034.119466"/>
<use xlink:href="#glyph2-20" x="324.797946" y="1034.119466"/>
<use xlink:href="#glyph2-28" x="332.504842" y="1034.119466"/>
<use xlink:href="#glyph2-17" x="340.211737" y="1034.119466"/>
<use xlink:href="#glyph2-29" x="344.077039" y="1034.119466"/>
<use xlink:href="#glyph2-38" x="351.795789" y="1034.119466"/>
</g>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.999298 39.049918 L 46.999298 39.530798 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.999298 39.905798 L 46.749298 39.405798 L 46.999298 39.530798 L 47.249298 39.405798 Z M 46.999298 39.905798 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 40.731 46.13195 L 40.731 47.787994 L 41.721954 47.787994 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 42.096954 47.787994 L 41.596954 48.037994 L 41.721954 47.787994 L 41.596954 47.537994 Z M 42.096954 47.787994 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(81.960785%,0%,41.176471%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.835235 66.629483 L 44.517184 68.970355 L 39.835235 71.311226 L 35.153492 68.970355 Z M 39.835235 66.629483 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph2-39" x="256.421875" y="1486.099935"/>
<use xlink:href="#glyph2-7" x="260.008084" y="1486.099935"/>
<use xlink:href="#glyph2-6" x="266.343479" y="1486.099935"/>
<use xlink:href="#glyph2-40" x="270.208781" y="1486.099935"/>
<use xlink:href="#glyph2-38" x="277.541748" y="1486.099935"/>
<use xlink:href="#glyph2-8" x="284.738132" y="1486.099935"/>
<use xlink:href="#glyph2-2" x="289.505913" y="1486.099935"/>
<use xlink:href="#glyph2-9" x="297.212809" y="1486.099935"/>
<use xlink:href="#glyph2-20" x="304.652465" y="1486.099935"/>
<use xlink:href="#glyph2-6" x="312.359361" y="1486.099935"/>
<use xlink:href="#glyph2-32" x="316.224663" y="1486.099935"/>
<use xlink:href="#glyph2-4" x="323.943413" y="1486.099935"/>
<use xlink:href="#glyph2-10" x="330.629027" y="1486.099935"/>
<use xlink:href="#glyph2-19" x="335.628485" y="1486.099935"/>
<use xlink:href="#glyph2-29" x="339.006984" y="1486.099935"/>
<use xlink:href="#glyph2-8" x="346.725734" y="1486.099935"/>
<use xlink:href="#glyph2-23" x="351.493516" y="1486.099935"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-36" x="450.398438" y="1002.658529"/>
<use xlink:href="#glyph2-3" x="456.211724" y="1002.658529"/>
<use xlink:href="#glyph2-7" x="463.693129" y="1002.658529"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-35" x="363.253906" y="954.185872"/>
<use xlink:href="#glyph2-9" x="372.350342" y="954.185872"/>
</g>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 43.346749 69.555675 L 43.346749 70.496259 L 45.163772 70.496259 L 45.163772 72.142641 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 45.163772 72.517641 L 44.913772 72.017641 L 45.163772 72.142641 L 45.413772 72.017641 Z M 45.163772 72.517641 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 36.323928 69.555675 L 36.323928 69.901687 L 34.582768 69.901687 L 34.582768 72.142641 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 34.582768 72.517641 L 34.332768 72.017641 L 34.582768 72.142641 L 34.832768 72.017641 Z M 34.582768 72.517641 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-36" x="208.949219" y="1493.810872"/>
<use xlink:href="#glyph2-3" x="214.762505" y="1493.810872"/>
<use xlink:href="#glyph2-7" x="222.24391" y="1493.810872"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-35" x="385.972656" y="1505.107747"/>
<use xlink:href="#glyph2-9" x="395.069092" y="1505.107747"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(49.803922%,54.901963%,55.29412%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 38.239429 22.285321 L 44.476888 22.285321 C 45.338114 22.285321 46.036305 22.733101 46.036305 23.285321 C 46.036305 23.837542 45.338114 24.285321 44.476888 24.285321 L 38.239429 24.285321 C 37.378204 24.285321 36.680013 23.837542 36.680013 23.285321 C 36.680013 22.733101 37.378204 22.285321 38.239429 22.285321 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-9" x="279.699219" y="618.17806"/>
<use xlink:href="#glyph1-2" x="288.9678" y="618.17806"/>
<use xlink:href="#glyph1-2" x="297.322048" y="618.17806"/>
<use xlink:href="#glyph1-10" x="305.676296" y="618.17806"/>
<use xlink:href="#glyph1-6" x="311.489068" y="618.17806"/>
<use xlink:href="#glyph1-11" x="315.722629" y="618.17806"/>
<use xlink:href="#glyph1-12" x="324.029201" y="618.17806"/>
<use xlink:href="#glyph1-13" x="332.733669" y="618.17806"/>
<use xlink:href="#glyph1-14" x="336.901773" y="618.17806"/>
<use xlink:href="#glyph1-15" x="344.110012" y="618.17806"/>
<use xlink:href="#glyph1-5" x="352.315822" y="618.17806"/>
<use xlink:href="#glyph1-16" x="358.312852" y="618.17806"/>
<use xlink:href="#glyph1-13" x="367.017319" y="618.17806"/>
<use xlink:href="#glyph1-17" x="371.185424" y="618.17806"/>
<use xlink:href="#glyph1-18" x="379.842474" y="618.17806"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(25.882354%,54.509807%,79.215688%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 43.80563 46.787994 L 50.193171 46.787994 C 51.074956 46.787994 51.790005 47.235774 51.790005 47.787994 C 51.790005 48.340215 51.074956 48.787994 50.193171 48.787994 L 43.80563 48.787994 C 42.92364 48.787994 42.208796 48.340215 42.208796 47.787994 C 42.208796 47.235774 42.92364 46.787994 43.80563 46.787994 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph1-9" x="388.9375" y="1076.127279"/>
<use xlink:href="#glyph1-2" x="398.206082" y="1076.127279"/>
<use xlink:href="#glyph1-2" x="406.56033" y="1076.127279"/>
<use xlink:href="#glyph1-10" x="414.914578" y="1076.127279"/>
<use xlink:href="#glyph1-6" x="420.727349" y="1076.127279"/>
<use xlink:href="#glyph1-1" x="424.96091" y="1076.127279"/>
<use xlink:href="#glyph1-19" x="434.098578" y="1076.127279"/>
<use xlink:href="#glyph1-14" x="442.025295" y="1076.127279"/>
<use xlink:href="#glyph1-15" x="449.233533" y="1076.127279"/>
<use xlink:href="#glyph1-5" x="457.439344" y="1076.127279"/>
<use xlink:href="#glyph1-16" x="463.436373" y="1076.127279"/>
<use xlink:href="#glyph1-13" x="472.140841" y="1076.127279"/>
<use xlink:href="#glyph1-17" x="476.308945" y="1076.127279"/>
<use xlink:href="#glyph1-18" x="484.965995" y="1076.127279"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph1-3" x="396.507812" y="1091.326497"/>
<use xlink:href="#glyph1-13" x="407.741645" y="1091.326497"/>
<use xlink:href="#glyph1-10" x="411.909749" y="1091.326497"/>
<use xlink:href="#glyph1-20" x="417.72252" y="1091.326497"/>
<use xlink:href="#glyph1-6" x="426.37957" y="1091.326497"/>
<use xlink:href="#glyph1-18" x="430.613132" y="1091.326497"/>
<use xlink:href="#glyph1-4" x="443.283921" y="1091.326497"/>
<use xlink:href="#glyph1-8" x="451.531222" y="1091.326497"/>
<use xlink:href="#glyph1-17" x="460.188272" y="1091.326497"/>
<use xlink:href="#glyph1-21" x="468.845322" y="1091.326497"/>
<use xlink:href="#glyph1-12" x="473.464666" y="1091.326497"/>
<use xlink:href="#glyph1-19" x="482.169134" y="1091.326497"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(25.882354%,54.509807%,79.215688%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 30.871419 72.629483 L 38.293911 72.629483 C 39.318788 72.629483 40.149586 73.077057 40.149586 73.629483 C 40.149586 74.181703 39.318788 74.629483 38.293911 74.629483 L 30.871419 74.629483 C 29.846543 74.629483 29.015745 74.181703 29.015745 73.629483 C 29.015745 73.077057 29.846543 72.629483 30.871419 72.629483 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph1-9" x="153.023438" y="1567.11556"/>
<use xlink:href="#glyph1-2" x="162.292019" y="1567.11556"/>
<use xlink:href="#glyph1-2" x="170.646267" y="1567.11556"/>
<use xlink:href="#glyph1-10" x="179.000515" y="1567.11556"/>
<use xlink:href="#glyph1-6" x="184.813286" y="1567.11556"/>
<use xlink:href="#glyph1-1" x="189.046847" y="1567.11556"/>
<use xlink:href="#glyph1-19" x="198.184515" y="1567.11556"/>
<use xlink:href="#glyph1-14" x="206.111233" y="1567.11556"/>
<use xlink:href="#glyph1-15" x="213.319471" y="1567.11556"/>
<use xlink:href="#glyph1-5" x="221.525281" y="1567.11556"/>
<use xlink:href="#glyph1-16" x="227.522311" y="1567.11556"/>
<use xlink:href="#glyph1-13" x="236.226778" y="1567.11556"/>
<use xlink:href="#glyph1-17" x="240.394883" y="1567.11556"/>
<use xlink:href="#glyph1-18" x="249.051933" y="1567.11556"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph1-3" x="139.699219" y="1582.314779"/>
<use xlink:href="#glyph1-13" x="150.933051" y="1582.314779"/>
<use xlink:href="#glyph1-10" x="155.101155" y="1582.314779"/>
<use xlink:href="#glyph1-20" x="160.913927" y="1582.314779"/>
<use xlink:href="#glyph1-6" x="169.570977" y="1582.314779"/>
<use xlink:href="#glyph1-22" x="173.804538" y="1582.314779"/>
<use xlink:href="#glyph1-4" x="181.042412" y="1582.314779"/>
<use xlink:href="#glyph1-23" x="189.289713" y="1582.314779"/>
<use xlink:href="#glyph1-4" x="193.457817" y="1582.314779"/>
<use xlink:href="#glyph1-14" x="201.705118" y="1582.314779"/>
<use xlink:href="#glyph1-10" x="208.913356" y="1582.314779"/>
<use xlink:href="#glyph1-4" x="214.726128" y="1582.314779"/>
<use xlink:href="#glyph1-16" x="222.973428" y="1582.314779"/>
<use xlink:href="#glyph1-6" x="231.677896" y="1582.314779"/>
<use xlink:href="#glyph1-22" x="235.911457" y="1582.314779"/>
<use xlink:href="#glyph1-14" x="243.149331" y="1582.314779"/>
<use xlink:href="#glyph1-5" x="250.35757" y="1582.314779"/>
<use xlink:href="#glyph1-13" x="256.354599" y="1582.314779"/>
<use xlink:href="#glyph1-12" x="260.522704" y="1582.314779"/>
<use xlink:href="#glyph1-10" x="269.227171" y="1582.314779"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(55.686277%,75.686276%,93.333334%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 42.542472 72.629483 L 47.785071 72.629483 C 48.508961 72.629483 49.095721 73.077057 49.095721 73.629483 C 49.095721 74.181703 48.508961 74.629483 47.785071 74.629483 L 42.542472 74.629483 C 41.818788 74.629483 41.231823 74.181703 41.231823 73.629483 C 41.231823 73.077057 41.818788 72.629483 42.542472 72.629483 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-9" x="361.46875" y="1567.11556"/>
<use xlink:href="#glyph1-2" x="370.737332" y="1567.11556"/>
<use xlink:href="#glyph1-2" x="379.09158" y="1567.11556"/>
<use xlink:href="#glyph1-10" x="387.445828" y="1567.11556"/>
<use xlink:href="#glyph1-6" x="393.258599" y="1567.11556"/>
<use xlink:href="#glyph1-22" x="397.49216" y="1567.11556"/>
<use xlink:href="#glyph1-4" x="404.730034" y="1567.11556"/>
<use xlink:href="#glyph1-23" x="412.977335" y="1567.11556"/>
<use xlink:href="#glyph1-4" x="417.145439" y="1567.11556"/>
<use xlink:href="#glyph1-14" x="425.39274" y="1567.11556"/>
<use xlink:href="#glyph1-10" x="432.600978" y="1567.11556"/>
<use xlink:href="#glyph1-4" x="438.41375" y="1567.11556"/>
<use xlink:href="#glyph1-16" x="446.66105" y="1567.11556"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-23" x="383.082031" y="1582.314779"/>
<use xlink:href="#glyph1-24" x="387.250136" y="1582.314779"/>
<use xlink:href="#glyph1-16" x="395.711073" y="1582.314779"/>
<use xlink:href="#glyph1-15" x="404.415541" y="1582.314779"/>
<use xlink:href="#glyph1-25" x="412.621351" y="1582.314779"/>
<use xlink:href="#glyph1-23" x="421.325819" y="1582.314779"/>
<use xlink:href="#glyph1-4" x="425.493923" y="1582.314779"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(81.960785%,0%,41.176471%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 36.569405 26.249959 L 46.146913 26.249959 L 46.146913 28.150042 L 36.569405 28.150042 Z M 36.569405 26.249959 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="255.574219" y="692.45931"/>
<use xlink:href="#glyph2-2" x="264.06505" y="692.45931"/>
<use xlink:href="#glyph2-3" x="271.771945" y="692.45931"/>
<use xlink:href="#glyph2-4" x="279.25335" y="692.45931"/>
<use xlink:href="#glyph2-5" x="285.938964" y="692.45931"/>
<use xlink:href="#glyph2-6" x="292.980984" y="692.45931"/>
<use xlink:href="#glyph2-7" x="296.846286" y="692.45931"/>
<use xlink:href="#glyph2-8" x="303.181681" y="692.45931"/>
<use xlink:href="#glyph2-9" x="307.949462" y="692.45931"/>
<use xlink:href="#glyph2-10" x="315.389119" y="692.45931"/>
<use xlink:href="#glyph2-11" x="320.388576" y="692.45931"/>
<use xlink:href="#glyph2-12" x="327.840345" y="692.45931"/>
<use xlink:href="#glyph2-3" x="335.559095" y="692.45931"/>
<use xlink:href="#glyph2-6" x="343.040499" y="692.45931"/>
<use xlink:href="#glyph2-13" x="346.905801" y="692.45931"/>
<use xlink:href="#glyph2-9" x="351.18678" y="692.45931"/>
<use xlink:href="#glyph2-10" x="358.626436" y="692.45931"/>
<use xlink:href="#glyph2-6" x="363.625894" y="692.45931"/>
<use xlink:href="#glyph2-37" x="367.491196" y="692.45931"/>
<use xlink:href="#glyph2-11" x="379.33656" y="692.45931"/>
<use xlink:href="#glyph2-19" x="386.788328" y="692.45931"/>
<use xlink:href="#glyph2-20" x="390.166828" y="692.45931"/>
<use xlink:href="#glyph2-17" x="397.873723" y="692.45931"/>
<use xlink:href="#glyph2-29" x="401.739025" y="692.45931"/>
<use xlink:href="#glyph2-38" x="409.457775" y="692.45931"/>
</g>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 41.358262 24.285321 L 41.358262 25.763117 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 41.358262 26.138117 L 41.108262 25.638117 L 41.358262 25.763117 L 41.608262 25.638117 Z M 41.358262 26.138117 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(81.960785%,0%,41.176471%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 41.358262 29.643051 L 44.477711 31.202673 L 41.358262 32.762501 L 38.238813 31.202673 Z M 41.358262 29.643051 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph2-21" x="315.042969" y="768.513997"/>
<use xlink:href="#glyph2-22" x="322.726156" y="768.513997"/>
<use xlink:href="#glyph2-19" x="329.922539" y="768.513997"/>
<use xlink:href="#glyph2-7" x="333.301039" y="768.513997"/>
<use xlink:href="#glyph2-8" x="339.636434" y="768.513997"/>
<use xlink:href="#glyph2-7" x="344.404215" y="768.513997"/>
<use xlink:href="#glyph2-23" x="350.73961" y="768.513997"/>
</g>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 41.358262 28.150042 L 41.358262 29.156209 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 41.358262 29.531209 L 41.108262 29.031209 L 41.358262 29.156209 L 41.608262 29.031209 Z M 41.358262 29.531209 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.018624 31.592681 L 39.018624 32.999959 L 28.235317 32.999959 L 28.235317 34.213158 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 28.235317 34.588158 L 27.985317 34.088158 L 28.235317 34.213158 L 28.485317 34.088158 Z M 28.235317 34.588158 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(25.882354%,54.509807%,79.215688%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 25.224215 34.700001 L 31.246625 34.700001 C 32.078245 34.700001 32.752176 35.14778 32.752176 35.700001 C 32.752176 36.252221 32.078245 36.700001 31.246625 36.700001 L 25.224215 36.700001 C 24.392595 36.700001 23.718459 36.252221 23.718459 35.700001 C 23.718459 35.14778 24.392595 34.700001 25.224215 34.700001 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph1-9" x="32.425781" y="846.455404"/>
<use xlink:href="#glyph1-2" x="41.694363" y="846.455404"/>
<use xlink:href="#glyph1-2" x="50.048611" y="846.455404"/>
<use xlink:href="#glyph1-10" x="58.402859" y="846.455404"/>
<use xlink:href="#glyph1-6" x="64.21563" y="846.455404"/>
<use xlink:href="#glyph1-1" x="68.449191" y="846.455404"/>
<use xlink:href="#glyph1-19" x="77.586859" y="846.455404"/>
<use xlink:href="#glyph1-14" x="85.513576" y="846.455404"/>
<use xlink:href="#glyph1-15" x="92.721815" y="846.455404"/>
<use xlink:href="#glyph1-5" x="100.927625" y="846.455404"/>
<use xlink:href="#glyph1-16" x="106.924655" y="846.455404"/>
<use xlink:href="#glyph1-13" x="115.629122" y="846.455404"/>
<use xlink:href="#glyph1-17" x="119.797227" y="846.455404"/>
<use xlink:href="#glyph1-18" x="128.454277" y="846.455404"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph1-3" x="42.257813" y="861.654622"/>
<use xlink:href="#glyph1-13" x="53.491645" y="861.654622"/>
<use xlink:href="#glyph1-10" x="57.659749" y="861.654622"/>
<use xlink:href="#glyph1-20" x="63.47252" y="861.654622"/>
<use xlink:href="#glyph1-6" x="72.12957" y="861.654622"/>
<use xlink:href="#glyph1-18" x="76.363132" y="861.654622"/>
<use xlink:href="#glyph1-15" x="89.033921" y="861.654622"/>
<use xlink:href="#glyph1-13" x="97.239732" y="861.654622"/>
<use xlink:href="#glyph1-8" x="101.407836" y="861.654622"/>
<use xlink:href="#glyph1-21" x="110.064886" y="861.654622"/>
<use xlink:href="#glyph1-12" x="114.68423" y="861.654622"/>
<use xlink:href="#glyph1-19" x="123.388698" y="861.654622"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-36" x="265.390625" y="790.846029"/>
<use xlink:href="#glyph2-3" x="271.203912" y="790.846029"/>
<use xlink:href="#glyph2-7" x="278.685316" y="790.846029"/>
</g>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 43.6979 31.592681 L 43.6979 32.999959 L 46.999298 32.999959 L 46.999298 36.662994 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.999298 37.037994 L 46.749298 36.537994 L 46.999298 36.662994 L 47.249298 36.537994 Z M 46.999298 37.037994 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-35" x="393.386719" y="790.846029"/>
<use xlink:href="#glyph2-9" x="402.483154" y="790.846029"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(25.882354%,54.509807%,79.215688%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 25.102916 39.999959 L 31.367924 39.999959 L 32.620803 44.150042 L 31.367924 48.299918 L 25.102916 48.299918 L 23.849832 44.150042 L 25.102916 39.999959 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="30.085938" y="961.404622"/>
<use xlink:href="#glyph3-2" x="37.51374" y="961.404622"/>
<use xlink:href="#glyph3-3" x="45.220635" y="961.404622"/>
<use xlink:href="#glyph3-4" x="52.70204" y="961.404622"/>
<use xlink:href="#glyph3-5" x="56.567342" y="961.404622"/>
<use xlink:href="#glyph3-6" x="68.412706" y="961.404622"/>
<use xlink:href="#glyph3-7" x="75.864474" y="961.404622"/>
<use xlink:href="#glyph3-8" x="79.242974" y="961.404622"/>
<use xlink:href="#glyph3-9" x="86.949869" y="961.404622"/>
<use xlink:href="#glyph3-10" x="90.815171" y="961.404622"/>
<use xlink:href="#glyph3-11" x="98.533921" y="961.404622"/>
<use xlink:href="#glyph3-4" x="105.730305" y="961.404622"/>
<use xlink:href="#glyph3-12" x="109.595607" y="961.404622"/>
<use xlink:href="#glyph3-13" x="115.931002" y="961.404622"/>
<use xlink:href="#glyph3-14" x="122.616617" y="961.404622"/>
<use xlink:href="#glyph3-7" x="127.616074" y="961.404622"/>
<use xlink:href="#glyph3-10" x="130.994573" y="961.404622"/>
<use xlink:href="#glyph3-15" x="138.713323" y="961.404622"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-7" x="39.566406" y="976.607747"/>
<use xlink:href="#glyph3-12" x="42.944906" y="976.607747"/>
<use xlink:href="#glyph3-4" x="49.2803" y="976.607747"/>
<use xlink:href="#glyph3-16" x="53.145603" y="976.607747"/>
<use xlink:href="#glyph3-2" x="63.090915" y="976.607747"/>
<use xlink:href="#glyph3-6" x="70.79781" y="976.607747"/>
<use xlink:href="#glyph3-15" x="78.249579" y="976.607747"/>
<use xlink:href="#glyph3-3" x="83.017361" y="976.607747"/>
<use xlink:href="#glyph3-17" x="90.498765" y="976.607747"/>
<use xlink:href="#glyph3-3" x="97.695149" y="976.607747"/>
<use xlink:href="#glyph3-14" x="105.176554" y="976.607747"/>
<use xlink:href="#glyph3-4" x="110.176011" y="976.607747"/>
<use xlink:href="#glyph3-15" x="114.041313" y="976.607747"/>
<use xlink:href="#glyph3-2" x="118.809095" y="976.607747"/>
<use xlink:href="#glyph3-3" x="126.51599" y="976.607747"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-18" x="35.914063" y="991.806966"/>
<use xlink:href="#glyph3-12" x="43.620958" y="991.806966"/>
<use xlink:href="#glyph3-3" x="49.956353" y="991.806966"/>
<use xlink:href="#glyph3-14" x="57.437757" y="991.806966"/>
<use xlink:href="#glyph3-4" x="62.437215" y="991.806966"/>
<use xlink:href="#glyph3-16" x="66.302517" y="991.806966"/>
<use xlink:href="#glyph3-6" x="76.247829" y="991.806966"/>
<use xlink:href="#glyph3-8" x="83.699598" y="991.806966"/>
<use xlink:href="#glyph3-15" x="91.406493" y="991.806966"/>
<use xlink:href="#glyph3-12" x="96.174275" y="991.806966"/>
<use xlink:href="#glyph3-4" x="102.50967" y="991.806966"/>
<use xlink:href="#glyph3-15" x="106.374972" y="991.806966"/>
<use xlink:href="#glyph3-19" x="111.142754" y="991.806966"/>
<use xlink:href="#glyph3-4" x="118.58241" y="991.806966"/>
<use xlink:href="#glyph3-20" x="122.447712" y="991.806966"/>
<use xlink:href="#glyph3-3" x="130.166462" y="991.806966"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-15" x="34.503906" y="1007.006185"/>
<use xlink:href="#glyph3-2" x="39.271688" y="1007.006185"/>
<use xlink:href="#glyph3-3" x="46.978583" y="1007.006185"/>
<use xlink:href="#glyph3-4" x="54.459988" y="1007.006185"/>
<use xlink:href="#glyph3-21" x="58.32529" y="1007.006185"/>
<use xlink:href="#glyph3-3" x="66.04404" y="1007.006185"/>
<use xlink:href="#glyph3-22" x="73.525444" y="1007.006185"/>
<use xlink:href="#glyph3-6" x="77.806423" y="1007.006185"/>
<use xlink:href="#glyph3-18" x="85.258192" y="1007.006185"/>
<use xlink:href="#glyph3-23" x="92.965087" y="1007.006185"/>
<use xlink:href="#glyph3-15" x="96.343586" y="1007.006185"/>
<use xlink:href="#glyph3-4" x="101.111368" y="1007.006185"/>
<use xlink:href="#glyph3-24" x="104.97667" y="1007.006185"/>
<use xlink:href="#glyph3-6" x="110.569878" y="1007.006185"/>
<use xlink:href="#glyph3-10" x="118.021646" y="1007.006185"/>
<use xlink:href="#glyph3-10" x="125.740396" y="1007.006185"/>
<use xlink:href="#glyph3-24" x="133.459146" y="1007.006185"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-22" x="53.390625" y="1022.205404"/>
<use xlink:href="#glyph3-19" x="57.671604" y="1022.205404"/>
<use xlink:href="#glyph3-14" x="65.11126" y="1022.205404"/>
<use xlink:href="#glyph3-4" x="70.110718" y="1022.205404"/>
<use xlink:href="#glyph3-13" x="73.97602" y="1022.205404"/>
<use xlink:href="#glyph3-6" x="80.661634" y="1022.205404"/>
<use xlink:href="#glyph3-14" x="88.113403" y="1022.205404"/>
<use xlink:href="#glyph3-21" x="93.11286" y="1022.205404"/>
<use xlink:href="#glyph3-25" x="100.83161" y="1022.205404"/>
<use xlink:href="#glyph3-26" x="108.568399" y="1022.205404"/>
<use xlink:href="#glyph3-9" x="116.305189" y="1022.205404"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="36.023438" y="1052.607747"/>
<use xlink:href="#glyph3-2" x="43.45124" y="1052.607747"/>
<use xlink:href="#glyph3-7" x="51.158135" y="1052.607747"/>
<use xlink:href="#glyph3-8" x="54.536634" y="1052.607747"/>
<use xlink:href="#glyph3-27" x="62.24353" y="1052.607747"/>
<use xlink:href="#glyph3-4" x="69.285549" y="1052.607747"/>
<use xlink:href="#glyph3-12" x="73.150851" y="1052.607747"/>
<use xlink:href="#glyph3-19" x="79.486246" y="1052.607747"/>
<use xlink:href="#glyph3-5" x="86.925903" y="1052.607747"/>
<use xlink:href="#glyph3-3" x="98.771267" y="1052.607747"/>
<use xlink:href="#glyph3-15" x="106.252671" y="1052.607747"/>
<use xlink:href="#glyph3-2" x="111.020453" y="1052.607747"/>
<use xlink:href="#glyph3-7" x="118.727348" y="1052.607747"/>
<use xlink:href="#glyph3-8" x="122.105847" y="1052.607747"/>
<use xlink:href="#glyph3-28" x="129.812743" y="1052.607747"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-23" x="33.183594" y="1067.806966"/>
<use xlink:href="#glyph3-7" x="36.562093" y="1067.806966"/>
<use xlink:href="#glyph3-27" x="39.940592" y="1067.806966"/>
<use xlink:href="#glyph3-3" x="46.982612" y="1067.806966"/>
<use xlink:href="#glyph3-4" x="54.464016" y="1067.806966"/>
<use xlink:href="#glyph3-6" x="58.329318" y="1067.806966"/>
<use xlink:href="#glyph3-4" x="65.781087" y="1067.806966"/>
<use xlink:href="#glyph3-16" x="69.646389" y="1067.806966"/>
<use xlink:href="#glyph3-6" x="79.591701" y="1067.806966"/>
<use xlink:href="#glyph3-15" x="87.04347" y="1067.806966"/>
<use xlink:href="#glyph3-13" x="91.811251" y="1067.806966"/>
<use xlink:href="#glyph3-2" x="98.496866" y="1067.806966"/>
<use xlink:href="#glyph3-29" x="106.203762" y="1067.806966"/>
<use xlink:href="#glyph3-22" x="110.591687" y="1067.806966"/>
<use xlink:href="#glyph3-6" x="114.872666" y="1067.806966"/>
<use xlink:href="#glyph3-13" x="122.324435" y="1067.806966"/>
<use xlink:href="#glyph3-3" x="129.010049" y="1067.806966"/>
<use xlink:href="#glyph3-9" x="136.491454" y="1067.806966"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(25.882354%,54.509807%,79.215688%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 45.658221 50.77422 L 53.620597 50.77422 L 55.213114 55.724261 L 53.620597 60.674096 L 45.658221 60.674096 L 44.065704 55.724261 L 45.658221 50.77422 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="462.851562" y="1166.11556"/>
<use xlink:href="#glyph3-2" x="470.279365" y="1166.11556"/>
<use xlink:href="#glyph3-3" x="477.98626" y="1166.11556"/>
<use xlink:href="#glyph3-4" x="485.467665" y="1166.11556"/>
<use xlink:href="#glyph3-5" x="489.332967" y="1166.11556"/>
<use xlink:href="#glyph3-3" x="501.178331" y="1166.11556"/>
<use xlink:href="#glyph3-8" x="508.659735" y="1166.11556"/>
<use xlink:href="#glyph3-18" x="516.366631" y="1166.11556"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-12" x="449.882812" y="1181.314779"/>
<use xlink:href="#glyph3-13" x="456.218207" y="1181.314779"/>
<use xlink:href="#glyph3-14" x="462.903822" y="1181.314779"/>
<use xlink:href="#glyph3-7" x="467.903279" y="1181.314779"/>
<use xlink:href="#glyph3-10" x="471.281779" y="1181.314779"/>
<use xlink:href="#glyph3-15" x="479.000529" y="1181.314779"/>
<use xlink:href="#glyph3-4" x="483.76831" y="1181.314779"/>
<use xlink:href="#glyph3-7" x="487.633612" y="1181.314779"/>
<use xlink:href="#glyph3-12" x="491.012112" y="1181.314779"/>
<use xlink:href="#glyph3-4" x="497.347506" y="1181.314779"/>
<use xlink:href="#glyph3-3" x="501.212809" y="1181.314779"/>
<use xlink:href="#glyph3-7" x="508.694213" y="1181.314779"/>
<use xlink:href="#glyph3-15" x="512.072712" y="1181.314779"/>
<use xlink:href="#glyph3-2" x="516.840494" y="1181.314779"/>
<use xlink:href="#glyph3-3" x="524.547389" y="1181.314779"/>
<use xlink:href="#glyph3-14" x="532.028794" y="1181.314779"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-6" x="441.660156" y="1196.513997"/>
<use xlink:href="#glyph3-4" x="449.111925" y="1196.513997"/>
<use xlink:href="#glyph3-5" x="452.977227" y="1196.513997"/>
<use xlink:href="#glyph3-3" x="464.822591" y="1196.513997"/>
<use xlink:href="#glyph3-8" x="472.303995" y="1196.513997"/>
<use xlink:href="#glyph3-18" x="480.010891" y="1196.513997"/>
<use xlink:href="#glyph3-4" x="487.717786" y="1196.513997"/>
<use xlink:href="#glyph3-10" x="491.583089" y="1196.513997"/>
<use xlink:href="#glyph3-14" x="499.301838" y="1196.513997"/>
<use xlink:href="#glyph3-19" x="504.301296" y="1196.513997"/>
<use xlink:href="#glyph3-17" x="511.740952" y="1196.513997"/>
<use xlink:href="#glyph3-7" x="518.937336" y="1196.513997"/>
<use xlink:href="#glyph3-21" x="522.315836" y="1196.513997"/>
<use xlink:href="#glyph3-3" x="530.034585" y="1196.513997"/>
<use xlink:href="#glyph3-21" x="537.51599" y="1196.513997"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-20" x="448.859375" y="1211.717122"/>
<use xlink:href="#glyph3-11" x="456.578125" y="1211.717122"/>
<use xlink:href="#glyph3-4" x="463.774509" y="1211.717122"/>
<use xlink:href="#glyph3-21" x="467.639811" y="1211.717122"/>
<use xlink:href="#glyph3-3" x="475.358561" y="1211.717122"/>
<use xlink:href="#glyph3-22" x="482.839965" y="1211.717122"/>
<use xlink:href="#glyph3-6" x="487.120944" y="1211.717122"/>
<use xlink:href="#glyph3-18" x="494.572713" y="1211.717122"/>
<use xlink:href="#glyph3-23" x="502.279608" y="1211.717122"/>
<use xlink:href="#glyph3-15" x="505.658107" y="1211.717122"/>
<use xlink:href="#glyph3-4" x="510.425889" y="1211.717122"/>
<use xlink:href="#glyph3-19" x="514.291191" y="1211.717122"/>
<use xlink:href="#glyph3-14" x="521.730848" y="1211.717122"/>
<use xlink:href="#glyph3-4" x="526.730305" y="1211.717122"/>
<use xlink:href="#glyph3-6" x="530.595607" y="1211.717122"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-13" x="432.125" y="1226.916341"/>
<use xlink:href="#glyph3-18" x="438.810615" y="1226.916341"/>
<use xlink:href="#glyph3-12" x="446.51751" y="1226.916341"/>
<use xlink:href="#glyph3-15" x="452.852905" y="1226.916341"/>
<use xlink:href="#glyph3-19" x="457.620687" y="1226.916341"/>
<use xlink:href="#glyph3-5" x="465.060343" y="1226.916341"/>
<use xlink:href="#glyph3-4" x="476.905707" y="1226.916341"/>
<use xlink:href="#glyph3-5" x="480.771009" y="1226.916341"/>
<use xlink:href="#glyph3-3" x="492.616373" y="1226.916341"/>
<use xlink:href="#glyph3-8" x="500.097777" y="1226.916341"/>
<use xlink:href="#glyph3-18" x="507.804673" y="1226.916341"/>
<use xlink:href="#glyph3-4" x="515.511569" y="1226.916341"/>
<use xlink:href="#glyph3-16" x="519.376871" y="1226.916341"/>
<use xlink:href="#glyph3-2" x="529.322183" y="1226.916341"/>
<use xlink:href="#glyph3-7" x="537.029079" y="1226.916341"/>
<use xlink:href="#glyph3-13" x="540.407578" y="1226.916341"/>
<use xlink:href="#glyph3-2" x="547.093192" y="1226.916341"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-6" x="434.851562" y="1242.11556"/>
<use xlink:href="#glyph3-4" x="442.303331" y="1242.11556"/>
<use xlink:href="#glyph3-18" x="446.168633" y="1242.11556"/>
<use xlink:href="#glyph3-12" x="453.875529" y="1242.11556"/>
<use xlink:href="#glyph3-3" x="460.210924" y="1242.11556"/>
<use xlink:href="#glyph3-14" x="467.692328" y="1242.11556"/>
<use xlink:href="#glyph3-4" x="472.691786" y="1242.11556"/>
<use xlink:href="#glyph3-13" x="476.557088" y="1242.11556"/>
<use xlink:href="#glyph3-6" x="483.242702" y="1242.11556"/>
<use xlink:href="#glyph3-8" x="490.694471" y="1242.11556"/>
<use xlink:href="#glyph3-4" x="498.401366" y="1242.11556"/>
<use xlink:href="#glyph3-10" x="502.266669" y="1242.11556"/>
<use xlink:href="#glyph3-14" x="509.985418" y="1242.11556"/>
<use xlink:href="#glyph3-19" x="514.984876" y="1242.11556"/>
<use xlink:href="#glyph3-17" x="522.424532" y="1242.11556"/>
<use xlink:href="#glyph3-7" x="529.620916" y="1242.11556"/>
<use xlink:href="#glyph3-21" x="532.999416" y="1242.11556"/>
<use xlink:href="#glyph3-3" x="540.718165" y="1242.11556"/>
<use xlink:href="#glyph3-9" x="548.19957" y="1242.11556"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="441.941406" y="1272.513997"/>
<use xlink:href="#glyph3-2" x="449.369208" y="1272.513997"/>
<use xlink:href="#glyph3-3" x="457.076104" y="1272.513997"/>
<use xlink:href="#glyph3-4" x="464.557508" y="1272.513997"/>
<use xlink:href="#glyph3-5" x="468.422811" y="1272.513997"/>
<use xlink:href="#glyph3-3" x="480.268174" y="1272.513997"/>
<use xlink:href="#glyph3-8" x="487.749579" y="1272.513997"/>
<use xlink:href="#glyph3-18" x="495.456474" y="1272.513997"/>
<use xlink:href="#glyph3-4" x="503.16337" y="1272.513997"/>
<use xlink:href="#glyph3-6" x="507.028672" y="1272.513997"/>
<use xlink:href="#glyph3-23" x="514.480441" y="1272.513997"/>
<use xlink:href="#glyph3-23" x="517.85894" y="1272.513997"/>
<use xlink:href="#glyph3-19" x="521.237439" y="1272.513997"/>
<use xlink:href="#glyph3-16" x="528.677096" y="1272.513997"/>
<use xlink:href="#glyph3-12" x="538.622408" y="1272.513997"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-12" x="427.375" y="1287.717122"/>
<use xlink:href="#glyph3-3" x="433.710395" y="1287.717122"/>
<use xlink:href="#glyph3-23" x="441.191799" y="1287.717122"/>
<use xlink:href="#glyph3-3" x="444.570299" y="1287.717122"/>
<use xlink:href="#glyph3-13" x="452.051703" y="1287.717122"/>
<use xlink:href="#glyph3-15" x="458.737318" y="1287.717122"/>
<use xlink:href="#glyph3-7" x="463.505099" y="1287.717122"/>
<use xlink:href="#glyph3-8" x="466.883599" y="1287.717122"/>
<use xlink:href="#glyph3-28" x="474.590494" y="1287.717122"/>
<use xlink:href="#glyph3-4" x="482.309244" y="1287.717122"/>
<use xlink:href="#glyph3-16" x="486.174546" y="1287.717122"/>
<use xlink:href="#glyph3-2" x="496.119859" y="1287.717122"/>
<use xlink:href="#glyph3-7" x="503.826754" y="1287.717122"/>
<use xlink:href="#glyph3-13" x="507.205253" y="1287.717122"/>
<use xlink:href="#glyph3-2" x="513.890868" y="1287.717122"/>
<use xlink:href="#glyph3-4" x="521.597764" y="1287.717122"/>
<use xlink:href="#glyph3-24" x="525.463066" y="1287.717122"/>
<use xlink:href="#glyph3-6" x="531.056273" y="1287.717122"/>
<use xlink:href="#glyph3-10" x="538.508042" y="1287.717122"/>
<use xlink:href="#glyph3-10" x="546.226792" y="1287.717122"/>
<use xlink:href="#glyph3-24" x="553.945541" y="1287.717122"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph3-13" x="420.640625" y="1302.916341"/>
<use xlink:href="#glyph3-6" x="427.32624" y="1302.916341"/>
<use xlink:href="#glyph3-14" x="434.778008" y="1302.916341"/>
<use xlink:href="#glyph3-21" x="439.777466" y="1302.916341"/>
<use xlink:href="#glyph3-25" x="447.496215" y="1302.916341"/>
<use xlink:href="#glyph3-26" x="455.233005" y="1302.916341"/>
<use xlink:href="#glyph3-4" x="462.969794" y="1302.916341"/>
<use xlink:href="#glyph3-12" x="466.835096" y="1302.916341"/>
<use xlink:href="#glyph3-2" x="473.170491" y="1302.916341"/>
<use xlink:href="#glyph3-19" x="480.877386" y="1302.916341"/>
<use xlink:href="#glyph3-18" x="488.317043" y="1302.916341"/>
<use xlink:href="#glyph3-23" x="496.023938" y="1302.916341"/>
<use xlink:href="#glyph3-21" x="499.402438" y="1302.916341"/>
<use xlink:href="#glyph3-4" x="507.121188" y="1302.916341"/>
<use xlink:href="#glyph3-14" x="510.98649" y="1302.916341"/>
<use xlink:href="#glyph3-18" x="515.985947" y="1302.916341"/>
<use xlink:href="#glyph3-8" x="523.692843" y="1302.916341"/>
<use xlink:href="#glyph3-4" x="531.399738" y="1302.916341"/>
<use xlink:href="#glyph3-8" x="535.26504" y="1302.916341"/>
<use xlink:href="#glyph3-3" x="542.971936" y="1302.916341"/>
<use xlink:href="#glyph3-30" x="550.45334" y="1302.916341"/>
<use xlink:href="#glyph3-15" x="557.649724" y="1302.916341"/>
<use xlink:href="#glyph3-9" x="562.417506" y="1302.916341"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 37.191526 62.066572 L 42.47915 62.066572 C 43.209207 62.066572 43.800902 62.671012 43.800902 63.416489 C 43.800902 64.162172 43.209207 64.766613 42.47915 64.766613 L 37.191526 64.766613 C 36.461469 64.766613 35.869775 64.162172 35.869775 63.416489 C 35.869775 62.671012 36.461469 62.066572 37.191526 62.066572 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-26" x="265.308594" y="1365.471029"/>
<use xlink:href="#glyph1-22" x="275.18278" y="1365.471029"/>
<use xlink:href="#glyph1-4" x="282.420654" y="1365.471029"/>
<use xlink:href="#glyph1-5" x="290.667955" y="1365.471029"/>
<use xlink:href="#glyph1-6" x="296.664984" y="1365.471029"/>
<use xlink:href="#glyph1-22" x="300.898546" y="1365.471029"/>
<use xlink:href="#glyph1-4" x="308.13642" y="1365.471029"/>
<use xlink:href="#glyph1-23" x="316.383721" y="1365.471029"/>
<use xlink:href="#glyph1-4" x="320.551825" y="1365.471029"/>
<use xlink:href="#glyph1-14" x="328.799126" y="1365.471029"/>
<use xlink:href="#glyph1-10" x="336.007364" y="1365.471029"/>
<use xlink:href="#glyph1-22" x="341.820135" y="1365.471029"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-3" x="259.761719" y="1380.670247"/>
<use xlink:href="#glyph1-20" x="270.995551" y="1380.670247"/>
<use xlink:href="#glyph1-15" x="279.652601" y="1380.670247"/>
<use xlink:href="#glyph1-10" x="287.858412" y="1380.670247"/>
<use xlink:href="#glyph1-6" x="293.671183" y="1380.670247"/>
<use xlink:href="#glyph1-27" x="297.904744" y="1380.670247"/>
<use xlink:href="#glyph1-15" x="304.240139" y="1380.670247"/>
<use xlink:href="#glyph1-12" x="312.445949" y="1380.670247"/>
<use xlink:href="#glyph1-12" x="321.150417" y="1380.670247"/>
<use xlink:href="#glyph1-27" x="329.854885" y="1380.670247"/>
<use xlink:href="#glyph1-6" x="336.19028" y="1380.670247"/>
<use xlink:href="#glyph1-10" x="340.423841" y="1380.670247"/>
<use xlink:href="#glyph1-2" x="346.236612" y="1380.670247"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-5" x="275.8125" y="1395.869466"/>
<use xlink:href="#glyph1-17" x="281.80953" y="1395.869466"/>
<use xlink:href="#glyph1-8" x="290.46658" y="1395.869466"/>
<use xlink:href="#glyph1-6" x="299.12363" y="1395.869466"/>
<use xlink:href="#glyph1-8" x="303.357191" y="1395.869466"/>
<use xlink:href="#glyph1-4" x="312.014241" y="1395.869466"/>
<use xlink:href="#glyph1-28" x="320.261542" y="1395.869466"/>
<use xlink:href="#glyph1-10" x="328.105021" y="1395.869466"/>
<use xlink:href="#glyph1-21" x="333.917792" y="1395.869466"/>
</g>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 44.065704 55.724261 L 39.835235 55.724261 L 39.835235 61.57973 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.835235 61.95473 L 39.585235 61.45473 L 39.835235 61.57973 L 40.085235 61.45473 Z M 39.835235 61.95473 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.835235 64.766613 L 39.835235 66.142641 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.835235 66.517641 L 39.585235 66.017641 L 39.835235 66.142641 L 40.085235 66.017641 Z M 39.835235 66.517641 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 37.311592 75.507361 L 42.329273 75.507361 C 43.021913 75.507361 43.583591 75.954935 43.583591 76.507361 C 43.583591 77.059582 43.021913 77.507361 42.329273 77.507361 L 37.311592 77.507361 C 36.618952 77.507361 36.057275 77.059582 36.057275 76.507361 C 36.057275 75.954935 36.618952 75.507361 37.311592 75.507361 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-29" x="262.039062" y="1621.795247"/>
<use xlink:href="#glyph1-4" x="271.402737" y="1621.795247"/>
<use xlink:href="#glyph1-22" x="279.650038" y="1621.795247"/>
<use xlink:href="#glyph1-4" x="286.887912" y="1621.795247"/>
<use xlink:href="#glyph1-10" x="295.135213" y="1621.795247"/>
<use xlink:href="#glyph1-6" x="300.947984" y="1621.795247"/>
<use xlink:href="#glyph1-9" x="305.181545" y="1621.795247"/>
<use xlink:href="#glyph1-17" x="314.450127" y="1621.795247"/>
<use xlink:href="#glyph1-10" x="323.107177" y="1621.795247"/>
<use xlink:href="#glyph1-10" x="328.919948" y="1621.795247"/>
<use xlink:href="#glyph1-2" x="334.732719" y="1621.795247"/>
<use xlink:href="#glyph1-8" x="343.086967" y="1621.795247"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-13" x="271.890625" y="1636.994466"/>
<use xlink:href="#glyph1-22" x="276.058729" y="1636.994466"/>
<use xlink:href="#glyph1-6" x="283.296604" y="1636.994466"/>
<use xlink:href="#glyph1-12" x="287.530165" y="1636.994466"/>
<use xlink:href="#glyph1-5" x="296.234632" y="1636.994466"/>
<use xlink:href="#glyph1-4" x="302.231662" y="1636.994466"/>
<use xlink:href="#glyph1-22" x="310.478963" y="1636.994466"/>
<use xlink:href="#glyph1-22" x="317.716837" y="1636.994466"/>
<use xlink:href="#glyph1-4" x="324.954711" y="1636.994466"/>
<use xlink:href="#glyph1-16" x="333.202012" y="1636.994466"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(81.960785%,0%,41.176471%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 49.396708 87.914228 L 55.786716 87.914228 L 55.786716 89.81431 L 49.396708 89.81431 Z M 49.396708 87.914228 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph1-29" x="500.296875" y="1864.080404"/>
<use xlink:href="#glyph1-4" x="509.660549" y="1864.080404"/>
<use xlink:href="#glyph1-30" x="517.90785" y="1864.080404"/>
<use xlink:href="#glyph1-2" x="522.954725" y="1864.080404"/>
<use xlink:href="#glyph1-12" x="531.308973" y="1864.080404"/>
<use xlink:href="#glyph1-4" x="540.013441" y="1864.080404"/>
<use xlink:href="#glyph1-8" x="548.260742" y="1864.080404"/>
<use xlink:href="#glyph1-6" x="556.917792" y="1864.080404"/>
<use xlink:href="#glyph1-31" x="561.151353" y="1864.080404"/>
<use xlink:href="#glyph1-4" x="573.252101" y="1864.080404"/>
<use xlink:href="#glyph1-8" x="581.499402" y="1864.080404"/>
<use xlink:href="#glyph1-17" x="590.156452" y="1864.080404"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(81.960785%,0%,41.176471%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.57804 91.364269 L 56.522941 91.364269 C 57.619981 91.364269 58.509167 91.811843 58.509167 92.364269 C 58.509167 92.91649 57.619981 93.364269 56.522941 93.364269 L 48.57804 93.364269 C 47.481 93.364269 46.591609 92.91649 46.591609 92.364269 C 46.591609 91.811843 47.481 91.364269 48.57804 91.364269 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph1-32" x="476.132812" y="1930.674154"/>
<use xlink:href="#glyph1-2" x="486.113946" y="1930.674154"/>
<use xlink:href="#glyph1-6" x="494.468194" y="1930.674154"/>
<use xlink:href="#glyph1-13" x="498.701755" y="1930.674154"/>
<use xlink:href="#glyph1-8" x="502.869859" y="1930.674154"/>
<use xlink:href="#glyph1-10" x="511.526909" y="1930.674154"/>
<use xlink:href="#glyph1-2" x="517.33968" y="1930.674154"/>
<use xlink:href="#glyph1-6" x="525.693928" y="1930.674154"/>
<use xlink:href="#glyph1-27" x="529.92749" y="1930.674154"/>
<use xlink:href="#glyph1-22" x="536.262884" y="1930.674154"/>
<use xlink:href="#glyph1-23" x="543.500759" y="1930.674154"/>
<use xlink:href="#glyph1-4" x="547.668863" y="1930.674154"/>
<use xlink:href="#glyph1-4" x="555.916164" y="1930.674154"/>
<use xlink:href="#glyph1-12" x="564.163465" y="1930.674154"/>
<use xlink:href="#glyph1-6" x="572.867932" y="1930.674154"/>
<use xlink:href="#glyph1-18" x="577.101493" y="1930.674154"/>
<use xlink:href="#glyph1-2" x="589.772283" y="1930.674154"/>
<use xlink:href="#glyph1-16" x="598.126531" y="1930.674154"/>
<use xlink:href="#glyph1-4" x="606.830999" y="1930.674154"/>
<use xlink:href="#glyph1-27" x="615.0783" y="1930.674154"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.420351 94.950207 L 56.762867 94.950207 C 57.9148 94.950207 58.848599 95.397781 58.848599 95.950207 C 58.848599 96.502427 57.9148 96.950207 56.762867 96.950207 L 48.420351 96.950207 C 47.268624 96.950207 46.334824 96.502427 46.334824 95.950207 C 46.334824 95.397781 47.268624 94.950207 48.420351 94.950207 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-33" x="473.152344" y="1998.806966"/>
<use xlink:href="#glyph1-20" x="481.910156" y="1998.806966"/>
<use xlink:href="#glyph1-17" x="490.567206" y="1998.806966"/>
<use xlink:href="#glyph1-10" x="499.224256" y="1998.806966"/>
<use xlink:href="#glyph1-6" x="505.037028" y="1998.806966"/>
<use xlink:href="#glyph1-16" x="509.270589" y="1998.806966"/>
<use xlink:href="#glyph1-2" x="517.975056" y="1998.806966"/>
<use xlink:href="#glyph1-3" x="526.329304" y="1998.806966"/>
<use xlink:href="#glyph1-8" x="537.563137" y="1998.806966"/>
<use xlink:href="#glyph1-6" x="546.220187" y="1998.806966"/>
<use xlink:href="#glyph1-14" x="550.453748" y="1998.806966"/>
<use xlink:href="#glyph1-2" x="557.661986" y="1998.806966"/>
<use xlink:href="#glyph1-18" x="566.016234" y="1998.806966"/>
<use xlink:href="#glyph1-12" x="578.687024" y="1998.806966"/>
<use xlink:href="#glyph1-23" x="587.391492" y="1998.806966"/>
<use xlink:href="#glyph1-4" x="591.559596" y="1998.806966"/>
<use xlink:href="#glyph1-10" x="599.806897" y="1998.806966"/>
<use xlink:href="#glyph1-4" x="605.619668" y="1998.806966"/>
<use xlink:href="#glyph1-23" x="613.866969" y="1998.806966"/>
<use xlink:href="#glyph1-19" x="618.035073" y="1998.806966"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(81.960785%,0%,41.176471%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 36.28651 82.037789 L 43.353944 82.037789 L 43.353944 83.937871 L 36.28651 83.937871 Z M 36.28651 82.037789 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph2-32" x="250.238281" y="1752.42806"/>
<use xlink:href="#glyph2-8" x="257.957031" y="1752.42806"/>
<use xlink:href="#glyph2-9" x="262.724813" y="1752.42806"/>
<use xlink:href="#glyph2-29" x="270.164469" y="1752.42806"/>
<use xlink:href="#glyph2-6" x="277.883219" y="1752.42806"/>
<use xlink:href="#glyph2-4" x="281.748521" y="1752.42806"/>
<use xlink:href="#glyph2-28" x="288.434136" y="1752.42806"/>
<use xlink:href="#glyph2-10" x="296.141031" y="1752.42806"/>
<use xlink:href="#glyph2-10" x="300.926852" y="1752.42806"/>
<use xlink:href="#glyph2-3" x="305.659328" y="1752.42806"/>
<use xlink:href="#glyph2-20" x="313.140733" y="1752.42806"/>
<use xlink:href="#glyph2-8" x="320.847628" y="1752.42806"/>
<use xlink:href="#glyph2-6" x="325.61541" y="1752.42806"/>
<use xlink:href="#glyph2-41" x="329.480712" y="1752.42806"/>
<use xlink:href="#glyph2-11" x="335.073919" y="1752.42806"/>
<use xlink:href="#glyph2-29" x="342.525688" y="1752.42806"/>
<use xlink:href="#glyph2-29" x="350.244438" y="1752.42806"/>
<use xlink:href="#glyph2-41" x="357.963188" y="1752.42806"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(81.960785%,0%,41.176471%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 36.412949 85.037789 L 43.227916 85.037789 L 43.227916 86.937871 L 36.412949 86.937871 Z M 36.412949 85.037789 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph2-42" x="252.59375" y="1809.42806"/>
<use xlink:href="#glyph2-3" x="261.957424" y="1809.42806"/>
<use xlink:href="#glyph2-19" x="269.438829" y="1809.42806"/>
<use xlink:href="#glyph2-20" x="272.817328" y="1809.42806"/>
<use xlink:href="#glyph2-19" x="280.524224" y="1809.42806"/>
<use xlink:href="#glyph2-8" x="283.902723" y="1809.42806"/>
<use xlink:href="#glyph2-6" x="288.670505" y="1809.42806"/>
<use xlink:href="#glyph2-29" x="292.535807" y="1809.42806"/>
<use xlink:href="#glyph2-3" x="300.254557" y="1809.42806"/>
<use xlink:href="#glyph2-10" x="307.735961" y="1809.42806"/>
<use xlink:href="#glyph2-19" x="312.735419" y="1809.42806"/>
<use xlink:href="#glyph2-29" x="316.113918" y="1809.42806"/>
<use xlink:href="#glyph2-2" x="323.832668" y="1809.42806"/>
<use xlink:href="#glyph2-3" x="331.539563" y="1809.42806"/>
<use xlink:href="#glyph2-10" x="339.020968" y="1809.42806"/>
<use xlink:href="#glyph2-11" x="344.020425" y="1809.42806"/>
<use xlink:href="#glyph2-25" x="351.472194" y="1809.42806"/>
<use xlink:href="#glyph2-7" x="354.850693" y="1809.42806"/>
</g>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.820433 83.937871 L 39.820433 84.550947 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.820433 84.925947 L 39.570433 84.425947 L 39.820433 84.550947 L 40.070433 84.425947 Z M 39.820433 84.925947 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.820433 86.937871 L 39.820433 88.864269 L 48.910071 88.864269 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 49.285071 88.864269 L 48.785071 89.114269 L 48.910071 88.864269 L 48.785071 88.614269 Z M 49.285071 88.864269 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.820433 86.937871 L 39.820433 92.364269 L 46.104972 92.364269 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.479972 92.364269 L 45.979972 92.614269 L 46.104972 92.364269 L 45.979972 92.114269 Z M 46.479972 92.364269 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.820433 86.937871 L 39.820433 95.950207 L 45.847982 95.950207 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.222982 95.950207 L 45.722982 96.200207 L 45.847982 95.950207 L 45.722982 95.700207 Z M 46.222982 95.950207 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-32" x="327.691406" y="1854.83431"/>
<use xlink:href="#glyph2-2" x="335.410156" y="1854.83431"/>
<use xlink:href="#glyph2-9" x="343.117052" y="1854.83431"/>
<use xlink:href="#glyph2-10" x="350.556708" y="1854.83431"/>
<use xlink:href="#glyph2-8" x="355.556166" y="1854.83431"/>
<use xlink:href="#glyph2-6" x="360.323947" y="1854.83431"/>
<use xlink:href="#glyph2-40" x="364.189249" y="1854.83431"/>
<use xlink:href="#glyph2-10" x="371.30858" y="1854.83431"/>
<use xlink:href="#glyph2-3" x="376.041056" y="1854.83431"/>
<use xlink:href="#glyph2-7" x="383.52246" y="1854.83431"/>
<use xlink:href="#glyph2-7" x="389.857855" y="1854.83431"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-43" x="319.863281" y="1921.33431"/>
<use xlink:href="#glyph2-3" x="330.354926" y="1921.33431"/>
<use xlink:href="#glyph2-14" x="337.836331" y="1921.33431"/>
<use xlink:href="#glyph2-19" x="345.555081" y="1921.33431"/>
<use xlink:href="#glyph2-28" x="348.93358" y="1921.33431"/>
<use xlink:href="#glyph2-37" x="356.640475" y="1921.33431"/>
<use xlink:href="#glyph2-6" x="368.485839" y="1921.33431"/>
<use xlink:href="#glyph2-40" x="372.351141" y="1921.33431"/>
<use xlink:href="#glyph2-10" x="379.470472" y="1921.33431"/>
<use xlink:href="#glyph2-3" x="384.202948" y="1921.33431"/>
<use xlink:href="#glyph2-7" x="391.684352" y="1921.33431"/>
<use xlink:href="#glyph2-7" x="398.019747" y="1921.33431"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-24" x="329.257812" y="1987.83431"/>
<use xlink:href="#glyph2-9" x="335.818956" y="1987.83431"/>
<use xlink:href="#glyph2-20" x="343.258613" y="1987.83431"/>
<use xlink:href="#glyph2-12" x="350.965508" y="1987.83431"/>
<use xlink:href="#glyph2-6" x="358.684258" y="1987.83431"/>
<use xlink:href="#glyph2-40" x="362.54956" y="1987.83431"/>
<use xlink:href="#glyph2-10" x="369.668891" y="1987.83431"/>
<use xlink:href="#glyph2-3" x="374.401367" y="1987.83431"/>
<use xlink:href="#glyph2-7" x="381.882771" y="1987.83431"/>
<use xlink:href="#glyph2-7" x="388.218166" y="1987.83431"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 50.359495 62.416489 L 55.859495 62.416489 C 56.618953 62.416489 57.234495 62.864269 57.234495 63.416489 C 57.234495 63.968915 56.618953 64.416489 55.859495 64.416489 L 50.359495 64.416489 C 49.600038 64.416489 48.984495 63.968915 48.984495 63.416489 C 48.984495 62.864269 49.600038 62.416489 50.359495 62.416489 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-26" x="517.519531" y="1373.072591"/>
<use xlink:href="#glyph1-22" x="527.393717" y="1373.072591"/>
<use xlink:href="#glyph1-4" x="534.631592" y="1373.072591"/>
<use xlink:href="#glyph1-5" x="542.878892" y="1373.072591"/>
<use xlink:href="#glyph1-6" x="548.875922" y="1373.072591"/>
<use xlink:href="#glyph1-22" x="553.109483" y="1373.072591"/>
<use xlink:href="#glyph1-4" x="560.347357" y="1373.072591"/>
<use xlink:href="#glyph1-23" x="568.594658" y="1373.072591"/>
<use xlink:href="#glyph1-4" x="572.762762" y="1373.072591"/>
<use xlink:href="#glyph1-14" x="581.010063" y="1373.072591"/>
<use xlink:href="#glyph1-10" x="588.218302" y="1373.072591"/>
<use xlink:href="#glyph1-22" x="594.031073" y="1373.072591"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-27" x="509.949219" y="1388.27181"/>
<use xlink:href="#glyph1-26" x="516.284614" y="1388.27181"/>
<use xlink:href="#glyph1-33" x="526.1588" y="1388.27181"/>
<use xlink:href="#glyph1-9" x="534.916612" y="1388.27181"/>
<use xlink:href="#glyph1-6" x="544.185194" y="1388.27181"/>
<use xlink:href="#glyph1-33" x="548.418755" y="1388.27181"/>
<use xlink:href="#glyph1-10" x="557.176567" y="1388.27181"/>
<use xlink:href="#glyph1-2" x="562.989339" y="1388.27181"/>
<use xlink:href="#glyph1-5" x="571.343586" y="1388.27181"/>
<use xlink:href="#glyph1-15" x="577.340616" y="1388.27181"/>
<use xlink:href="#glyph1-34" x="585.546426" y="1388.27181"/>
<use xlink:href="#glyph1-4" x="594.250894" y="1388.27181"/>
<use xlink:href="#glyph1-27" x="602.498195" y="1388.27181"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(81.960785%,0%,41.176471%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 49.6648 66.327674 L 57.023558 66.327674 L 56.295556 68.327674 L 48.936798 68.327674 Z M 49.6648 66.327674 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph2-30" x="500.292969" y="1454.885091"/>
<use xlink:href="#glyph2-29" x="509.864353" y="1454.885091"/>
<use xlink:href="#glyph2-3" x="517.583103" y="1454.885091"/>
<use xlink:href="#glyph2-20" x="525.064507" y="1454.885091"/>
<use xlink:href="#glyph2-6" x="532.771403" y="1454.885091"/>
<use xlink:href="#glyph2-31" x="536.636705" y="1454.885091"/>
<use xlink:href="#glyph2-32" x="545.537027" y="1454.885091"/>
<use xlink:href="#glyph2-27" x="553.255777" y="1454.885091"/>
<use xlink:href="#glyph2-33" x="561.598171" y="1454.885091"/>
<use xlink:href="#glyph2-32" x="565.986097" y="1454.885091"/>
<use xlink:href="#glyph2-8" x="573.704847" y="1454.885091"/>
<use xlink:href="#glyph2-9" x="578.472628" y="1454.885091"/>
<use xlink:href="#glyph2-10" x="585.912285" y="1454.885091"/>
<use xlink:href="#glyph2-11" x="590.911742" y="1454.885091"/>
<use xlink:href="#glyph2-12" x="598.363511" y="1454.885091"/>
<use xlink:href="#glyph2-3" x="606.08226" y="1454.885091"/>
</g>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.999298 48.787994 L 46.999298 49.613446 L 49.639512 49.613446 L 49.639512 50.287377 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 49.639512 50.662377 L 49.389512 50.162377 L 49.639512 50.287377 L 49.889512 50.162377 Z M 49.639512 50.662377 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 55.786716 88.864269 L 59.89568 88.864269 L 59.89568 35.348027 L 47.396091 35.348027 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 47.021091 35.348027 L 47.521091 35.098027 L 47.396091 35.348027 L 47.521091 35.598027 Z M 47.021091 35.348027 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 45.163772 74.629483 L 45.163772 76.507361 L 44.070433 76.507361 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 43.695433 76.507361 L 44.195433 76.257361 L 44.070433 76.507361 L 44.195433 76.757361 Z M 43.695433 76.507361 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 34.582768 74.629483 L 34.582768 76.507361 L 35.570433 76.507361 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 35.945433 76.507361 L 35.445433 76.757361 L 35.570433 76.507361 L 35.445433 76.257361 Z M 35.945433 76.507361 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 28.235317 48.299918 L 28.235317 76.507361 L 35.570433 76.507361 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 35.945433 76.507361 L 35.445433 76.757361 L 35.570433 76.507361 L 35.445433 76.257361 Z M 35.945433 76.507361 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 28.235317 36.700001 L 28.235317 39.513117 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 28.235317 39.888117 L 27.985317 39.388117 L 28.235317 39.513117 L 28.485317 39.388117 Z M 28.235317 39.888117 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 50.999915 9.474466 L 50.999915 10.987624 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 50.999915 11.362624 L 50.749915 10.862624 L 50.999915 10.987624 L 51.249915 10.862624 Z M 50.999915 11.362624 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(49.803922%,54.901963%,55.29412%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.999915 -7.500041 L 55.499915 -7.500041 L 55.499915 -5.599959 L 46.999915 -5.599959 Z M 46.999915 -7.500041 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-9" x="486.328125" y="51.20931"/>
<use xlink:href="#glyph1-2" x="495.596707" y="51.20931"/>
<use xlink:href="#glyph1-2" x="503.950955" y="51.20931"/>
<use xlink:href="#glyph1-10" x="512.305203" y="51.20931"/>
<use xlink:href="#glyph1-23" x="518.117974" y="51.20931"/>
<use xlink:href="#glyph1-2" x="522.286078" y="51.20931"/>
<use xlink:href="#glyph1-15" x="530.640326" y="51.20931"/>
<use xlink:href="#glyph1-16" x="538.846136" y="51.20931"/>
<use xlink:href="#glyph1-4" x="547.550604" y="51.20931"/>
<use xlink:href="#glyph1-5" x="555.797905" y="51.20931"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(81.960785%,0%,41.176471%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.999915 -5.000041 L 55.499915 -5.000041 L 55.499915 -3.099959 L 46.999915 -3.099959 Z M 46.999915 -5.000041 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph1-11" x="456.730469" y="98.70931"/>
<use xlink:href="#glyph1-12" x="465.037041" y="98.70931"/>
<use xlink:href="#glyph1-13" x="473.741509" y="98.70931"/>
<use xlink:href="#glyph1-14" x="477.909613" y="98.70931"/>
<use xlink:href="#glyph1-15" x="485.117852" y="98.70931"/>
<use xlink:href="#glyph1-5" x="493.323662" y="98.70931"/>
<use xlink:href="#glyph1-16" x="499.320692" y="98.70931"/>
<use xlink:href="#glyph1-13" x="508.025159" y="98.70931"/>
<use xlink:href="#glyph1-17" x="512.193264" y="98.70931"/>
<use xlink:href="#glyph1-18" x="520.850314" y="98.70931"/>
<use xlink:href="#glyph1-6" x="533.521104" y="98.70931"/>
<use xlink:href="#glyph1-35" x="537.754665" y="98.70931"/>
<use xlink:href="#glyph1-14" x="543.312309" y="98.70931"/>
<use xlink:href="#glyph1-2" x="550.520547" y="98.70931"/>
<use xlink:href="#glyph1-5" x="558.874795" y="98.70931"/>
<use xlink:href="#glyph1-4" x="564.871825" y="98.70931"/>
<use xlink:href="#glyph1-6" x="573.119126" y="98.70931"/>
<use xlink:href="#glyph1-24" x="577.352687" y="98.70931"/>
<use xlink:href="#glyph1-36" x="585.813624" y="98.70931"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(25.882354%,54.509807%,79.215688%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.999915 -2.500041 L 55.499915 -2.500041 L 55.499915 -0.599959 L 46.999915 -0.599959 Z M 46.999915 -2.500041 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="458.792969" y="146.20931"/>
<use xlink:href="#glyph1-19" x="467.930637" y="146.20931"/>
<use xlink:href="#glyph1-14" x="475.857354" y="146.20931"/>
<use xlink:href="#glyph1-15" x="483.065592" y="146.20931"/>
<use xlink:href="#glyph1-5" x="491.271403" y="146.20931"/>
<use xlink:href="#glyph1-16" x="497.268432" y="146.20931"/>
<use xlink:href="#glyph1-13" x="505.9729" y="146.20931"/>
<use xlink:href="#glyph1-17" x="510.141004" y="146.20931"/>
<use xlink:href="#glyph1-18" x="518.798054" y="146.20931"/>
<use xlink:href="#glyph1-6" x="531.468844" y="146.20931"/>
<use xlink:href="#glyph1-35" x="535.702405" y="146.20931"/>
<use xlink:href="#glyph1-14" x="541.260049" y="146.20931"/>
<use xlink:href="#glyph1-2" x="548.468288" y="146.20931"/>
<use xlink:href="#glyph1-5" x="556.822536" y="146.20931"/>
<use xlink:href="#glyph1-4" x="562.819565" y="146.20931"/>
<use xlink:href="#glyph1-6" x="571.066866" y="146.20931"/>
<use xlink:href="#glyph1-37" x="575.300427" y="146.20931"/>
<use xlink:href="#glyph1-36" x="583.761365" y="146.20931"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(55.686277%,75.686276%,93.333334%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.999915 -0.0000410049 L 55.499915 -0.0000410049 L 55.499915 1.900041 L 46.999915 1.900041 Z M 46.999915 -0.0000410049 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-38" x="468.011719" y="193.70931"/>
<use xlink:href="#glyph1-24" x="475.760362" y="193.70931"/>
<use xlink:href="#glyph1-16" x="484.2213" y="193.70931"/>
<use xlink:href="#glyph1-15" x="492.925767" y="193.70931"/>
<use xlink:href="#glyph1-25" x="501.131578" y="193.70931"/>
<use xlink:href="#glyph1-23" x="509.836045" y="193.70931"/>
<use xlink:href="#glyph1-4" x="514.00415" y="193.70931"/>
<use xlink:href="#glyph1-6" x="522.251451" y="193.70931"/>
<use xlink:href="#glyph1-35" x="526.485012" y="193.70931"/>
<use xlink:href="#glyph1-14" x="532.042656" y="193.70931"/>
<use xlink:href="#glyph1-2" x="539.250894" y="193.70931"/>
<use xlink:href="#glyph1-5" x="547.605142" y="193.70931"/>
<use xlink:href="#glyph1-4" x="553.602172" y="193.70931"/>
<use xlink:href="#glyph1-6" x="561.849473" y="193.70931"/>
<use xlink:href="#glyph1-37" x="566.083034" y="193.70931"/>
<use xlink:href="#glyph1-36" x="574.543971" y="193.70931"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-39" x="443.296875" y="19.955404"/>
<use xlink:href="#glyph1-2" x="452.221164" y="19.955404"/>
<use xlink:href="#glyph1-23" x="460.575412" y="19.955404"/>
<use xlink:href="#glyph1-2" x="464.743516" y="19.955404"/>
<use xlink:href="#glyph1-5" x="473.097764" y="19.955404"/>
<use xlink:href="#glyph1-22" x="479.094794" y="19.955404"/>
<use xlink:href="#glyph1-40" x="486.332668" y="19.955404"/>
</g>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.820433 77.507361 L 39.820433 78.253661 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.820433 78.628661 L 39.570433 78.128661 L 39.820433 78.253661 L 40.070433 78.128661 Z M 39.820433 78.628661 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.820433 80.740503 L 39.820433 81.550947 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.820433 81.925947 L 39.570433 81.425947 L 39.820433 81.550947 L 40.070433 81.425947 Z M 39.820433 81.925947 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 49.639512 60.674096 L 49.639512 61.545396 L 53.109495 61.545396 L 53.109495 61.929853 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 53.109495 62.304853 L 52.859495 61.804853 L 53.109495 61.929853 L 53.359495 61.804853 Z M 53.109495 62.304853 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(81.960785%,0%,41.176471%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 34.416239 78.740503 L 45.224627 78.740503 L 43.062826 80.740503 L 36.577834 80.740503 L 34.416239 78.740503 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph2-21" x="248.160156" y="1683.224935"/>
<use xlink:href="#glyph2-29" x="255.843343" y="1683.224935"/>
<use xlink:href="#glyph2-19" x="263.562093" y="1683.224935"/>
<use xlink:href="#glyph2-4" x="266.940592" y="1683.224935"/>
<use xlink:href="#glyph2-11" x="273.626207" y="1683.224935"/>
<use xlink:href="#glyph2-10" x="281.077975" y="1683.224935"/>
<use xlink:href="#glyph2-14" x="285.863796" y="1683.224935"/>
<use xlink:href="#glyph2-19" x="293.582546" y="1683.224935"/>
<use xlink:href="#glyph2-28" x="296.961045" y="1683.224935"/>
<use xlink:href="#glyph2-37" x="304.667941" y="1683.224935"/>
<use xlink:href="#glyph2-6" x="316.513305" y="1683.224935"/>
<use xlink:href="#glyph2-14" x="320.378607" y="1683.224935"/>
<use xlink:href="#glyph2-3" x="328.097357" y="1683.224935"/>
<use xlink:href="#glyph2-8" x="335.578761" y="1683.224935"/>
<use xlink:href="#glyph2-3" x="340.346543" y="1683.224935"/>
<use xlink:href="#glyph2-4" x="347.827947" y="1683.224935"/>
<use xlink:href="#glyph2-8" x="354.513562" y="1683.224935"/>
<use xlink:href="#glyph2-7" x="359.281344" y="1683.224935"/>
</g>
<g style="fill:rgb(100%,100%,100%);fill-opacity:1;">
<use xlink:href="#glyph2-18" x="268.605469" y="1698.424154"/>
<use xlink:href="#glyph2-28" x="276.324219" y="1698.424154"/>
<use xlink:href="#glyph2-8" x="284.031114" y="1698.424154"/>
<use xlink:href="#glyph2-8" x="288.798896" y="1698.424154"/>
<use xlink:href="#glyph2-9" x="293.566677" y="1698.424154"/>
<use xlink:href="#glyph2-20" x="301.006334" y="1698.424154"/>
<use xlink:href="#glyph2-6" x="308.713229" y="1698.424154"/>
<use xlink:href="#glyph2-29" x="312.578531" y="1698.424154"/>
<use xlink:href="#glyph2-10" x="320.297281" y="1698.424154"/>
<use xlink:href="#glyph2-3" x="325.029757" y="1698.424154"/>
<use xlink:href="#glyph2-7" x="332.511162" y="1698.424154"/>
<use xlink:href="#glyph2-7" x="338.846557" y="1698.424154"/>
</g>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.999298 43.137089 L 46.999298 46.301152 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.999298 46.676152 L 46.749298 46.176152 L 46.999298 46.301152 L 47.249298 46.176152 Z M 46.999298 46.676152 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 43.879849 41.577468 L 43.879849 41.578701 L 40.731 41.578701 L 40.731 42.945272 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 40.731 43.320272 L 40.481 42.820272 L 40.731 42.945272 L 40.981 42.820272 Z M 40.731 43.320272 " transform="matrix(19,0,0,19,-449.701494,171.949998)"/>
</g>
</svg>
......@@ -10,9 +10,9 @@
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="193.0201mm"
height="112.18587mm"
viewBox="0 0 193.0201 112.18587"
width="177.69194mm"
height="85.845795mm"
viewBox="0 0 177.69194 85.845797"
version="1.1"
id="svg1036"
sodipodi:docname="overview.svg"
......@@ -148,21 +148,42 @@
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="254.67554"
inkscape:cy="190.35742"
inkscape:cx="311.42364"
inkscape:cy="97.652686"
inkscape:document-units="mm"
inkscape:current-layer="g8661"
inkscape:current-layer="a4682"
showgrid="false"
inkscape:pagecheckerboard="true"
inkscape:window-width="1920"
inkscape:window-height="1020"
inkscape:window-x="0"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
fit-margin-top="5"
fit-margin-left="5"
fit-margin-right="5"
fit-margin-bottom="5">
<sodipodi:guide
position="0,0"
orientation="0,671.59159"
id="guide992"
inkscape:locked="false" />
<sodipodi:guide
position="177.69194,0"
orientation="-324.45655,0"
id="guide994"
inkscape:locked="false" />
<sodipodi:guide
position="177.69194,85.845794"
orientation="0,-671.59159"
id="guide996"
inkscape:locked="false" />
<sodipodi:guide
position="0,85.845794"
orientation="324.45655,0"
id="guide998"
inkscape:locked="false" />
</sodipodi:namedview>
<metadata
id="metadata1033">
<rdf:RDF>
......@@ -171,7 +192,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
......@@ -180,16 +201,16 @@
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
transform="translate(-2.3373782,-73.326953)">
transform="translate(-15.576497,-73.626997)">
<g
id="g8661">
<rect
y="73.453064"
x="2.4634895"
height="111.93365"
width="192.76787"
id="rect6184"
style="fill:#fbfbfb;fill-opacity:1;stroke:#000000;stroke-width:0.25222266;stroke-opacity:1" />
style="fill:#ffffff;fill-opacity:1;stroke:#020000;stroke-width:0.52916667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1000"
width="177.69194"
height="85.845795"
x="15.576497"
y="73.626999" />
<g
transform="translate(10.849283,-15.686012)"
id="g6159">
......@@ -301,19 +322,19 @@
xlink:title="Epicardium">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.3499999px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#0000ee;fill-opacity:1;stroke:none;stroke-width:0.26458332"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.3499999px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#d10069;fill-opacity:1;stroke:none;stroke-width:0.26458332;opacity:1;"
x="40.307911"
y="111.83552"
id="text6791"><tspan
sodipodi:role="line"
x="40.307911"
y="111.83552"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.3499999px;font-family:monospace;-inkscape-font-specification:monospace;fill:#0000ee;fill-opacity:1;stroke-width:0.26458332"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.3499999px;font-family:monospace;-inkscape-font-specification:monospace;fill:#d10069;fill-opacity:1;stroke-width:0.26458332;"
id="tspan6793">Epicardium</tspan><tspan
sodipodi:role="line"
x="40.307911"
y="119.77302"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.58611107px;font-family:monospace;-inkscape-font-specification:monospace;fill:#0000ee;fill-opacity:1;stroke-width:0.26458332"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.58611107px;font-family:monospace;-inkscape-font-specification:monospace;fill:#d10069;fill-opacity:1;stroke-width:0.26458332;"
id="tspan1028">(core 0)</tspan></text>
</a>
</g>
......@@ -393,7 +414,7 @@
xlink:title="Pycardium">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.3499999px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#0000ee;fill-opacity:1;stroke:none;stroke-width:0.26458332"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.3499999px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#428bca;fill-opacity:1;stroke:none;stroke-width:0.26458332;"
x="147.18329"
y="111.80997"
id="text6799"><tspan
......@@ -401,11 +422,11 @@
id="tspan6797"
x="147.18329"
y="111.80997"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.3499999px;font-family:monospace;-inkscape-font-specification:monospace;fill:#0000ee;fill-opacity:1;stroke-width:0.26458332">Pycardium</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.3499999px;font-family:monospace;-inkscape-font-specification:monospace;fill:#428bca;fill-opacity:1;stroke-width:0.26458332;">Pycardium</tspan><tspan
sodipodi:role="line"
x="147.18329"
y="119.74747"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.58611107px;font-family:monospace;-inkscape-font-specification:monospace;fill:#0000ee;fill-opacity:1;stroke-width:0.26458332"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.58611107px;font-family:monospace;-inkscape-font-specification:monospace;fill:#428bca;fill-opacity:1;stroke-width:0.26458332;"
id="tspan1032">(core 1)</tspan></text>
</a>
</g>
......@@ -421,41 +442,6 @@
y="84.910851"
x="104.47012"
sodipodi:role="line">MAX32666</tspan></text>
<path
style="display:inline;fill:none;stroke:#b7b7b7;stroke-width:3.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutS)"
d="M 19.222455,122.34974 H 10.72299 v 46.42197 h 23.044261"
id="path5043-2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<g
id="g8371"
transform="translate(-11.900687,-20.587525)"
style="stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none">
<rect
transform="scale(-1,1)"
style="display:inline;fill:#f3f3f3;fill-opacity:1;stroke:#000000;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1634-9"
width="20.587021"
height="20.587021"
x="-73.88205"
y="179.16779" />
<text
id="text8363"
y="188.57161"
x="63.567005"
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none"
xml:space="preserve"><tspan
style="stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none"
y="188.57161"
x="63.567005"
id="tspan8361"
sodipodi:role="line">Bluetooth</tspan><tspan
id="tspan8365"
style="stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none"
y="192.98134"
x="63.567005"
sodipodi:role="line">Core</tspan></text>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
......
.. _usb_file_transfer:
USB File Transfer
=================
The card10 badge bootloader offers a USB Mass Storage mode to access its 8MB external flash.
This flash contains a FAT32 filesystem and files on it will be visible to software running on the badge.
Getting to the USB mode
-----------------------
To get to the USB mode, you will need to boot the badge while keeping the bottom-right button pressed.
.. image:: static/bootloader-buttons.png
1. If the badge is on, hold the top-left (power) button until the sleep screen appears, then release.
2. Start holding the bottom-right button.
3. Quickly press and release the top-left (power) button to turn the badge on.
4. Your badge should now be in file transfer mode, and you can then release the bottom-right button.
If you succesfully got into USB File Transfer mode, the screen will display its version and notify about the USB mode by displaying ``USB activated. Ready.``. If you connect the badge via USB to your computer, it should now detect 8MB of flash storage that you can mount in the same way as a pendrive.
This pendrive can contain multiple files with different functions, some of them outlined here:
============== ========
File name Function
============== ========
``card10.bin`` Firmware update file for the badge. If this file is present, the bootloader will perform an internal update to boot from this firmware file, then it will be deleted.
``main.py`` This file contains the default `application` to be run on power on.
``menu.py`` This file contains the default `menu` to be run when the power button is short-pressed.
``*.py`` These are application files written in (Micro)Python that can be run from the menu.
``*.elf`` These are :ref:`l0dables` that can be run from the menu.
============== ========
Updating files and rebooting
----------------------------
No matter which file you are writing, the bootloader will display a red ``Writing`` status message while write operations are pending. Please wait until it displays ``Ready`` again before resetting the badge by pressing the power button again.
......@@ -11,12 +11,19 @@ If you want to help us ensure the card10 will have been exactly as we reconstruc
## How To Build
A full guide for building is available in the docs as [How To Build](https://firmware.card10.badge.events.ccc.de/how-to-build.html).
Last Artifacts from Gitlab-CI: [![pipeline status](https://git.card10.badge.events.ccc.de/card10/firmware/badges/master/pipeline.svg)](https://git.card10.badge.events.ccc.de/card10/firmware/-/jobs/artifacts/master/browse/build/?job=release)
## How To Flash
Flasing with or without a debugger is described in detail in [How To Flash](https://firmware.card10.badge.events.ccc.de/how-to-flash.html).
## Debugger
If you have a debugger, head over to our [Debugger](https://firmware.card10.badge.events.ccc.de/debugger.html) page to learn how to use it.
# License
Unless otherwise noted in a file, the contents of this repository are licensed under the MIT license. See [COPYING](COPYING) for more details.
---
# Old README Contents:
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962" name="Debug" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962">
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962." name="/" resourcePath="">
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug.548125692" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.1448195934" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.none" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.989348626" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.573934961" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1195068176" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.1035348629" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.31679983" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.max" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.1676901946" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1729767352" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="GNU Tools for ARM Embedded Processors" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1708484008" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.178519983" name="ARM family" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-m3" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.956545422" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.thumb" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.1580514969" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix" value="arm-none-eabi-" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1246670973" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c" value="gcc" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1674926322" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp" value="g++" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.2051566192" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar" value="ar" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.408066731" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy" value="objcopy" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1900584936" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump" value="objdump" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1096852527" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size" value="size" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.937347953" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make" value="make" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.1468247042" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm" value="rm" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1529750846" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.667765305" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" value="true" valueType="boolean"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.786533016" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
<builder arguments="-r ECLIPSE=1" buildPath="${workspace_loc:/BLE_fit}" command="make" id="ilg.gnuarmeclipse.managedbuild.cross.builder.592880777" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1648672385" name="Cross ARM GNU Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1969112665" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.507854261" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1576427906" name="Cross ARM C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.1576427906" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/CMSIS/Device/Maxim/MAX32665/Include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/MAX32665PeriphDriver/Include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/Boards/EvKit_V1/Include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/Boards/Include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/CMSIS/Include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Toolchain/arm-none-eabi/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Toolchain/arm-none-eabi/include/sys&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Toolchain/lib/gcc/arm-none-eabi/6.3.1/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/wsf/common/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/wsf/common/include/util&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/platform/common/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/controller/sources/mac/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/ble-host/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/ble-profiles/include/app&quot;"/>
<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/NDALibraries/BTLE/ble-profiles/sources/profiles/include&quot;"/>
</option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.68945223" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.794996645" name="Cross ARM C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.675776866" name="Cross ARM C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections.185399645" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections" value="true" valueType="boolean"/>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.input.246156916" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.391142733" name="Cross ARM C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections.2099090970" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections" value="true" valueType="boolean"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.399743328" name="Cross ARM GNU Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.822983655" name="Cross ARM GNU Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.1050446219" name="Cross ARM GNU Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.335976671" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders.964898349" name="Display all headers (--all-headers|-x)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle.972868647" name="Demangle names (--demangle|-C)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers.890608562" name="Display line numbers (--line-numbers|-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide.1669392057" name="Wide lines (--wide|-w)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide" value="true" valueType="boolean"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.403251962" name="Cross ARM GNU Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format.1919947275" name="Size format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format"/>
</tool>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="BLE_fit.ilg.gnuarmeclipse.managedbuild.cross.target.elf.737306620" name="Executable" projectType="ilg.gnuarmeclipse.managedbuild.cross.target.elf"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962;ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1576427906;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.68945223">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Debug">
<resource resourceType="PROJECT" workspacePath="/BLE_fit"/>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
</cproject>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>BLE_fit</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="ilg.gnuarmeclipse.debug.gdbjtag.openocd.launchConfigurationType">
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doContinue" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doDebugInRam" value="false"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doFirstReset" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doGdbServerAllocateConsole" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doGdbServerAllocateTelnetConsole" value="false"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doSecondReset" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doStartGdbServer" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.enableSemihosting" value="false"/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.firstResetType" value="init"/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbClientOtherCommands" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbClientOtherOptions" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerConnectionAddress" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerExecutable" value="openocd"/>
<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerGdbPortNumber" value="3333"/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerLog" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerOther" value="-s ${env_var:TOOLCHAIN_PATH}/share/openocd/scripts -f interface/ftdi/olimex-arm-usb-ocd-h.cfg -f interface/ftdi/olimex-arm-jtag-swd.cfg -f target/max32665.cfg"/>
<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerTelnetPortNumber" value="4444"/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.otherInitCommands" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.otherRunCommands" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.secondResetType" value="halt"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="GNU ARM OpenOCD"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/max32665.elf"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="BLE_fit"/>
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/BLE_fit"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
</listAttribute>
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;Context string&quot;&gt;&#13;&#10;&lt;memoryBlockExpression address=&quot;536918388&quot; label=&quot;0x2000b974&quot;/&gt;&#13;&#10;&lt;/memoryBlockExpressionList&gt;&#13;&#10;"/>
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
</launchConfiguration>
################################################################################
# Copyright (C) 2014 Maxim Integrated Products, Inc., All Rights Reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of Maxim Integrated
# Products, Inc. shall not be used except as stated in the Maxim Integrated
# Products, Inc. Branding Policy.
#
# The mere transfer of this software does not imply any licenses
# of trade secrets, proprietary technology, copyrights, patents,
# trademarks, maskwork rights, or any other form of intellectual
# property whatsoever. Maxim Integrated Products, Inc. retains all
# ownership rights.
#
# $Id: Makefile 38694 2018-10-24 20:41:14Z zach.metzinger $
#
################################################################################
# This is the name of the build output file
ifeq "$(PROJECT)" ""
PROJECT=max32665
endif
# Specify the target processor
ifeq "$(TARGET)" ""
TARGET=MAX32665
endif
# Create Target name variables
TARGET_UC:=$(shell echo $(TARGET) | tr a-z A-Z)
TARGET_LC:=$(shell echo $(TARGET) | tr A-Z a-z)
# Select 'GCC' or 'IAR' compiler
COMPILER=GCC
# Specify the board used
ifeq "$(BOARD)" ""
#BOARD=EvKit_V1
BOARD=card10
endif
# Last octet address modifier
ifneq "$(BLE_ADDR_LSB)" ""
PROJ_CFLAGS+=-DBLE_ADDR_LSB=$(BLE_ADDR_LSB)
endif
## Subsitute WSF critical section entry for default MAXUSB
#PROJ_CFLAGS+=-DMAXUSB_ENTER_CRITICAL=WsfCsEnter
#PROJ_CFLAGS+=-DMAXUSB_EXIT_CRITICAL=WsfCsExit
# This is the path to the CMSIS root directory
ifeq "$(MAXIM_PATH)" ""
LIBS_DIR=../lib/sdk/Libraries
NDALIBS_DIR=../lib/sdk/NDALibraries
else
LIBS_DIR=/$(subst \,/,$(subst :,,$(MAXIM_PATH))/Firmware/$(TARGET_UC)/Libraries)
NDALIBS_DIR=/$(subst \,/,$(subst :,,$(MAXIM_PATH))/Firmware/$(TARGET_UC)/NDALibraries)
endif
CMSIS_ROOT=$(LIBS_DIR)/CMSIS
# Source files for this test (add path to VPATH below)
SRCS = main.c
SRCS += stack_fit.c
SRCS += fit_main.c
SRCS += svc_dis.c
# Where to find source files for this test
VPATH = .
# Where to find header files for this test
IPATH = .
# Enable assertion checking for development
PROJ_CFLAGS+=-DMXC_ASSERT_ENABLE
# Specify the target revision to override default
# "A2" in ASCII
# TARGET_REV=0x4132
# Use this variables to specify and alternate tool path
#TOOL_DIR=/opt/gcc-arm-none-eabi-4_8-2013q4/bin
# Use these variables to add project specific tool options
#PROJ_CFLAGS+=--specs=nano.specs
#PROJ_LDFLAGS+=--specs=nano.specs
PROJ_CFLAGS+=-std=c99
# Point this variable to a startup file to override the default file
#STARTUPFILE=start.S
# Override the default optimization level using this variable
#MXC_OPTIMIZE_CFLAGS=-O1
# Point this variable to a linker file to override the default file
#LINKERFILE=$(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/GCC/$(TARGET_LC).ld
################################################################################
# Include external library makefiles here
# Include the BSP
BOARD_DIR=$(LIBS_DIR)/Boards/$(BOARD)
include $(BOARD_DIR)/board.mk
# Include the Peripheral Driver Library
PERIPH_DRIVER_DIR=$(LIBS_DIR)/$(TARGET)PeriphDriver
include ${PERIPH_DRIVER_DIR}/periphdriver.mk
# Include Cordio BTLE Library
TRACE=1
CORDIO_DIR=$(NDALIBS_DIR)/BTLE
include ${CORDIO_DIR}/btle.mk
# Include MAXUSB library
MAXUSB_DIR=$(LIBS_DIR)/MAXUSB
include $(MAXUSB_DIR)/maxusb.mk
################################################################################
# Include the rules for building for this target. All other makefiles should be
# included before this one.
include $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/$(COMPILER)/$(TARGET_LC).mk
make clean
make
make build/max32665.bin
cp build/max32665.bin card10.bin
../bootloader/crc_patch.py card10.bin
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="ilg.gnuarmeclipse.debug.gdbjtag.openocd.launchConfigurationType">
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doContinue" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doDebugInRam" value="false"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doFirstReset" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doGdbServerAllocateConsole" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doGdbServerAllocateTelnetConsole" value="false"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doSecondReset" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doStartGdbServer" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.enableSemihosting" value="false"/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.firstResetType" value="init"/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbClientOtherCommands" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbClientOtherOptions" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerConnectionAddress" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerExecutable" value="openocd"/>
<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerGdbPortNumber" value="3333"/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerLog" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerOther" value="-s ${env_var:TOOLCHAIN_PATH}/share/openocd/scripts -f interface/ftdi/olimex-arm-usb-tiny-h.cfg -f target/MAX32650.cfg"/>
<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerTelnetPortNumber" value="4444"/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.otherInitCommands" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.otherRunCommands" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.secondResetType" value="halt"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="GNU ARM OpenOCD"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard (Windows)"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/fit.elf"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="fit"/>
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/fit"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
</listAttribute>
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;Context string&quot;/&gt;&#13;&#10;"/>
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
</launchConfiguration>
/*************************************************************************************************/
/*!
* \file
*
* \brief Fitness sample application for the following profiles:
* Heart Rate profile
*
* Copyright (c) 2011-2018 Arm Ltd. All Rights Reserved.
* ARM Ltd. confidential and proprietary.
*
* IMPORTANT. Your use of this file is governed by a Software License Agreement
* ("Agreement") that must be accepted in order to download or otherwise receive a
* copy of this file. You may not use or copy this file for any purpose other than
* as described in the Agreement. If you do not agree to all of the terms of the
* Agreement do not use this file and delete all copies in your possession or control;
* if you do not have a copy of the Agreement, you must contact ARM Ltd. prior
* to any use, copying or further distribution of this software.
*/
/*************************************************************************************************/
#include <string.h>
#include "wsf_types.h"
#include "util/bstream.h"
#include "wsf_msg.h"
#include "wsf_trace.h"
#include "hci_api.h"
#include "dm_api.h"
#include "att_api.h"
#include "smp_api.h"
#include "app_api.h"
#include "app_db.h"
#include "app_ui.h"
#include "app_hw.h"
#include "svc_ch.h"
#include "svc_core.h"
#include "svc_hrs.h"
#include "svc_dis.h"
#include "svc_batt.h"
#include "svc_rscs.h"
#include "bas/bas_api.h"
#include "hrps/hrps_api.h"
#include "rscp/rscp_api.h"
#include "fit_api.h"
/**************************************************************************************************
Macros
**************************************************************************************************/
/*! WSF message event starting value */
#define FIT_MSG_START 0xA0
/* Default Running Speed and Cadence Measurement period (seconds) */
#define FIT_DEFAULT_RSCM_PERIOD 1
/*! WSF message event enumeration */
enum
{
FIT_HR_TIMER_IND = FIT_MSG_START, /*! Heart rate measurement timer expired */
FIT_BATT_TIMER_IND, /*! Battery measurement timer expired */
FIT_RUNNING_TIMER_IND /*! Running speed and cadence measurement timer expired */
};
/**************************************************************************************************
Data Types
**************************************************************************************************/
/*! Application message type */
typedef union
{
wsfMsgHdr_t hdr;
dmEvt_t dm;
attsCccEvt_t ccc;
attEvt_t att;
} fitMsg_t;
/**************************************************************************************************
Configurable Parameters
**************************************************************************************************/
/*! configurable parameters for advertising */
/* These intervals directly impact energy usage during the non-connected/advertising mode */
static const appAdvCfg_t fitAdvCfg =
{
{ 1000, 0, 0}, /*! Advertising durations in ms */
{ 96, 200, 0} /*! Advertising intervals in 0.625 ms units */
};
/*! configurable parameters for slave */
static const appSlaveCfg_t fitSlaveCfg =
{
FIT_CONN_MAX, /*! Maximum connections */
};
/*! configurable parameters for security */
static const appSecCfg_t fitSecCfg =
{
DM_AUTH_BOND_FLAG | DM_AUTH_SC_FLAG, /*! Authentication and bonding flags */
0, /*! Initiator key distribution flags */
DM_KEY_DIST_LTK, /*! Responder key distribution flags */
FALSE, /*! TRUE if Out-of-band pairing data is present */
TRUE /*! TRUE to initiate security upon connection */
};
/*! configurable parameters for connection parameter update */
static const appUpdateCfg_t fitUpdateCfg =
{
6000, /*! Connection idle period in ms before attempting
connection parameter update; set to zero to disable */
640, /*! Minimum connection interval in 1.25ms units */
800, /*! Maximum connection interval in 1.25ms units */
0, /*! Connection latency */
900, /*! Supervision timeout in 10ms units */
5 /*! Number of update attempts before giving up */
};
/*! heart rate measurement configuration */
static const hrpsCfg_t fitHrpsCfg =
{
2000 /*! Measurement timer expiration period in ms */
};
/*! battery measurement configuration */
static const basCfg_t fitBasCfg =
{
30, /*! Battery measurement timer expiration period in seconds */
1, /*! Perform battery measurement after this many timer periods */
100 /*! Send battery level notification to peer when below this level. */
};
/*! SMP security parameter configuration */
static const smpCfg_t fitSmpCfg =
{
3000, /*! 'Repeated attempts' timeout in msec */
SMP_IO_NO_IN_NO_OUT, /*! I/O Capability */
7, /*! Minimum encryption key length */
16, /*! Maximum encryption key length */
3, /*! Attempts to trigger 'repeated attempts' timeout */
0, /*! Device authentication requirements */
};
/**************************************************************************************************
Advertising Data
**************************************************************************************************/
/*! advertising data, discoverable mode */
static const uint8_t fitAdvDataDisc[] =
{
/*! flags */
2, /*! length */
DM_ADV_TYPE_FLAGS, /*! AD type */
DM_FLAG_LE_GENERAL_DISC | /*! flags */
DM_FLAG_LE_BREDR_NOT_SUP,
/*! tx power */
2, /*! length */
DM_ADV_TYPE_TX_POWER, /*! AD type */
0, /*! tx power */
/*! service UUID list */
9, /*! length */
DM_ADV_TYPE_16_UUID, /*! AD type */
UINT16_TO_BYTES(ATT_UUID_HEART_RATE_SERVICE),
UINT16_TO_BYTES(ATT_UUID_RUNNING_SPEED_SERVICE),
UINT16_TO_BYTES(ATT_UUID_DEVICE_INFO_SERVICE),
UINT16_TO_BYTES(ATT_UUID_BATTERY_SERVICE)
};
/*! scan data, discoverable mode */
static const uint8_t fitScanDataDisc[] =
{
/*! device name */
4, /*! length */
DM_ADV_TYPE_LOCAL_NAME, /*! AD type */
'F',
'i',
't'
};
/**************************************************************************************************
Client Characteristic Configuration Descriptors
**************************************************************************************************/
/*! enumeration of client characteristic configuration descriptors */
enum
{
FIT_GATT_SC_CCC_IDX, /*! GATT service, service changed characteristic */
FIT_HRS_HRM_CCC_IDX, /*! Heart rate service, heart rate monitor characteristic */
FIT_BATT_LVL_CCC_IDX, /*! Battery service, battery level characteristic */
FIT_RSCS_SM_CCC_IDX, /*! Runninc speed and cadence measurement characteristic */
FIT_NUM_CCC_IDX
};
/*! client characteristic configuration descriptors settings, indexed by above enumeration */
static const attsCccSet_t fitCccSet[FIT_NUM_CCC_IDX] =
{
/* cccd handle value range security level */
{GATT_SC_CH_CCC_HDL, ATT_CLIENT_CFG_INDICATE, DM_SEC_LEVEL_NONE}, /* FIT_GATT_SC_CCC_IDX */
{HRS_HRM_CH_CCC_HDL, ATT_CLIENT_CFG_NOTIFY, DM_SEC_LEVEL_NONE}, /* FIT_HRS_HRM_CCC_IDX */
{BATT_LVL_CH_CCC_HDL, ATT_CLIENT_CFG_NOTIFY, DM_SEC_LEVEL_NONE}, /* FIT_BATT_LVL_CCC_IDX */
{RSCS_RSM_CH_CCC_HDL, ATT_CLIENT_CFG_NOTIFY, DM_SEC_LEVEL_NONE} /* FIT_RSCS_SM_CCC_IDX */
};
/**************************************************************************************************
Global Variables
**************************************************************************************************/
/*! WSF handler ID */
wsfHandlerId_t fitHandlerId;
/* WSF Timer to send running speed and cadence measurement data */
wsfTimer_t fitRscmTimer;
/* Running Speed and Cadence Measurement period - Can be changed at runtime to vary period */
static uint16_t fitRscmPeriod = FIT_DEFAULT_RSCM_PERIOD;
/* Heart Rate Monitor feature flags */
static uint8_t fitHrmFlags = CH_HRM_FLAGS_VALUE_8BIT | CH_HRM_FLAGS_ENERGY_EXP;
/*************************************************************************************************/
/*!
* \brief Application DM callback.
*
* \param pDmEvt DM callback event
*
* \return None.
*/
/*************************************************************************************************/
static void fitDmCback(dmEvt_t *pDmEvt)
{
dmEvt_t *pMsg;
uint16_t len;
len = DmSizeOfEvt(pDmEvt);
if ((pMsg = WsfMsgAlloc(len)) != NULL)
{
memcpy(pMsg, pDmEvt, len);
WsfMsgSend(fitHandlerId, pMsg);
}
}
/*************************************************************************************************/
/*!
* \brief Application ATT callback.
*
* \param pEvt ATT callback event
*
* \return None.
*/
/*************************************************************************************************/
static void fitAttCback(attEvt_t *pEvt)
{
attEvt_t *pMsg;
if ((pMsg = WsfMsgAlloc(sizeof(attEvt_t) + pEvt->valueLen)) != NULL)
{
memcpy(pMsg, pEvt, sizeof(attEvt_t));
pMsg->pValue = (uint8_t *) (pMsg + 1);
memcpy(pMsg->pValue, pEvt->pValue, pEvt->valueLen);
WsfMsgSend(fitHandlerId, pMsg);
}
}
/*************************************************************************************************/
/*!
* \brief Application ATTS client characteristic configuration callback.
*
* \param pDmEvt DM callback event
*
* \return None.
*/
/*************************************************************************************************/
static void fitCccCback(attsCccEvt_t *pEvt)
{
attsCccEvt_t *pMsg;
appDbHdl_t dbHdl;
/* if CCC not set from initialization and there's a device record */
if ((pEvt->handle != ATT_HANDLE_NONE) &&
((dbHdl = AppDbGetHdl((dmConnId_t) pEvt->hdr.param)) != APP_DB_HDL_NONE))
{
/* store value in device database */
AppDbSetCccTblValue(dbHdl, pEvt->idx, pEvt->value);
}
if ((pMsg = WsfMsgAlloc(sizeof(attsCccEvt_t))) != NULL)
{
memcpy(pMsg, pEvt, sizeof(attsCccEvt_t));
WsfMsgSend(fitHandlerId, pMsg);
}
}
/*************************************************************************************************/
/*!
* \brief Send a Running Speed and Cadence Measurement Notification.
*
* \param connId connection ID
*
* \return None.
*/
/*************************************************************************************************/
static void fitSendRunningSpeedMeasurement(dmConnId_t connId)
{
if (AttsCccEnabled(connId, FIT_RSCS_SM_CCC_IDX))
{
static uint8_t walk_run = 1;
/* TODO: Set Running Speed and Cadence Measurement Parameters */
RscpsSetParameter(RSCP_SM_PARAM_SPEED, 1);
RscpsSetParameter(RSCP_SM_PARAM_CADENCE, 2);
RscpsSetParameter(RSCP_SM_PARAM_STRIDE_LENGTH, 3);
RscpsSetParameter(RSCP_SM_PARAM_TOTAL_DISTANCE, 4);
/* Toggle running/walking */
walk_run = walk_run? 0 : 1;
RscpsSetParameter(RSCP_SM_PARAM_STATUS, walk_run);
RscpsSendSpeedMeasurement(connId);
}
/* Configure and start timer to send the next measurement */
fitRscmTimer.msg.event = FIT_RUNNING_TIMER_IND;
fitRscmTimer.msg.status = FIT_RSCS_SM_CCC_IDX;
fitRscmTimer.handlerId = fitHandlerId;
fitRscmTimer.msg.param = connId;
WsfTimerStartSec(&fitRscmTimer, fitRscmPeriod);
}
/*************************************************************************************************/
/*!
* \brief Process CCC state change.
*
* \param pMsg Pointer to message.
*
* \return None.
*/
/*************************************************************************************************/
static void fitProcCccState(fitMsg_t *pMsg)
{
APP_TRACE_INFO3("ccc state ind value:%d handle:%d idx:%d", pMsg->ccc.value, pMsg->ccc.handle, pMsg->ccc.idx);
/* handle heart rate measurement CCC */
if (pMsg->ccc.idx == FIT_HRS_HRM_CCC_IDX)
{
if (pMsg->ccc.value == ATT_CLIENT_CFG_NOTIFY)
{
HrpsMeasStart((dmConnId_t) pMsg->ccc.hdr.param, FIT_HR_TIMER_IND, FIT_HRS_HRM_CCC_IDX);
}
else
{
HrpsMeasStop((dmConnId_t) pMsg->ccc.hdr.param);
}
return;
}
/* handle running speed and cadence measurement CCC */
if (pMsg->ccc.idx == FIT_RSCS_SM_CCC_IDX)
{
if (pMsg->ccc.value == ATT_CLIENT_CFG_NOTIFY)
{
fitSendRunningSpeedMeasurement((dmConnId_t)pMsg->ccc.hdr.param);
}
else
{
WsfTimerStop(&fitRscmTimer);
}
return;
}
/* handle battery level CCC */
if (pMsg->ccc.idx == FIT_BATT_LVL_CCC_IDX)
{
if (pMsg->ccc.value == ATT_CLIENT_CFG_NOTIFY)
{
BasMeasBattStart((dmConnId_t) pMsg->ccc.hdr.param, FIT_BATT_TIMER_IND, FIT_BATT_LVL_CCC_IDX);
}
else
{
BasMeasBattStop((dmConnId_t) pMsg->ccc.hdr.param);
}
return;
}
}
/*************************************************************************************************/
/*!
* \brief Perform UI actions on connection close.
*
* \param pMsg Pointer to message.
*
* \return None.
*/
/*************************************************************************************************/
static void fitClose(fitMsg_t *pMsg)
{
/* stop heart rate measurement */
HrpsMeasStop((dmConnId_t) pMsg->hdr.param);
/* stop battery measurement */
BasMeasBattStop((dmConnId_t) pMsg->hdr.param);
/* Stop running speed and cadence timer */
WsfTimerStop(&fitRscmTimer);
}
/*************************************************************************************************/
/*!
* \brief Set up advertising and other procedures that need to be performed after
* device reset.
*
* \param pMsg Pointer to message.
*
* \return None.
*/
/*************************************************************************************************/
static void fitSetup(fitMsg_t *pMsg)
{
/* set advertising and scan response data for discoverable mode */
AppAdvSetData(APP_ADV_DATA_DISCOVERABLE, sizeof(fitAdvDataDisc), (uint8_t *) fitAdvDataDisc);
AppAdvSetData(APP_SCAN_DATA_DISCOVERABLE, sizeof(fitScanDataDisc), (uint8_t *) fitScanDataDisc);
/* set advertising and scan response data for connectable mode */
AppAdvSetData(APP_ADV_DATA_CONNECTABLE, 0, NULL);
AppAdvSetData(APP_SCAN_DATA_CONNECTABLE, 0, NULL);
/* start advertising; automatically set connectable/discoverable mode and bondable mode */
AppAdvStart(APP_MODE_AUTO_INIT);
}
/*************************************************************************************************/
/*!
* \brief Button press callback.
*
* \param btn Button press.
*
* \return None.
*/
/*************************************************************************************************/
static void fitBtnCback(uint8_t btn)
{
dmConnId_t connId;
static uint8_t heartRate = 78; /* for testing/demonstration */
/* button actions when connected */
if ((connId = AppConnIsOpen()) != DM_CONN_ID_NONE)
{
switch (btn)
{
case APP_UI_BTN_1_SHORT:
/* increment the heart rate */
AppHwHrmTest(++heartRate);
break;
case APP_UI_BTN_1_MED:
break;
case APP_UI_BTN_1_LONG:
AppConnClose(connId);
break;
case APP_UI_BTN_2_SHORT:
/* decrement the heart rate */
AppHwHrmTest(--heartRate);
break;
case APP_UI_BTN_2_MED:
/* Toggle HRM Sensor DET flags */
if (!(fitHrmFlags & (CH_HRM_FLAGS_SENSOR_DET | CH_HRM_FLAGS_SENSOR_NOT_DET)))
{
fitHrmFlags |= CH_HRM_FLAGS_SENSOR_DET;
}
else if (fitHrmFlags & CH_HRM_FLAGS_SENSOR_DET)
{
fitHrmFlags &= ~CH_HRM_FLAGS_SENSOR_DET;
fitHrmFlags |= CH_HRM_FLAGS_SENSOR_NOT_DET;
}
else
{
fitHrmFlags &= ~CH_HRM_FLAGS_SENSOR_NOT_DET;
}
HrpsSetFlags(fitHrmFlags);
break;
case APP_UI_BTN_2_LONG:
/* Toggle HRM RR Interval feature flag */
if (fitHrmFlags & CH_HRM_FLAGS_RR_INTERVAL)
{
fitHrmFlags &= ~CH_HRM_FLAGS_RR_INTERVAL;
}
else
{
fitHrmFlags |= CH_HRM_FLAGS_RR_INTERVAL;
}
HrpsSetFlags(fitHrmFlags);
break;
default:
break;
}
}
/* button actions when not connected */
else
{
switch (btn)
{
case APP_UI_BTN_1_SHORT:
/* start or restart advertising */
AppAdvStart(APP_MODE_AUTO_INIT);
break;
case APP_UI_BTN_1_MED:
/* enter discoverable and bondable mode mode */
AppSetBondable(TRUE);
AppAdvStart(APP_MODE_DISCOVERABLE);
break;
case APP_UI_BTN_1_LONG:
/* clear bonded device info and restart advertising */
AppDbDeleteAllRecords();
AppAdvStart(APP_MODE_AUTO_INIT);
break;
case APP_UI_BTN_2_SHORT:
/* Toggle HRM Flag for 8 and 16 bit values */
if (fitHrmFlags & CH_HRM_FLAGS_VALUE_16BIT)
{
fitHrmFlags &= ~CH_HRM_FLAGS_VALUE_16BIT;
}
else
{
fitHrmFlags |= CH_HRM_FLAGS_VALUE_16BIT;
}
HrpsSetFlags(fitHrmFlags);
break;
default:
break;
}
}
}
/*************************************************************************************************/
/*!
* \brief Process messages from the event handler.
*
* \param pMsg Pointer to message.
*
* \return None.
*/
/*************************************************************************************************/
static void fitProcMsg(fitMsg_t *pMsg)
{
uint8_t uiEvent = APP_UI_NONE;
switch(pMsg->hdr.event)
{
case FIT_RUNNING_TIMER_IND:
fitSendRunningSpeedMeasurement((dmConnId_t)pMsg->ccc.hdr.param);
break;
case FIT_HR_TIMER_IND:
HrpsProcMsg(&pMsg->hdr);
break;
case FIT_BATT_TIMER_IND:
BasProcMsg(&pMsg->hdr);
break;
case ATTS_HANDLE_VALUE_CNF:
HrpsProcMsg(&pMsg->hdr);
BasProcMsg(&pMsg->hdr);
break;
case ATTS_CCC_STATE_IND:
fitProcCccState(pMsg);
break;
case DM_RESET_CMPL_IND:
DmSecGenerateEccKeyReq();
fitSetup(pMsg);
uiEvent = APP_UI_RESET_CMPL;
break;
case DM_ADV_START_IND:
uiEvent = APP_UI_ADV_START;
break;
case DM_ADV_STOP_IND:
uiEvent = APP_UI_ADV_STOP;
break;
case DM_CONN_OPEN_IND:
HrpsProcMsg(&pMsg->hdr);
BasProcMsg(&pMsg->hdr);
uiEvent = APP_UI_CONN_OPEN;
break;
case DM_CONN_CLOSE_IND:
fitClose(pMsg);
uiEvent = APP_UI_CONN_CLOSE;
break;
case DM_SEC_PAIR_CMPL_IND:
uiEvent = APP_UI_SEC_PAIR_CMPL;
break;
case DM_SEC_PAIR_FAIL_IND:
uiEvent = APP_UI_SEC_PAIR_FAIL;
break;
case DM_SEC_ENCRYPT_IND:
uiEvent = APP_UI_SEC_ENCRYPT;
break;
case DM_SEC_ENCRYPT_FAIL_IND:
uiEvent = APP_UI_SEC_ENCRYPT_FAIL;
break;
case DM_SEC_AUTH_REQ_IND:
AppHandlePasskey(&pMsg->dm.authReq);
break;
case DM_SEC_ECC_KEY_IND:
DmSecSetEccKey(&pMsg->dm.eccMsg.data.key);
break;
case DM_SEC_COMPARE_IND:
AppHandleNumericComparison(&pMsg->dm.cnfInd);
break;
case DM_HW_ERROR_IND:
uiEvent = APP_UI_HW_ERROR;
break;
default:
break;
}
if (uiEvent != APP_UI_NONE)
{
AppUiAction(uiEvent);
}
}
/*************************************************************************************************/
/*!
* \brief Application handler init function called during system initialization.
*
* \param handlerID WSF handler ID.
*
* \return None.
*/
/*************************************************************************************************/
void FitHandlerInit(wsfHandlerId_t handlerId)
{
APP_TRACE_INFO0("FitHandlerInit");
/* store handler ID */
fitHandlerId = handlerId;
/* Set configuration pointers */
pAppAdvCfg = (appAdvCfg_t *) &fitAdvCfg;
pAppSlaveCfg = (appSlaveCfg_t *) &fitSlaveCfg;
pAppSecCfg = (appSecCfg_t *) &fitSecCfg;
pAppUpdateCfg = (appUpdateCfg_t *) &fitUpdateCfg;
/* Initialize application framework */
AppSlaveInit();
/* Set stack configuration pointers */
pSmpCfg = (smpCfg_t *) &fitSmpCfg;
/* initialize heart rate profile sensor */
HrpsInit(handlerId, (hrpsCfg_t *) &fitHrpsCfg);
HrpsSetFlags(fitHrmFlags);
/* initialize battery service server */
BasInit(handlerId, (basCfg_t *) &fitBasCfg);
}
/*************************************************************************************************/
/*!
* \brief WSF event handler for application.
*
* \param event WSF event mask.
* \param pMsg WSF message.
*
* \return None.
*/
/*************************************************************************************************/
void FitHandler(wsfEventMask_t event, wsfMsgHdr_t *pMsg)
{
if (pMsg != NULL)
{
APP_TRACE_INFO1("Fit got evt %d", pMsg->event);
if (pMsg->event >= DM_CBACK_START && pMsg->event <= DM_CBACK_END)
{
/* process advertising and connection-related messages */
AppSlaveProcDmMsg((dmEvt_t *) pMsg);
/* process security-related messages */
AppSlaveSecProcDmMsg((dmEvt_t *) pMsg);
}
/* perform profile and user interface-related operations */
fitProcMsg((fitMsg_t *) pMsg);
}
}
/*************************************************************************************************/
/*!
* \brief Start the application.
*
* \return None.
*/
/*************************************************************************************************/
void FitStart(void)
{
/* Register for stack callbacks */
DmRegister(fitDmCback);
DmConnRegister(DM_CLIENT_ID_APP, fitDmCback);
AttRegister(fitAttCback);
AttConnRegister(AppServerConnCback);
AttsCccRegister(FIT_NUM_CCC_IDX, (attsCccSet_t *) fitCccSet, fitCccCback);
/* Register for app framework callbacks */
AppUiBtnRegister(fitBtnCback);
/* Initialize attribute server database */
SvcCoreAddGroup();
SvcHrsCbackRegister(NULL, HrpsWriteCback);
SvcHrsAddGroup();
SvcDisAddGroup();
SvcBattCbackRegister(BasReadCback, NULL);
SvcBattAddGroup();
SvcRscsAddGroup();
/* Set running speed and cadence features */
RscpsSetFeatures(RSCS_ALL_FEATURES);
/* Reset the device */
DmDevReset();
}
source ../init.gdb
file build/max32665.elf
/*******************************************************************************
* Copyright (C) 2018 Maxim Integrated Products, Inc., All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
* OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Maxim Integrated
* Products, Inc. shall not be used except as stated in the Maxim Integrated
* Products, Inc. Branding Policy.
*
* The mere transfer of this software does not imply any licenses
* of trade secrets, proprietary technology, copyrights, patents,
* trademarks, maskwork rights, or any other form of intellectual
* property whatsoever. Maxim Integrated Products, Inc. retains all
* ownership rights.
*
* $Date: 2019-02-11 23:36:35 +0000 (Mon, 11 Feb 2019) $
* $Revision: 40967 $
*
******************************************************************************/
#include <stdio.h>
#include <string.h>
#include "wsf_types.h"
#include "wsf_os.h"
#include "wsf_buf.h"
#include "wsf_timer.h"
#include "wsf_trace.h"
#include "app_ui.h"
#include "ll_api.h"
#include "sch_api.h"
#include "fit/fit_api.h"
#include "mxc_config.h"
#include "gcr_regs.h"
#include "mcr_regs.h"
#include "hci_core.h"
/**************************************************************************************************
Macros
**************************************************************************************************/
/* Number of WSF buffer pools */
#define WSF_BUF_POOLS 6
/* Size of buffer for stdio functions */
#define PRINTF_BUF_SIZE 128
/**************************************************************************************************
Local Variables
**************************************************************************************************/
/*! Buffer for stdio functions */
char printf_buffer[PRINTF_BUF_SIZE];
/*! Free memory for pool buffers (use word elements for word alignment). */
static uint32_t mainBufMem[3584/sizeof(uint32_t)+96];
/*! Default pool descriptor. */
static wsfBufPoolDesc_t mainPoolDesc[WSF_BUF_POOLS] =
{
{ 16, 8 },
{ 32, 4 },
{ 64, 4 },
{ 128, 4 },
{ 256, 4 },
{ 384, 4 }
};
/**************************************************************************************************
Functions
**************************************************************************************************/
/*! \brief Stack initialization for app. */
extern void StackInitFit(void);
void HciVsSetPublicAddr(uint8_t *bdAddr);
/*************************************************************************************************/
void SysTick_Handler(void)
{
WsfTimerUpdate(1);
}
/*************************************************************************************************/
static void myTrace(const char *pStr, va_list args)
{
extern uint8_t wsfCsNesting;
if (wsfCsNesting == 0)
{
vprintf(pStr, args);
printf("\r\n");
}
}
/*************************************************************************************************/
/*!
* \brief Initialize WSF.
*
* \return None.
*/
/*************************************************************************************************/
static void WsfInit(void)
{
WsfTimerInit();
WsfBufInit(sizeof(mainBufMem), (uint8_t*)mainBufMem, WSF_BUF_POOLS, mainPoolDesc);
WsfTraceRegister(myTrace);
}
/*************************************************************************************************/
/*!
* \brief Initialize platform.
*
* \param msPerTick Milliseconds per timer tick.
*
* \return None.
*/
/*************************************************************************************************/
void PlatformInit(void)
{
/* Change the pullup on the RST pin to 25K */
MXC_MCR->ctrl = 0x202;
/* Set VREGO_D to 1.3V */
*((volatile uint32_t*)0x40004410) = 0x50;
/* Set TX LDO to 1.1V and enable LDO. Set RX LDO to 0.9V and enable LDO */
MXC_GCR->btleldocn = 0xD9; // TX 1.1V RX 0.9V
/* Power up the 32MHz XO */
MXC_GCR->clkcn |= MXC_F_GCR_CLKCN_X32M_EN;
/* Enable peripheral clocks */
MXC_GCR->perckcn0 &= ~(MXC_F_GCR_PERCKCN0_GPIO0D | MXC_F_GCR_PERCKCN0_GPIO1D); // Clear GPIO0 and GPIO1 Disable
MXC_GCR->perckcn1 &= ~(MXC_F_GCR_PERCKCN1_BTLED | MXC_F_GCR_PERCKCN1_TRNGD ); // Clear BTLE and ICACHE0 disable
/* setup the systick */
SysTick->LOAD = (SystemCoreClock / 1000) * WSF_MS_PER_TICK;
SysTick->VAL = 0;
SysTick->CTRL |= (SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_ENABLE_Msk | SysTick_CTRL_TICKINT_Msk);
#ifndef __IAR_SYSTEMS_ICC__
/* Added to prevent printf() and friends from using malloc() */
setvbuf(stdout, printf_buffer, _IOLBF, PRINTF_BUF_SIZE);
#endif
}
/*
* In two-chip solutions, setting the address must wait until the HCI interface is initialized.
* This handler can also catch other Application events, but none are currently implemented.
* See ble-profiles/sources/apps/app/common/app_ui.c for further details.
*
*/
void SetAddress(uint8_t event)
{
uint8_t bdAddr[6] = {0x02, 0x02, 0x44, 0x8B, 0x05, 0x00};
switch (event) {
case APP_UI_RESET_CMPL:
printf("Setting address -- MAC %02X:%02X:%02X:%02X:%02X:%02X\n", bdAddr[5], bdAddr[4], bdAddr[3], bdAddr[2], bdAddr[1], bdAddr[0]);
LlSetBdAddr((uint8_t*)&bdAddr);
LlGetBdAddr(hciCoreCb.bdAddr);
break;
default:
break;
}
}
/*************************************************************************************************/
/*!
* \brief Initialize MAC layer.
*
* \param None.
*
* \return None.
*/
/*************************************************************************************************/
extern int8_t tx_rfpower_on;
void MacInit(void)
{
wsfHandlerId_t handlerId;
/* Initialize link layer. */
BbInit();
handlerId = WsfOsSetNextHandler(SchHandler);
SchInit(handlerId);
LlAdvSlaveInit();
LlConnSlaveInit();
handlerId = WsfOsSetNextHandler(LlHandler);
LlHandlerInit(handlerId);
}
/*************************************************************************************************/
/*!
* \fn main
*
* \brief Entry point for demo software.
*
* \param None.
*
* \return None.
*/
/*************************************************************************************************/
int main(void)
{
printf("\n\n***** MAX32665 BLE Fitness Profile *****\n");
PlatformInit();
WsfInit();
MacInit();
StackInitFit();
FitStart();
printf("tx_rfpower_on = %d\n", tx_rfpower_on);
HciVsSetTxPower(-20);
//HciVsSetTxPower(-30);
//tx_rfpower_on = 10;
//LlSetTxPower(10);
printf("tx_rfpower_on = %d\n", tx_rfpower_on);
/* Register a handler for Application events */
AppUiActionRegister(SetAddress);
printf("Setup Complete\n");
while (1)
{
wsfOsDispatcher();
}
}
/*************************************************************************************************/
/*!
* \file
*
* \brief Stack initialization for fit.
*
* Copyright (c) 2016-2017 ARM Ltd. All Rights Reserved.
* ARM Ltd. confidential and proprietary.
*
* IMPORTANT. Your use of this file is governed by a Software License Agreement
* ("Agreement") that must be accepted in order to download or otherwise receive a
* copy of this file. You may not use or copy this file for any purpose other than
* as described in the Agreement. If you do not agree to all of the terms of the
* Agreement do not use this file and delete all copies in your possession or control;
* if you do not have a copy of the Agreement, you must contact ARM Ltd. prior
* to any use, copying or further distribution of this software.
*/
/*************************************************************************************************/
#include "wsf_types.h"
#include "wsf_os.h"
#include "util/bstream.h"
#include "fit/fit_api.h"
#include "hci_handler.h"
#include "dm_handler.h"
#include "l2c_handler.h"
#include "att_handler.h"
#include "smp_handler.h"
#include "l2c_api.h"
#include "att_api.h"
#include "smp_api.h"
#include "app_api.h"
#include "svc_dis.h"
#include "svc_core.h"
#include "sec_api.h"
/*************************************************************************************************/
/*!
* \brief Initialize stack.
*
* \return None.
*/
/*************************************************************************************************/
void StackInitFit(void)
{
wsfHandlerId_t handlerId;
uint8_t features[sizeof(uint64_t)];
uint8_t mask[sizeof(uint64_t)];
SecInit();
SecAesInit();
SecCmacInit();
SecEccInit();
// Only use legacy API.
Uint64ToBstream(features, 0);
Uint64ToBstream(mask, HCI_LE_SUP_FEAT_LE_EXT_ADV);
HciVsSetFeatures(features, mask);
handlerId = WsfOsSetNextHandler(HciHandler);
HciHandlerInit(handlerId);
handlerId = WsfOsSetNextHandler(DmHandler);
DmDevVsInit(0);
DmAdvInit();
DmConnInit();
DmConnSlaveInit();
DmSecInit();
DmSecLescInit();
DmPrivInit();
DmHandlerInit(handlerId);
handlerId = WsfOsSetNextHandler(L2cSlaveHandler);
L2cSlaveHandlerInit(handlerId);
L2cInit();
L2cSlaveInit();
handlerId = WsfOsSetNextHandler(AttHandler);
AttHandlerInit(handlerId);
AttsInit();
AttsIndInit();
handlerId = WsfOsSetNextHandler(SmpHandler);
SmpHandlerInit(handlerId);
SmprInit();
SmprScInit();
HciSetMaxRxAclLen(100);
handlerId = WsfOsSetNextHandler(AppHandler);
AppHandlerInit(handlerId);
handlerId = WsfOsSetNextHandler(FitHandler);
FitHandlerInit(handlerId);
}
/*************************************************************************************************/
/*!
* \file svc_dis.c
*
* \brief Example Device Information Service implementation.
*
* $Date: 2018-04-17 23:02:20 +0000 (Tue, 17 Apr 2018) $
* $Revision: 34673 $
*
* Copyright (c) 2011 Wicentric, Inc., all rights reserved.
* Wicentric confidential and proprietary.
*
* IMPORTANT. Your use of this file is governed by a Software License Agreement
* ("Agreement") that must be accepted in order to download or otherwise receive a
* copy of this file. You may not use or copy this file for any purpose other than
* as described in the Agreement. If you do not agree to all of the terms of the
* Agreement do not use this file and delete all copies in your possession or control;
* if you do not have a copy of the Agreement, you must contact Wicentric, Inc. prior
* to any use, copying or further distribution of this software.
*/
/*************************************************************************************************/
#include "wsf_types.h"
#include "att_api.h"
#include "wsf_trace.h"
#include "util/bstream.h"
#include "svc_dis.h"
#include "svc_cfg.h"
/**************************************************************************************************
Macros
**************************************************************************************************/
/*! Characteristic read permissions */
#ifndef DIS_SEC_PERMIT_READ
#define DIS_SEC_PERMIT_READ SVC_SEC_PERMIT_READ
#endif
/**************************************************************************************************
Service variables
**************************************************************************************************/
/* Device information service declaration */
static const uint8_t disValSvc[] = {UINT16_TO_BYTES(ATT_UUID_DEVICE_INFO_SERVICE)};
static const uint16_t disLenSvc = sizeof(disValSvc);
/* Manufacturer name string characteristic */
static const uint8_t disValMfrCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_MFR_HDL), UINT16_TO_BYTES(ATT_UUID_MANUFACTURER_NAME)};
static const uint16_t disLenMfrCh = sizeof(disValMfrCh);
/* Manufacturer name string */
static const uint8_t disUuMfr[] = {UINT16_TO_BYTES(ATT_UUID_MANUFACTURER_NAME)};
static const uint8_t disValMfr[] = "Maxim Integrated";
static const uint16_t disLenMfr = sizeof(disValMfr) - 1;
/* System ID characteristic */
static const uint8_t disValSidCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_SID_HDL), UINT16_TO_BYTES(ATT_UUID_SYSTEM_ID)};
static const uint16_t disLenSidCh = sizeof(disValSidCh);
/* System ID */
static const uint8_t disUuSid[] = {UINT16_TO_BYTES(ATT_UUID_SYSTEM_ID)};
static uint8_t disValSid[] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08};
static const uint16_t disLenSid = sizeof(disValSid);
/* Model number string characteristic */
static const uint8_t disValMnCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_MN_HDL), UINT16_TO_BYTES(ATT_UUID_MODEL_NUMBER)};
static const uint16_t disLenMnCh = sizeof(disValMnCh);
/* Model number string */
static const uint8_t disUuMn[] = {UINT16_TO_BYTES(ATT_UUID_MODEL_NUMBER)};
static const uint8_t disValMn[] = "MAX32565";
static const uint16_t disLenMn = sizeof(disValMn) - 1;
/* Serial number string characteristic */
static const uint8_t disValSnCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_SN_HDL), UINT16_TO_BYTES(ATT_UUID_SERIAL_NUMBER)};
static const uint16_t disLenSnCh = sizeof(disValSnCh);
/* Serial number string */
static const uint8_t disUuSn[] = {UINT16_TO_BYTES(ATT_UUID_SERIAL_NUMBER)};
static const uint8_t disValSn[] = "serial num";
static const uint16_t disLenSn = sizeof(disValSn) - 1;
/* Firmware revision string characteristic */
static const uint8_t disValFwrCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_FWR_HDL), UINT16_TO_BYTES(ATT_UUID_FIRMWARE_REV)};
static const uint16_t disLenFwrCh = sizeof(disValFwrCh);
/* Firmware revision string */
static const uint8_t disUuFwr[] = {UINT16_TO_BYTES(ATT_UUID_FIRMWARE_REV)};
static const uint8_t disValFwr[] = "fw rev";
static const uint16_t disLenFwr = sizeof(disValFwr) - 1;
/* Hardware revision string characteristic */
static const uint8_t disValHwrCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_HWR_HDL), UINT16_TO_BYTES(ATT_UUID_HARDWARE_REV)};
static const uint16_t disLenHwrCh = sizeof(disValHwrCh);
/* Hardware revision string */
static const uint8_t disUuHwr[] = {UINT16_TO_BYTES(ATT_UUID_HARDWARE_REV)};
static const uint8_t disValHwr[] = "hw rev";
static const uint16_t disLenHwr = sizeof(disValHwr) - 1;
/* Software revision string characteristic */
static const uint8_t disValSwrCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_SWR_HDL), UINT16_TO_BYTES(ATT_UUID_SOFTWARE_REV)};
static const uint16_t disLenSwrCh = sizeof(disValSwrCh);
/* Software revision string */
static const uint8_t disUuSwr[] = {UINT16_TO_BYTES(ATT_UUID_SOFTWARE_REV)};
static const uint8_t disValSwr[] = "sw rev";
static const uint16_t disLenSwr = sizeof(disValSwr) - 1;
/* Registration certificate data characteristic */
static const uint8_t disValRcdCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_RCD_HDL), UINT16_TO_BYTES(ATT_UUID_11073_CERT_DATA)};
static const uint16_t disLenRcdCh = sizeof(disValRcdCh);
/* Registration certificate data */
static const uint8_t disUuRcd[] = {UINT16_TO_BYTES(ATT_UUID_11073_CERT_DATA)};
static const uint8_t disValRcd[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint16_t disLenRcd = sizeof(disValRcd);
/* Attribute list for dis group */
static const attsAttr_t disList[] =
{
{
attPrimSvcUuid,
(uint8_t *) disValSvc,
(uint16_t *) &disLenSvc,
sizeof(disValSvc),
0,
ATTS_PERMIT_READ
},
{
attChUuid,
(uint8_t *) disValMfrCh,
(uint16_t *) &disLenMfrCh,
sizeof(disValMfrCh),
0,
ATTS_PERMIT_READ
},
{
disUuMfr,
(uint8_t *) disValMfr,
(uint16_t *) &disLenMfr,
sizeof(disValMfr) - 1,
0,
DIS_SEC_PERMIT_READ
},
{
attChUuid,
(uint8_t *) disValSidCh,
(uint16_t *) &disLenSidCh,
sizeof(disValSidCh),
0,
ATTS_PERMIT_READ
},
{
disUuSid,
disValSid,
(uint16_t *) &disLenSid,
sizeof(disValSid),
0,
DIS_SEC_PERMIT_READ
},
{
attChUuid,
(uint8_t *) disValMnCh,
(uint16_t *) &disLenMnCh,
sizeof(disValMnCh),
0,
ATTS_PERMIT_READ
},
{
disUuMn,
(uint8_t *) disValMn,
(uint16_t *) &disLenMn,
sizeof(disValMn) - 1,
0,
DIS_SEC_PERMIT_READ
},
{
attChUuid,
(uint8_t *) disValSnCh,
(uint16_t *) &disLenSnCh,
sizeof(disValSnCh),
0,
ATTS_PERMIT_READ
},
{
disUuSn,
(uint8_t *) disValSn,
(uint16_t *) &disLenSn,
sizeof(disValSn) - 1,
0,
DIS_SEC_PERMIT_READ
},
{
attChUuid,
(uint8_t *) disValFwrCh,
(uint16_t *) &disLenFwrCh,
sizeof(disValFwrCh),
0,
ATTS_PERMIT_READ
},
{
disUuFwr,
(uint8_t *) disValFwr,
(uint16_t *) &disLenFwr,
sizeof(disValFwr) - 1,
0,
DIS_SEC_PERMIT_READ
},
{
attChUuid,
(uint8_t *) disValHwrCh,
(uint16_t *) &disLenHwrCh,
sizeof(disValHwrCh),
0,
ATTS_PERMIT_READ
},
{
disUuHwr,
(uint8_t *) disValHwr,
(uint16_t *) &disLenHwr,
sizeof(disValHwr) - 1,
0,
DIS_SEC_PERMIT_READ
},
{
attChUuid,
(uint8_t *) disValSwrCh,
(uint16_t *) &disLenSwrCh,
sizeof(disValSwrCh),
0,
ATTS_PERMIT_READ
},
{
disUuSwr,
(uint8_t *) disValSwr,
(uint16_t *) &disLenSwr,
sizeof(disValSwr) - 1,
0,
DIS_SEC_PERMIT_READ
},
{
attChUuid,
(uint8_t *) disValRcdCh,
(uint16_t *) &disLenRcdCh,
sizeof(disValRcdCh),
0,
ATTS_PERMIT_READ
},
{
disUuRcd,
(uint8_t *) disValRcd,
(uint16_t *) &disLenRcd,
sizeof(disValRcd),
0,
DIS_SEC_PERMIT_READ
},
};
/* DIS group structure */
static attsGroup_t svcDisGroup =
{
NULL,
(attsAttr_t *) disList,
NULL,
NULL,
DIS_START_HDL,
DIS_END_HDL
};
/*************************************************************************************************/
/*!
* \fn SvcDisAddGroup
*
* \brief Add the services to the attribute server.
*
* \return None.
*/
/*************************************************************************************************/
void SvcDisAddGroup(void)
{
AttsAddGroup(&svcDisGroup);
}
/*************************************************************************************************/
/*!
* \fn SvcDisRemoveGroup
*
* \brief Remove the services from the attribute server.
*
* \return None.
*/
/*************************************************************************************************/
void SvcDisRemoveGroup(void)
{
AttsRemoveGroup(DIS_START_HDL);
}
#include "bootloader.h"
/* Autogenerated */
#include "splash-screen.h"
#include "card10-version.h"
#include "gfx.h"
#include "display.h"
static void bootloader_display_splash(void)
{
gfx_copy_region_rle_mono(
&display_screen,
0,
0,
160,
80,
sizeof(splash),
(const void *)(splash)
);
gfx_update(&display_screen);
}
/*
* Initialize the display.
*/
void bootloader_display_init(void)
{
bootloader_display_splash();
}
/*
* Show the bootloader version on the display.
*/
void bootloader_display_header(void)
{
gfx_clear(&display_screen);
Color white = gfx_color(&display_screen, WHITE);
bootloader_display_line(0, "Bootloader", white);
bootloader_display_line(1, __DATE__, white);
bootloader_display_line(2, CARD10_VERSION, white);
}
void bootloader_display_error(char *errtype, char *line1, char *line2)
{
gfx_clear(&display_screen);
Color red = gfx_color(&display_screen, RED);
Color yellow = gfx_color(&display_screen, YELLOW);
Color white = gfx_color(&display_screen, WHITE);
bootloader_display_line(0, "[FATAL ERROR]", red);
bootloader_display_line(1, errtype, yellow);
bootloader_display_line(2, CARD10_VERSION, white);
bootloader_display_line(3, line1, white);
bootloader_display_line(4, line2, white);
}
/*
* Display a line of text on the display.
*/
void bootloader_display_line(int line, char *string, uint16_t color)
{
Color black = gfx_color(&display_screen, BLACK);
gfx_puts(&Font16, &display_screen, 0, 16 * line, string, color, black);
gfx_update(&display_screen);
}
......@@ -38,24 +38,28 @@
* @brief USB Mass Storage Class
*/
#include <stdio.h>
#include <stddef.h>
#include "bootloader.h"
#include "descriptors.h"
#include "card10.h"
#include "led.h"
#include "mxc_config.h"
#include "mxc_sys.h"
#include "mxc_delay.h"
#include "board.h"
#include "led.h"
#include "usb.h"
#include "usb_event.h"
#include "enumerate.h"
#include "msc.h"
#include "descriptors.h"
#include "mscmem.h"
#include "card10.h"
#include <stdio.h>
#include <stddef.h>
/***** Definitions *****/
#define EVENT_ENUM_COMP MAXUSB_NUM_EVENTS
#define EVENT_REMOTE_WAKE (EVENT_ENUM_COMP + 1)
#define EVENT_ENUM_COMP MAXUSB_NUM_EVENTS
#define EVENT_REMOTE_WAKE (EVENT_ENUM_COMP + 1)
/***** Global Data *****/
volatile int configured;
......@@ -75,252 +79,271 @@ static void usb_app_wakeup(void);
/* This EP assignment must match the Configuration Descriptor */
static const msc_cfg_t msc_cfg = {
1, /* EP OUT */
MXC_USBHS_MAX_PACKET, /* OUT max packet size */
2, /* EP IN */
MXC_USBHS_MAX_PACKET, /* IN max packet size */
1, /* EP OUT */
MXC_USBHS_MAX_PACKET, /* OUT max packet size */
2, /* EP IN */
MXC_USBHS_MAX_PACKET, /* IN max packet size */
};
static const msc_idstrings_t ids = {
"MAXIM", /* Vendor string. Maximum of 8 bytes */
"MSC Example", /* Product string. Maximum of 16 bytes */
"1.0" /* Version string. Maximum of 4 bytes */
"CCC", /* Vendor string. Maximum of 8 bytes */
"card10", /* Product string. Maximum of 16 bytes */
"1.0" /* Version string. Maximum of 4 bytes */
};
/* Functions to control "disk" memory. See msc.h for definitions. */
static const msc_mem_t mem = {
mscmem_init,
mscmem_start,
mscmem_stop,
mscmem_ready,
mscmem_size,
mscmem_read,
mscmem_write,
mscmem_init, mscmem_start, mscmem_stop, mscmem_ready,
mscmem_size, mscmem_read, mscmem_write,
};
/* This callback is used to allow the driver to call part specific initialization functions. */
int usb_startup_cb()
{
const sys_cfg_usbhs_t sys_usbhs_cfg = NULL;
return SYS_USBHS_Init(&sys_usbhs_cfg);
const sys_cfg_usbhs_t sys_usbhs_cfg = NULL;
return SYS_USBHS_Init(&sys_usbhs_cfg);
}
int usb_shutdown_cb()
{
return SYS_USBHS_Shutdown();
return SYS_USBHS_Shutdown();
}
/* User-supplied function to delay usec micro-seconds */
void delay_us(unsigned int usec)
{
/* mxc_delay() takes unsigned long, so can't use it directly */
mxc_delay(usec);
/* mxc_delay() takes unsigned long, so can't use it directly */
mxc_delay(usec);
}
void bootloader_stop(void)
{
card10_reset();
}
void bootloader_dirty(void)
{
bootloader_display_line(4, "Writing.", 0xf000);
}
void bootloader_clean(void)
{
bootloader_display_line(4, "Ready. ", 0xffff);
}
/******************************************************************************/
void run_usbmsc(void)
{
maxusb_cfg_options_t usb_opts;
printf("Waiting for VBUS...\n");
/* Initialize state */
configured = 0;
suspended = 0;
event_flags = 0;
remote_wake_en = 0;
/* Start out in full speed */
usb_opts.enable_hs = 0;
usb_opts.delay_us = delay_us; /* Function which will be used for delays */
usb_opts.init_callback = usb_startup_cb;
usb_opts.shutdown_callback = usb_shutdown_cb;
/* Initialize the usb module */
if (usb_init(&usb_opts) != 0) {
printf("usb_init() failed\n");
while (1);
}
/* Initialize the enumeration module */
if (enum_init() != 0) {
printf("enum_init() failed\n");
while (1);
}
/* Register enumeration data */
enum_register_descriptor(ENUM_DESC_DEVICE, (uint8_t*)&device_descriptor, 0);
enum_register_descriptor(ENUM_DESC_CONFIG, (uint8_t*)&config_descriptor, 0);
enum_register_descriptor(ENUM_DESC_STRING, lang_id_desc, 0);
enum_register_descriptor(ENUM_DESC_STRING, mfg_id_desc, 1);
enum_register_descriptor(ENUM_DESC_STRING, prod_id_desc, 2);
enum_register_descriptor(ENUM_DESC_STRING, serial_id_desc, 3);
/* Handle configuration */
enum_register_callback(ENUM_SETCONFIG, setconfig_callback, NULL);
/* Handle feature set/clear */
enum_register_callback(ENUM_SETFEATURE, setfeature_callback, NULL);
enum_register_callback(ENUM_CLRFEATURE, clrfeature_callback, NULL);
/* Initialize the class driver */
if (msc_init(&config_descriptor.msc_interface_descriptor, &ids, &mem) != 0) {
printf("msc_init() failed\n");
while (1);
}
/* Register callbacks */
usb_event_enable(MAXUSB_EVENT_NOVBUS, event_callback, NULL);
usb_event_enable(MAXUSB_EVENT_VBUS, event_callback, NULL);
/* Start with USB in low power mode */
usb_app_sleep();
NVIC_EnableIRQ(USB_IRQn);
/* Wait for events */
while (1) {
if (suspended || !configured) {
//LED_Off(0);
} else {
//LED_On(0);
}
if (event_flags) {
/* Display events */
if (MXC_GETBIT(&event_flags, MAXUSB_EVENT_NOVBUS)) {
MXC_CLRBIT(&event_flags, MAXUSB_EVENT_NOVBUS);
printf("VBUS Disconnect\n");
} else if (MXC_GETBIT(&event_flags, MAXUSB_EVENT_VBUS)) {
MXC_CLRBIT(&event_flags, MAXUSB_EVENT_VBUS);
printf("VBUS Connect\n");
} else if (MXC_GETBIT(&event_flags, MAXUSB_EVENT_BRST)) {
MXC_CLRBIT(&event_flags, MAXUSB_EVENT_BRST);
printf("Bus Reset\n");
} else if (MXC_GETBIT(&event_flags, MAXUSB_EVENT_SUSP)) {
MXC_CLRBIT(&event_flags, MAXUSB_EVENT_SUSP);
printf("Suspended\n");
} else if (MXC_GETBIT(&event_flags, MAXUSB_EVENT_DPACT)) {
MXC_CLRBIT(&event_flags, MAXUSB_EVENT_DPACT);
printf("Resume\n");
} else if (MXC_GETBIT(&event_flags, EVENT_ENUM_COMP)) {
MXC_CLRBIT(&event_flags, EVENT_ENUM_COMP);
printf("Enumeration complete.\n");
} else if (MXC_GETBIT(&event_flags, EVENT_REMOTE_WAKE)) {
MXC_CLRBIT(&event_flags, EVENT_REMOTE_WAKE);
printf("Remote Wakeup\n");
}
}
card10_poll();
}
maxusb_cfg_options_t usb_opts;
printf("Waiting for VBUS...\n");
/* Initialize state */
configured = 0;
suspended = 0;
event_flags = 0;
remote_wake_en = 0;
/* Start out in full speed */
usb_opts.enable_hs = 0;
usb_opts.delay_us =
delay_us; /* Function which will be used for delays */
usb_opts.init_callback = usb_startup_cb;
usb_opts.shutdown_callback = usb_shutdown_cb;
/* Initialize the usb module */
if (usb_init(&usb_opts) != 0) {
printf("usb_init() failed\n");
while (1)
;
}
/* Initialize the enumeration module */
if (enum_init() != 0) {
printf("enum_init() failed\n");
while (1)
;
}
/* Register enumeration data */
enum_register_descriptor(
ENUM_DESC_DEVICE, (uint8_t *)&device_descriptor, 0
);
enum_register_descriptor(
ENUM_DESC_CONFIG, (uint8_t *)&config_descriptor, 0
);
enum_register_descriptor(ENUM_DESC_STRING, lang_id_desc, 0);
enum_register_descriptor(ENUM_DESC_STRING, mfg_id_desc, 1);
enum_register_descriptor(ENUM_DESC_STRING, prod_id_desc, 2);
enum_register_descriptor(ENUM_DESC_STRING, serial_id_desc, 3);
/* Handle configuration */
enum_register_callback(ENUM_SETCONFIG, setconfig_callback, NULL);
/* Handle feature set/clear */
enum_register_callback(ENUM_SETFEATURE, setfeature_callback, NULL);
enum_register_callback(ENUM_CLRFEATURE, clrfeature_callback, NULL);
/* Initialize the class driver */
if (msc_init(&config_descriptor.msc_interface_descriptor, &ids, &mem) !=
0) {
printf("msc_init() failed\n");
while (1)
;
}
/* Register callbacks */
usb_event_enable(MAXUSB_EVENT_NOVBUS, event_callback, NULL);
usb_event_enable(MAXUSB_EVENT_VBUS, event_callback, NULL);
/* Start with USB in low power mode */
usb_app_sleep();
NVIC_EnableIRQ(USB_IRQn);
/* Wait for events */
while (1) {
if (suspended || !configured) {
//LED_Off(0);
} else {
//LED_On(0);
}
if (event_flags) {
/* Display events */
if (MXC_GETBIT(&event_flags, MAXUSB_EVENT_NOVBUS)) {
MXC_CLRBIT(&event_flags, MAXUSB_EVENT_NOVBUS);
printf("VBUS Disconnect\n");
} else if (MXC_GETBIT(&event_flags, MAXUSB_EVENT_VBUS)) {
MXC_CLRBIT(&event_flags, MAXUSB_EVENT_VBUS);
printf("VBUS Connect\n");
} else if (MXC_GETBIT(&event_flags, MAXUSB_EVENT_BRST)) {
MXC_CLRBIT(&event_flags, MAXUSB_EVENT_BRST);
printf("Bus Reset\n");
} else if (MXC_GETBIT(&event_flags, MAXUSB_EVENT_SUSP)) {
MXC_CLRBIT(&event_flags, MAXUSB_EVENT_SUSP);
printf("Suspended\n");
} else if (MXC_GETBIT(
&event_flags, MAXUSB_EVENT_DPACT)) {
MXC_CLRBIT(&event_flags, MAXUSB_EVENT_DPACT);
printf("Resume\n");
} else if (MXC_GETBIT(&event_flags, EVENT_ENUM_COMP)) {
MXC_CLRBIT(&event_flags, EVENT_ENUM_COMP);
printf("Enumeration complete.\n");
} else if (MXC_GETBIT(&event_flags, EVENT_REMOTE_WAKE)) {
MXC_CLRBIT(&event_flags, EVENT_REMOTE_WAKE);
printf("Remote Wakeup\n");
}
}
card10_poll();
}
}
/******************************************************************************/
static int setconfig_callback(usb_setup_pkt *sud, void *cbdata)
{
/* Confirm the configuration value */
if (sud->wValue == config_descriptor.config_descriptor.bConfigurationValue) {
configured = 1;
MXC_SETBIT(&event_flags, EVENT_ENUM_COMP);
return msc_configure(&msc_cfg); /* Configure the device class */
} else if (sud->wValue == 0) {
configured = 0;
return msc_deconfigure();
}
return -1;
/* Confirm the configuration value */
if (sud->wValue ==
config_descriptor.config_descriptor.bConfigurationValue) {
configured = 1;
MXC_SETBIT(&event_flags, EVENT_ENUM_COMP);
return msc_configure(&msc_cfg); /* Configure the device class */
} else if (sud->wValue == 0) {
configured = 0;
return msc_deconfigure();
}
return -1;
}
/******************************************************************************/
static int setfeature_callback(usb_setup_pkt *sud, void *cbdata)
{
if(sud->wValue == FEAT_REMOTE_WAKE) {
remote_wake_en = 1;
} else {
// Unknown callback
return -1;
}
return 0;
if (sud->wValue == FEAT_REMOTE_WAKE) {
remote_wake_en = 1;
} else {
// Unknown callback
return -1;
}
return 0;
}
/******************************************************************************/
static int clrfeature_callback(usb_setup_pkt *sud, void *cbdata)
{
if(sud->wValue == FEAT_REMOTE_WAKE) {
remote_wake_en = 0;
} else {
// Unknown callback
return -1;
}
return 0;
if (sud->wValue == FEAT_REMOTE_WAKE) {
remote_wake_en = 0;
} else {
// Unknown callback
return -1;
}
return 0;
}
/******************************************************************************/
static void usb_app_sleep(void)
{
/* TODO: Place low-power code here */
suspended = 1;
/* TODO: Place low-power code here */
suspended = 1;
}
/******************************************************************************/
static void usb_app_wakeup(void)
{
/* TODO: Place low-power code here */
suspended = 0;
/* TODO: Place low-power code here */
suspended = 0;
}
/******************************************************************************/
static int event_callback(maxusb_event_t evt, void *data)
{
/* Set event flag */
MXC_SETBIT(&event_flags, evt);
printf("event: %d\n", evt);
switch (evt) {
case MAXUSB_EVENT_NOVBUS:
usb_event_disable(MAXUSB_EVENT_BRST);
usb_event_disable(MAXUSB_EVENT_SUSP);
usb_event_disable(MAXUSB_EVENT_DPACT);
usb_disconnect();
configured = 0;
enum_clearconfig();
msc_deconfigure();
usb_app_sleep();
break;
case MAXUSB_EVENT_VBUS:
usb_event_clear(MAXUSB_EVENT_BRST);
usb_event_enable(MAXUSB_EVENT_BRST, event_callback, NULL);
usb_event_clear(MAXUSB_EVENT_SUSP);
usb_event_enable(MAXUSB_EVENT_SUSP, event_callback, NULL);
usb_connect();
usb_app_sleep();
break;
case MAXUSB_EVENT_BRST:
usb_app_wakeup();
enum_clearconfig();
msc_deconfigure();
configured = 0;
suspended = 0;
break;
case MAXUSB_EVENT_SUSP:
usb_app_sleep();
break;
case MAXUSB_EVENT_DPACT:
usb_app_wakeup();
break;
default:
break;
}
return 0;
/* Set event flag */
MXC_SETBIT(&event_flags, evt);
printf("event: %d\n", evt);
switch (evt) {
case MAXUSB_EVENT_NOVBUS:
usb_event_disable(MAXUSB_EVENT_BRST);
usb_event_disable(MAXUSB_EVENT_SUSP);
usb_event_disable(MAXUSB_EVENT_DPACT);
usb_disconnect();
configured = 0;
enum_clearconfig();
msc_deconfigure();
usb_app_sleep();
break;
case MAXUSB_EVENT_VBUS:
usb_event_clear(MAXUSB_EVENT_BRST);
usb_event_enable(MAXUSB_EVENT_BRST, event_callback, NULL);
usb_event_clear(MAXUSB_EVENT_SUSP);
usb_event_enable(MAXUSB_EVENT_SUSP, event_callback, NULL);
usb_connect();
usb_app_sleep();
break;
case MAXUSB_EVENT_BRST:
usb_app_wakeup();
enum_clearconfig();
msc_deconfigure();
configured = 0;
suspended = 0;
break;
case MAXUSB_EVENT_SUSP:
usb_app_sleep();
break;
case MAXUSB_EVENT_DPACT:
usb_app_wakeup();
break;
default:
break;
}
return 0;
}
/******************************************************************************/
void USB_IRQHandler(void)
{
usb_event_handler();
usb_event_handler();
}