Merge: gamnit: virtual gamepad
authorJean Privat <jean@pryen.org>
Tue, 11 Apr 2017 12:30:27 +0000 (08:30 -0400)
committerJean Privat <jean@pryen.org>
Tue, 11 Apr 2017 12:30:27 +0000 (08:30 -0400)
Intro an easy to use virtual gamepad for quick ports of desktop games to mobiles devices with a touchscreen only. The gamepad is composed of up to 2 d-pads and up to 6 action buttons. Each button and direction on the pad is mapped to customizable keyboard keys. As such, it is ideal to simulate keyboard inputs on mobile devices.

The `virtual_gamepad` module uses the `app_files` annotation which automatically includes the required PNG files in Android's APK files when the module is imported.

The virtual gamepad is derived from the one in Asteronits, which it replaced. It is now used in Asteronits and Action Nitro, and it will be added to Devil's Avocados as soon as this is merged. The gamepad comes with a selection of button allowing for some customization, however custom buttons are also supported.

Usage example from Devil's Avocados:
~~~
var gamepad = new VirtualGamepad
gamepad.add_dpad
gamepad.add_button("q", gamepad_spritesheet.turn_left)
gamepad.add_button("e", gamepad_spritesheet.turn_right)
gamepad.add_button("space", gamepad_spritesheet.star)
gamepad.visible = true
app.gamepad = gamepad
~~~

And the result, on Android:

![screenshot_20170404-125407](https://cloud.githubusercontent.com/assets/208057/24668912/641d091a-1936-11e7-81ff-eaf026540db6.png)

This version should manage quite well the edge cases of touchscreen controls, which explains the complexity of `virtual_gamepad.nit`. However it is still limited, future work could add:
- Virtual analog joystick, it would be easier to code than the d-pad.
- Abstraction for gamepads (and analog joysticks). This would require unification with the current Android physical gamepad support and implementing desktop physical gamepad support with SDL2.

Pull-Request: #2405
Reviewed-by: Romain Chanoir <romain.chanoir@viacesi.fr>
Reviewed-by: Jean Privat <jean@pryen.org>

21 files changed:
contrib/action_nitro/Makefile
contrib/action_nitro/art/icon.svg [new file with mode: 0644]
contrib/action_nitro/art/planes.svg
contrib/action_nitro/net.xymus.action_nitro.txt [new file with mode: 0644]
contrib/action_nitro/src/action_nitro.nit
contrib/action_nitro/src/game/core.nit
contrib/action_nitro/src/game/planegen.nit
contrib/action_nitro/src/touch_ui.nit [new file with mode: 0644]
contrib/asteronits/Makefile
contrib/asteronits/src/asteronits.nit
contrib/asteronits/src/touch_ui.nit
lib/android/input_events.nit
lib/gamnit/cameras.nit
lib/gamnit/flat.nit
lib/gamnit/keys.nit
lib/gamnit/virtual_gamepad/Makefile [new file with mode: 0644]
lib/gamnit/virtual_gamepad/art/virtual_gamepad.svg [moved from contrib/asteronits/art/controls.svg with 67% similarity]
lib/gamnit/virtual_gamepad/assets/images/gamnit_touch_gamepad.png [new file with mode: 0644]
lib/gamnit/virtual_gamepad/virtual_gamepad.nit [new file with mode: 0644]
lib/gamnit/virtual_gamepad/virtual_gamepad_spritesheet.nit [new file with mode: 0644]
lib/mnit/input.nit

index 59b2d87..b3fcebc 100644 (file)
@@ -3,9 +3,13 @@ NITLS=nitls
 
 all: bin/action_nitro
 
-bin/action_nitro: $(shell ${NITLS} -M src/action_nitro.nit linux) pre-build
+bin/action_nitro: $(shell ${NITLS} -M src/action_nitro.nit -m linux) pre-build
        ${NITC} src/action_nitro.nit -m linux -o $@
 
+android:
+bin/action_nitro.apk: $(shell ${NITLS} -M src/action_nitro.nit -m android -m src/touch_ui.nit) pre-build android/res/
+       ${NITC} src/action_nitro.nit -m android -m src/touch_ui.nit -o $@
+
 src/gen/texts.nit: art/texts.svg
        make -C ../inkscape_tools/
        ../inkscape_tools/bin/svg_to_png_and_nit art/texts.svg -a assets/ -s src/gen/ -x 2.0 -g
@@ -14,6 +18,10 @@ src/gen/planes.nit: art/planes.svg
        make -C ../inkscape_tools/
        ../inkscape_tools/bin/svg_to_png_and_nit art/planes.svg -a assets/ -s src/gen/ -x 2.0 -g
 
+android/res/: art/icon.svg
+       make -C ../inkscape_tools/
+       ../inkscape_tools/bin/svg_to_icons --out android/res --android art/icon.svg
+
 pre-build: src/gen/texts.nit src/gen/planes.nit
 
 check: bin/action_nitro
diff --git a/contrib/action_nitro/art/icon.svg b/contrib/action_nitro/art/icon.svg
new file mode 100644 (file)
index 0000000..7383208
--- /dev/null
@@ -0,0 +1,508 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="512"
+   height="512"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="icon.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#939393"
+     bordercolor="#000000"
+     borderopacity="0.89019608"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.64"
+     inkscape:cx="643.99852"
+     inkscape:cy="-24.468137"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="2558"
+     inkscape:window-height="1379"
+     inkscape:window-x="2560"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     showborder="true"
+     borderlayer="false" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-286.05811,81.477047)">
+    <image
+       sodipodi:absref="/home/xymus/projects/nit/contrib/action_nitro/art/../assets/particles/explosion00.png"
+       xlink:href="../assets/particles/explosion00.png"
+       width="479.1073"
+       height="439.72864"
+       id="image3062"
+       x="301.4093"
+       y="-40.358025" />
+    <g
+       id="g4715"
+       transform="matrix(1.0937616,0,0,1.0937616,87.081617,-154.33255)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4528"
+         d="m 314.88393,381.07589 c -3.40142,0.51076 -6.11284,5.45933 -9.4375,2.28125 -9.12039,-2.17651 -19.79276,-2.58277 -28.1875,2.03125 -1.70085,1.86772 -3.19034,3.57267 -5.15625,0.9375 -6.96625,-4.83038 -15.71256,-3.09187 -23.39988,-2.25324 -9.59324,-1.30196 -23.03804,-0.54912 -26.66262,10.19074 -2.3617,6.53982 1.59725,13.41468 5.75,17.875 -4.03357,13.18465 -1.57453,27.37841 -1.56853,40.96309 0.63613,3.23246 0.54812,5.87148 -2.43147,7.56816 -9.07655,10.20488 -0.0112,30.84669 14.34375,27.96875 11.00653,-1.41905 23.35646,3.17852 33.5,-2.5 1.76538,-2.43014 4.27722,2.15097 6.96875,1.625 6.37103,1.70173 12.75003,0.46025 19.21875,0.96875 7.20941,-1.49058 10.80009,-8.69249 15,-13.96875 3.83115,-7.40129 2.43128,-16.46594 -1.25,-23.65625 5.22578,-6.36251 1.71333,-15.1371 2.90625,-22.59375 0.47834,-5.38458 -2.33847,-12.76402 2.9375,-16.375 5.71102,-7.4265 4.47014,-17.66551 4.4375,-26.4375 -0.88795,-2.98802 -3.83534,-5.0961 -6.96875,-4.625 z"
+         style="font-size:121.35847473px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Armalite Rifle;-inkscape-font-specification:Armalite Rifle" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4530"
+         d="m 311.00893,381.45089 c -7.3709,7.3933 -12.4648,21.0193 -4.25,29.6875 3.9068,1.05801 0.78035,5.47144 1.90625,8.375 -0.0288,11.41515 1.0167,23.54815 -0.65625,34.5 -6.84111,5.96245 -6.9736,16.75806 -4.90625,24.90625 2.76378,7.15165 11.32678,11.32309 18.53125,8.375 9.88988,0.89436 20.02904,2.24868 29.78125,0.15625 10.86985,-2.48407 15.74882,-15.6687 10.875,-25.15625 -1.51368,-3.25608 -3.9827,-6.02194 -7.03125,-7.875 0.002,-13.02531 -0.4701,-26.33027 0.1875,-39.1875 13.25379,-6.88401 10.16132,-31.05006 -5.125,-33.0625 -12.8051,-1.38162 -25.96345,1.51382 -38.53125,-1.84375 l -0.5704,0.82137 -0.21085,0.30363 z"
+         style="font-size:121.35847473px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Armalite Rifle;-inkscape-font-specification:Armalite Rifle" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4532"
+         d="m 395.75893,381.51339 c -5.97923,0.46934 -11.77849,3.77111 -17.8125,1.90625 -6.53689,0.74942 -13.09828,-0.14317 -19.53125,-0.34375 -9.45577,1.01727 -16.08214,11.87465 -12.09375,20.65625 0.75028,5.85847 -3.55707,11.40206 -1.40625,17.4375 1.4818,10.20861 13.18695,16.70275 22.59375,12.65625 2.61954,-0.60071 6.51958,-5.55024 4.6875,0 -4.56425,6.89541 1.69459,15.08032 -0.78125,22.1875 -6.74821,5.24519 -3.09957,15.25932 0.22552,21.41096 3.56216,9.78686 15.00653,11.77227 24.17944,10.53826 9.68755,0.0928 21.88007,-0.15472 27.28254,-9.73047 4.02118,-7.90428 4.15548,-21.12372 -5.59375,-24.59375 0.87096,-2.92937 -0.21487,-6.91887 0.625,-9.09375 6.90879,-0.6756 4.42547,-11.91969 11.09375,-12.46875 2.84247,1.16742 6.50206,1.50874 8.28125,-1.84375 3.26455,-7.97228 1.09668,-17.10266 2.92964,-25.46505 0.4029,-6.63275 2.15832,-16.43258 -5.74214,-19.3162 -6.62514,-2.30495 -13.85538,-1.56899 -20.6875,-2.40625 -5.60556,1.01887 -10.42812,-2.60117 -16.09375,-1.5 -0.71386,-0.10318 -1.43883,-0.0713 -2.15625,-0.0312 z"
+         style="font-size:121.35847473px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Armalite Rifle;-inkscape-font-specification:Armalite Rifle" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4534"
+         d="m 464.91518,381.07589 c -12.66988,1.80704 -28.57342,-3.37887 -38.46875,7.21875 -6.66525,7.36937 -6.83899,21.50792 2.59375,26.4375 -1.79383,4.18804 3.28567,7.44791 2.0625,11.25 -3.70606,8.26516 -1.28594,18.0347 -2.0625,26.8125 -8.70246,2.61788 -8.84092,13.6786 -6.84375,20.9375 2.20062,11.52985 16.11628,17.61263 26.71875,13.96875 8.59493,0.0336 17.89947,0.66186 25.875,-2.0625 7.6262,5.35603 17.2667,0.10664 25.6875,2.28125 9.67928,0.75528 21.30143,-5.12224 21.5625,-15.84375 0.84134,-7.8392 -3.38142,-15.86722 -10.125,-19.78125 -0.92203,-2.83843 -3.66521,-6.50511 -0.1875,-8.46875 11.62294,-16.54284 9.76598,-43.27031 -7.15625,-55.5625 -11.82463,-7.35178 -26.61218,-4.40365 -39.65625,-7.1875 z"
+         style="font-size:121.35847473px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Armalite Rifle;-inkscape-font-specification:Armalite Rifle" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4536"
+         d="m 565.00893,381.16964 c -3.85002,-0.16884 -6.55202,4.14696 -9.59375,4.6875 -4.89732,-2.15533 -10.36105,0.27555 -15.4375,-1.21875 -11.73421,0.55449 -20.49282,10.06409 -27.50625,18.45625 -7.46826,9.7798 -9.83053,22.33933 -9.775,34.3875 -1.77935,9.8227 4.00985,18.68777 7.46875,27.40625 7.97594,15.8113 25.22976,29.05348 43.71875,26.09375 2.54511,-1.5322 4.60699,-0.73496 6.8125,0.59375 16.17696,3.11008 30.83598,-9.01503 39.375,-21.59375 10.00328,-14.60367 12.43671,-33.09579 9.84375,-50.3125 -0.42762,-15.93442 -11.95881,-32.69643 -28.5,-34.59375 -2.41343,-0.0334 -4.65572,2.44849 -5.875,-0.625 -2.81825,-2.70294 -6.72681,-3.53322 -10.53125,-3.28125 z m -7.8125,33.25 c 3.84889,-0.46746 2.94282,2.45921 3.05942,5.31073 0.62588,12.5692 1.04922,26.42416 -1.59067,38.18927 -5.38847,-3.9737 -3.37045,-12.10204 -3.8125,-17.90625 0.92238,-8.43377 0.34971,-17.23365 1.9375,-25.4375 0.0938,-0.12185 0.25061,-0.12258 0.40625,-0.15625 z"
+         style="font-size:121.35847473px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Armalite Rifle;-inkscape-font-specification:Armalite Rifle" />
+      <g
+         style="font-size:121.35847473px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Armalite Rifle;-inkscape-font-specification:Armalite Rifle"
+         id="text3719">
+        <path
+           d="m 296.26271,394.26853 4.26651,0.71109 0.71108,-0.71109 0.71109,0 4.2665,2.84434 3.55543,-0.71108 c -8e-5,6.16281 -1.18522,9.24417 -3.55543,9.2441 -2.60738,7e-5 -4.02955,2.13332 -4.2665,6.39977 l 0.71108,4.2665 -0.71108,2.84434 0.71108,2.84434 -0.71108,0.71109 0,0.71108 0.71108,3.55543 -0.71108,2.84434 0.71108,2.84433 -0.71108,9.24411 0,0.71108 -0.71109,0 c -7.0319,-5.57012 -10.58732,-10.07366 -10.66627,-13.51061 l 0,-4.26651 3.55542,-4.97759 -0.71108,-0.71109 -2.13326,0 0,2.13326 -1.42217,-1.42217 0,-1.42217 0.71109,0 -0.71109,-4.9776 0,-6.39976 -4.26651,-1.42217 -2.84433,0.71109 c -0.94817,7e-5 -1.42223,-0.71102 -1.42217,-2.13326 -6e-5,-6.63671 1.89617,-9.9551 5.68867,-9.95519 l 9.24411,0 m -32.7099,0.71109 c 5.21458,3.83203 7.82189,7.86151 7.82193,12.08844 1.42212,7e-5 2.13321,0.94818 2.13325,2.84434 1.89618,1.42223 5.21458,7.11091 9.95519,17.06604 9.20453,13.86619 15.60429,25.0065 19.19929,33.42098 l -0.71108,0.71109 0.71108,3.55542 0,2.13326 -0.71108,0.71108 0.71108,0.71109 0,0.71108 c -7e-5,0.7901 -2.84441,2.21227 -8.53302,4.26651 l 0,1.42217 c 1.89616,0 2.84427,0.47406 2.84434,1.42217 l -0.71108,0.71108 -0.71109,0 c -1.42223,0 -2.13332,-0.71108 -2.13325,-2.13325 l -2.13326,0 c -6e-5,1.42217 -2.13331,2.13325 -6.39976,2.13325 -6e-5,-0.94811 -1.1852,-1.42217 -3.55542,-1.42217 l -0.71109,-3.55542 c 1.42212,0 2.1332,-0.71108 2.13326,-2.13326 l 3.55542,0.71109 c 2.25171,-3.31839 4.14793,-4.97758 5.68868,-4.97759 l 0,-1.42217 -1.42217,-4.9776 -1.42217,0 0,1.42217 -2.13326,0 c -5e-5,-3.31837 -0.94817,-4.97757 -2.84434,-4.97759 l -1.42216,1.42217 -1.42217,-1.42217 -0.71109,4.97759 2.84434,2.13326 0,0.71108 -1.42217,0 3.55542,4.26651 0,0.71109 -0.71108,0 -3.55542,-2.84434 -1.42217,1.42217 1.42217,0 0,1.42217 -2.13326,0.71108 -15.64386,-27.02122 2.13325,-2.13326 c -2.84437,4e-5 -4.26654,-0.94807 -4.26651,-2.84434 -9.9157,-17.57954 -16.31546,-27.29769 -19.19929,-29.15447 -2.84435,-1.10607 -4.26652,-2.05418 -4.26651,-2.84434 l 0,-0.71109 3.55543,0.71109 2.13325,-0.71109 0,-2.84434 -6.39976,1.42217 -0.71109,-0.71108 0,-0.71109 0.71109,-0.71108 -3.55543,0 0,-2.84434 c 0.31604,-1.42209 2.21226,-2.13318 5.68868,-2.13326 l 0.71109,0.71109 0.71108,0 2.84434,-0.71109 1.42217,0 1.42217,1.42217 -1.42217,2.13326 c -2e-5,1.22472 1.65918,2.17283 4.97759,2.84434 l 0,-1.42217 -1.42217,-2.13326 0,-2.13325 14.93279,-1.42217 m -18.48821,11.37736 0.71108,0.71108 0.71109,0 0.71108,-0.71108 0,-2.13326 -2.13325,2.13326 m 8.53302,0.71108 0,2.84434 2.13325,0.71109 0,-0.71109 -2.13325,-2.84434 m -4.9776,0.71109 0,0.71108 c -1e-5,0.94818 0.9481,1.42224 2.84434,1.42217 l 0,1.42217 1.42217,0 0,-1.42217 -4.26651,-2.13325 m -7.82193,4.97759 1.42217,0 c 0.63206,6e-5 1.58018,2.13332 2.84434,6.39976 l 2.84434,3.55543 c -2e-5,0.94816 -0.94813,1.42222 -2.84434,1.42217 l 0,0.71108 c 2.84432,5e-5 4.26649,0.47411 4.26651,1.42217 l -0.71109,2.84434 0.71109,0.71109 0.71108,0 1.42217,-1.42217 c 5.2146,5.01714 7.82191,13.07609 7.82194,24.17688 l 0,7.11085 c -3e-5,2.37029 2.13322,4.50355 6.39976,6.39976 l 0,1.42217 -0.71109,2.13325 0.71109,4.26651 0,0.71109 -1.42217,2.13325 -3.55542,-0.71108 -4.9776,0.71108 0,-0.71108 -0.71108,0.71108 -6.39977,0 -11.37735,-0.71108 -2.84434,0.71108 c -1.42217,-1.85672 -2.13326,-4.46403 -2.13326,-7.82193 2.09375,-1.42216 4.227,-2.13325 6.39977,-2.13325 l 0,-5.68868 3.55542,-4.9776 -2.13325,-0.71108 -1.42217,1.42217 -0.71109,-0.71109 0,-19.19929 -0.71108,-6.39976 1.42217,-8.53302 -0.71109,-0.71108 0,-0.71109 c 0.94811,-5.21456 1.89622,-7.82187 2.84434,-7.82193 m 18.48821,7.82193 0,0.71109 c 0.47402,1.54073 1.42214,2.48885 2.84434,2.84434 l 1.42217,-2.13326 -1.42217,-1.42217 -2.84434,0 m -12.79953,14.93278 0.71108,2.13326 -1.42217,0 1.42217,1.42217 3.55543,-0.71109 0,-2.13325 -2.13326,-2.13326 -2.13325,1.42217 m 19.91037,6.39977 0,0.71108 0.71109,2.84434 1.42217,0 1.42217,-1.42217 c -4e-5,-1.06659 -1.18518,-1.77768 -3.55543,-2.13325 m 26.31014,9.2441 0,0.71108 1.42217,1.42217 1.42217,-1.42217 0,-0.71108 -2.84434,0 m -45.50943,15.64387 -0.71108,0 -0.71109,-0.71109 -0.71108,0 0,1.42217 c 1.89621,1e-5 2.84432,1.18515 2.84434,3.55542 l 3.55542,1.42217 2.84434,-2.13325 0,-1.42217 -0.71108,-2.13325 0.71108,-0.71109 -3.55542,-1.42217 -3.55543,2.13326"
+           style=""
+           id="path3080" />
+        <path
+           d="m 317.35822,393.55745 8.53302,0.71108 5.68868,-0.71108 5.68868,0.71108 7.11085,-0.71108 c 2.8443,0.35562 4.26647,0.82968 4.2665,1.42217 l 0.71109,-0.71109 0.71108,0 1.42217,1.42217 0,4.9776 c -4e-5,3.595 -2.37032,5.49122 -7.11084,5.68868 l -1.42217,14.22169 0.71108,0.71109 -0.71108,4.97759 0,14.93278 -0.71109,0.71109 0,0.71108 c 0.94808,4e-5 1.42214,0.71112 1.42217,2.13326 l -0.71108,6.45902 0.71108,12.79952 2.13325,0 c 2.60728,2e-5 4.74053,1.42218 6.39977,4.26651 -0.59261,5.21463 -1.77775,7.82194 -3.55543,7.82194 l -0.71108,-2.13326 -1.42217,0 c -3e-5,1.42217 -0.47409,2.13326 -1.42217,2.13326 l -17.77712,0 -5.68868,-1.42217 -1.42217,0 -4.97759,1.42217 -0.71109,-0.71109 0,-4.97759 1.42217,-1.42217 0.71109,0.71108 0,0.71109 2.84434,-0.71109 0,-2.13325 -1.42217,-1.42217 -3.55543,0 0,-1.42217 c 0,-1.02711 2.84434,-2.21225 8.53302,-3.55543 l 0.71109,-0.71108 c -2e-5,-1.89621 -0.94813,-2.84432 -2.84434,-2.84434 l 0,-14.99204 -0.71109,-3.55542 0.71109,-4.26651 0,-21.33255 -0.71109,-7.11084 0.71109,0 c -0.27654,-1.89616 -1.93574,-2.84427 -4.9776,-2.84434 l -1.42217,-2.13326 0,-3.55542 2.84434,-4.26651 m 25.59906,9.2441 0,0.71109 2.13325,0.71108 0,-2.84434 -0.71108,0 -1.42217,1.42217 m -4.26651,5.68868 0,2.13326 2.13325,0 -0.71108,-2.13326 -1.42217,0 m -5.68868,7.82193 1.42217,1.42217 2.13325,-0.71108 -0.71108,-2.13326 -1.42217,0 -1.42217,1.42217 m 5.68868,7.11085 0.71108,0.71109 2.84434,0 0,-2.13326 -2.13325,0 -1.42217,1.42217 m -13.51061,12.08844 0,0.71109 2.13325,0 -0.71109,-2.13326 -1.42216,1.42217 m 5.68867,7.11085 0.71109,0.71109 1.42217,0 0,-2.13326 -0.71109,0 -1.42217,1.42217 m -4.26651,23.52506 -1.42216,4.26651 0.71108,2.13325 0.71108,0 2.84434,-4.97759 -0.71108,-0.71109 -2.13326,-0.71108 m 16.35496,1.42217 -0.71109,4.26651 0,2.13325 0.71109,0 1.42217,-6.39976 -1.42217,0"
+           style=""
+           id="path3082" />
+        <path
+           d="m 396.0516,393.73522 7.82194,0 1.42217,1.42217 0,0.71109 -0.71109,0.71108 1.42217,6.39976 0,1.42217 -0.71108,0 0.71108,7.11085 0,2.84434 -0.71108,20.62146 0.71108,0.71109 0,0.71108 -0.71108,2.84434 0,3.55542 0.71108,4.26651 -0.71108,0.71109 0,0.71108 1.42216,12.08844 -0.71108,2.13326 c 5.21457,1.06664 7.82187,2.01475 7.82193,2.84434 -1.06668,6.16274 -2.01479,9.2441 -2.84434,9.2441 l -2.13325,0 -2.13326,-1.42217 -0.71108,0 -2.13325,1.42217 0,-1.42217 -0.71109,0 0,1.42217 0.71109,0.71108 -9.24411,0.71109 -0.71108,-0.71109 -0.71109,0 -4.26651,0.71109 -1.42217,-1.42217 -0.71108,0.71108 -2.13325,0 -1.42217,-1.42216 1.42217,-1.42217 -0.71109,-2.13326 -0.71108,0.71109 -0.71109,0 -2.84434,-6.39977 c 2.84431,10e-6 4.26648,-1.42215 4.26651,-4.26651 l 0,-2.13325 -0.71108,-2.84434 c 0.59254,-2.37026 1.30362,-3.5554 2.13325,-3.55542 l 2.84434,2.84434 2.13325,0 0,-1.42217 0.71109,0 4.26651,4.97759 1.42217,0 c 0.98757,-0.19751 1.93568,-1.38265 2.84434,-3.55542 l -1.42217,-2.13326 -0.71109,0.71109 -0.71108,0 c -1.14568,2e-5 -3.27893,-2.13323 -6.39977,-6.39977 l -0.71108,0.71109 -1.42217,0 0,-0.71109 c -3e-5,-0.94808 0.71105,-1.42214 2.13325,-1.42217 l 0,-1.42217 -0.71108,0 -2.84434,2.13326 0.71108,0.71108 0,0.71109 -0.71108,0.71108 -1.42217,0 -1.42217,-1.42217 0.71109,-0.71108 0,-0.71109 -1.42217,-1.42217 0,-6.39976 4.2665,0 0.71109,-3.55542 -4.26651,-4.26651 2.13326,-1.42217 -0.71109,-3.55543 -0.71108,0.71109 -0.71109,0 -0.71108,-0.71109 0,-4.26651 2.84434,-1.42217 0.71108,0.71109 0.71108,0 0,-0.71109 c -3e-5,-0.94805 -0.71111,-1.42211 -2.13325,-1.42217 l -2.13325,0.71109 0,-1.42217 0.71108,-6.39976 -0.71108,-0.71109 c 0.2765,-9.007 1.69867,-13.51053 4.2665,-13.51061 -3e-5,-1.34308 2.84431,-2.29119 8.53302,-2.84434 m -36.26532,1.42217 4.97759,0.71109 0.71109,-0.71109 4.97759,0.71109 4.97759,0 3.55543,-0.71109 0.71108,0.71109 0,2.13325 c -2e-5,3.67401 -3.08139,7.70349 -9.2441,12.08844 l 0,1.42217 -2.13326,0 c -1e-5,-1.89616 -0.47406,-2.84427 -1.42216,-2.84434 l -0.71109,0 0,3.55543 -0.71108,0 -0.71109,-0.71109 -0.71108,0 c -1e-5,1.26422 -0.7111,2.68638 -2.13326,4.26651 1.89622,0.23709 2.84433,0.94817 2.84434,2.13325 l -2.13325,1.42217 1.42217,2.84434 -0.71109,0.71109 c -4.26651,-0.55301 -6.39976,-1.2641 -6.39976,-2.13326 l 0,-7.82193 2.84434,-2.84434 c -1.42218,-2.33071 -2.13326,-7.07127 -2.13326,-14.22169 l 2.13326,-0.71109 m 50.48702,0 1.42217,0 0.71108,0.71109 0.71109,-0.71109 3.55542,0 c 3.31833,0.1581 4.97753,0.63216 4.9776,1.42217 l 3.55542,-0.71108 2.13325,0 0.71109,0.71108 0.71108,0 -1.42217,23.4658 c -3.00242,6e-5 -5.3727,0.94817 -7.11084,2.84434 l -3.55543,-9.95519 -7.82193,-10.66627 0,-5.68868 1.42217,-1.42217 m -51.19811,1.42217 0,2.84434 3.55543,0.71108 0.71108,-2.84433 -0.71108,-0.71109 -3.55543,0 m 25.59906,24.88797 1.42217,1.42217 0.71108,0 0,-1.42217 -2.13325,0"
+           style=""
+           id="path3084" />
+        <path
+           d="m 456.25679,393.02414 4.97759,0.71108 4.97759,-0.71108 1.42217,1.42217 -1.42217,6.39976 0.71109,0.71108 c -4e-5,13.7477 -1.4222,20.62152 -4.26651,20.62146 l -1.42217,2.13326 c 0.94808,5e-5 1.42214,0.94816 1.42217,2.84434 l 0.71109,0.71108 0.71108,0 0.71108,-0.71108 0.71109,0.71108 0,2.84434 -1.42217,0 0,-2.13325 -2.13325,1.42217 -0.71109,-0.71109 0,2.13326 4.97759,1.42217 -0.71108,3.55542 0,9.95519 c -3e-5,1.4222 -0.94815,2.13328 -2.84434,2.13325 l -0.71108,0.71109 0,0.71108 0.71108,0.71109 0.71109,0 2.13325,-0.71109 -1.42217,2.13326 1.42217,1.42217 0,4.97759 c -3e-5,3.71346 1.89619,5.84671 5.68868,6.39976 l 0,0.71109 c -4e-5,5.96521 -1.89627,9.52063 -5.68868,10.66627 l -4.97759,-0.71109 -4.9776,0 -17.06603,0.71109 c -3.3184,-0.94811 -4.9776,-4.26651 -4.9776,-9.95519 l 0.71109,0.71109 0.71108,0 c 0,-1.65919 1.89622,-3.08136 5.68868,-4.26651 l 0.71109,-12.08844 -0.71109,-0.71109 0.71109,-3.55542 0,-14.2217 c -10e-6,-1.1851 0.9481,-1.89618 2.84434,-2.13325 l -0.71109,-3.55543 c 1.89621,-0.71103 2.84432,-1.42212 2.84434,-2.13325 l -2.13325,-4.9776 c -1.89624,6e-5 -2.84435,-0.71102 -2.84434,-2.13325 l -0.71109,-5.68868 0.71109,-5.68868 c -5.21463,-1.18507 -7.82194,-2.13318 -7.82194,-2.84434 l 0,-0.71108 c 0,-2.37021 1.42217,-5.21454 4.26651,-8.53302 l 4.9776,0 0.71108,0.71109 0.71109,-0.71109 6.39976,0 5.68868,-0.71108 m 15.64386,1.42217 2.13326,0 4.26651,0.71108 0.71108,-0.71108 0.71109,0 6.39976,1.42217 2.13325,-0.71109 c 9.00701,1.97532 13.51054,4.3456 13.51061,7.11085 3.31833,4.74063 4.97752,8.77011 4.9776,12.08844 l 0,4.97759 c -8e-5,11.61443 -3.5555,19.19933 -10.66627,22.75472 -3.16044,1.89626 -6.71586,3.0814 -10.66628,3.55542 l 0,0.71109 9.24411,0 0.71108,0.71108 0.71109,-0.71108 0.71108,0 6.39976,16.35495 c 2.96278,1e-5 5.09604,1.18515 6.39977,3.55542 l 0,7.11085 c -0.47414,1.42217 -1.8963,2.13326 -4.26651,2.13325 l -12.08844,0 -10.66628,0.71109 -12.08844,-34.84316 0,-0.71108 0.71109,-4.26651 -0.71109,-2.13325 c 8.53297,-1.02708 12.79948,-4.5825 12.79953,-10.66628 l 0.71108,-7.11084 -0.71108,-2.84434 0.71108,-2.13326 c -5e-5,-3.67387 -3.31844,-6.04415 -9.95518,-7.11085 l -2.13326,0.71109 -0.71108,-0.71109 0,-0.71108 0.71108,-9.2441 m -20.62146,12.79952 -2.13325,3.55543 4.26651,1.42217 0,-2.13326 -2.13326,0 0,-2.13325 1.42217,0 0,-0.71109 -1.42217,0 m -2.84434,7.82194 0,0.71108 1.42217,0 0,-2.13325 -1.42217,1.42217 m 14.93279,7.11084 1.42216,1.42217 -0.71108,0.71109 -0.71108,0 0,-2.13326 m -19.19929,10.66628 c 0.94809,4e-5 1.42215,0.94815 1.42216,2.84434 l 4.26651,0 0,-0.71109 c -0.94813,-0.94807 -1.42218,-2.8443 -1.42217,-5.68868 -1.89624,5e-5 -3.31841,1.18519 -4.2665,3.55543 m 2.13325,-2.13326 1.42217,1.42217 -0.71109,0.71109 -0.71108,0 0,-2.13326 m -3.55542,17.77712 0,0.71109 0.71108,3.55542 2.13325,0 -0.71108,-4.26651 -0.71108,0.71109 -0.71109,0 -0.71108,-0.71109 m 2.13325,9.95519 0.71108,0.71108 0.71109,0 2.13325,-1.42217 0.71109,0.71109 0.71108,0 0,-0.71109 c -2e-5,-0.94809 -0.7111,-1.42215 -2.13325,-1.42217 -1.89624,0.71111 -2.84435,1.42219 -2.84434,2.13326 m 2.13325,1.42217 1.42217,1.42217 0.71109,0 0,-1.42217 -2.13326,0"
+           style=""
+           id="path3086" />
+        <path
+           d="m 565.52681,393.49819 1.42217,0 0,0.71109 c -0.47411,1.8963 -1.42222,2.84442 -2.84434,2.84434 l 0.71108,6.39976 -0.71108,0 -0.71109,-0.71108 -0.71108,0 0.71108,-0.71109 0,-1.42217 -0.71108,0.71109 -0.71109,0 -0.71108,-0.71109 0,-3.55542 c 1.14559,8e-5 2.56775,-1.18506 4.26651,-3.55543 m -25.59905,2.84434 0.71108,0 1.42217,1.42217 0,0.71109 -0.71108,-0.71109 -0.71109,0 -1.42217,1.42217 -0.71108,-0.71108 0,-0.71109 1.42217,-1.42217 m 9.95518,0.71109 0.71109,0 1.42217,1.42217 -0.71109,2.84434 0.71109,2.13325 c -3.23943,1.9358 -5.84673,4.54311 -7.82194,7.82193 l 0.71109,0.71109 c -0.79013,8.53307 -1.50121,12.79958 -2.13325,12.79952 l 0.71108,2.13326 -0.71108,19.19929 c -4e-5,13.62914 4.26647,21.21404 12.79952,22.75471 l 0.71109,6.39977 c -0.98766,2.84433 -2.88389,4.2665 -5.68868,4.26651 -14.53776,-1e-5 -25.44105,-9.00707 -32.7099,-27.02123 -10e-6,-2.96282 -1.18515,-5.80716 -3.55543,-8.53302 l 0,-4.2665 1.42217,-2.13326 0,-1.42217 -0.71108,-7.11085 c -1e-5,-7.50584 4.2665,-16.03885 12.79952,-25.59905 l 3.55543,-2.84434 1.42217,0 0,2.13326 -2.13326,2.13325 0.71109,3.55542 0.71108,0 c -2e-5,-1.89615 0.47404,-2.84426 1.42217,-2.84434 l 0,4.26651 2.13326,0 -1.42217,-3.55542 0.71108,-0.71109 -1.42217,0 0,-2.13325 1.42217,0 c 2.37026,0.90868 3.5554,3.04193 3.55543,6.39976 l 0.71108,0 c -3e-5,-3.63436 0.71106,-6.00464 2.13326,-7.11084 l 0,-0.71109 -0.71109,0.71109 -2.84434,0 0,-0.71109 2.84434,-1.42217 1.42217,0 c -3e-5,0.94819 0.94808,1.42224 2.84434,1.42217 l 1.42217,2.84434 0.71108,0 2.84434,-2.84434 -0.71108,-0.71108 0,-0.71109 0.71108,-3.55542 m 32.7099,0 c 9.95511,5.41222 14.9327,12.76009 14.93279,22.04363 l -0.71109,0 c -0.9482,5e-5 -1.42225,-0.71103 -1.42217,-2.13326 l -2.84434,1.42217 0,0.71109 0.71109,3.55542 -0.71109,0.71109 0.71109,0.71108 1.42217,0 0,-1.42217 c 2.84425,5e-5 4.26642,4.50359 4.26651,13.51061 l -0.71109,0.71109 0,0.71108 0.71109,2.13326 c -1.54077,7.18988 -3.437,13.35261 -5.68868,18.4882 l -2.13326,0 0,-1.42217 -0.71108,0 0,1.42217 1.42217,1.42217 c -8e-5,2.25178 -3.5555,6.75532 -10.66628,13.51061 l -1.42216,0 0,-1.42217 -1.42217,1.42217 0.71108,2.13326 c -2.64688,2.37028 -7.38744,4.02947 -14.2217,4.97759 l -1.42217,0 -3.55542,-5.68868 c -5e-5,-2.25176 2.60726,-4.85907 7.82193,-7.82193 1.77766,10e-6 3.43685,-5.92569 4.9776,-17.77712 l -0.71109,-9.2441 2.13326,-0.71109 0,-3.55542 -1.42217,0 0,-9.24411 c -6e-5,-0.94806 0.94805,-1.42211 2.84434,-1.42217 l -3.55543,-3.55542 0,-0.71108 0.71109,-0.71109 c -6e-5,-6.08366 -1.65926,-11.29828 -4.9776,-15.64386 l 0,-0.71109 1.42217,-1.42217 0,0.71109 2.84434,-1.42217 0.71109,0.71108 0,0.71109 -0.71109,0.71108 c 0.94805,7e-5 1.42211,0.71116 1.42217,2.13325 l 7.11085,-3.55542 c -7e-5,-2.56773 0.71102,-4.22693 2.13325,-4.97759 m -47.64268,0.71108 1.42217,0 0,0.71109 -1.42217,1.42217 0,-2.13326 m 39.10967,1.42217 0.71108,0 1.42217,1.42217 0,0.71109 -2.13325,0 0,-2.13326 m 8.53301,2.13326 0,0.71108 1.42217,1.42217 0,-3.55542 -1.42217,1.42217 m -39.10966,3.55542 0,1.42217 0.71108,0 1.42217,-1.42217 -2.13325,0 m 44.79834,12.79953 c -7e-5,0.94817 -0.94819,1.42222 -2.84434,1.42217 l -0.71108,0.71108 0,0.71109 1.42217,1.42217 0,0.71108 -0.71109,0.71109 0,0.71108 0.71109,0.71108 0.71108,0 c 1.58012,6e-5 3.23931,-0.71103 4.9776,-2.13325 l -2.13326,-4.97759 -1.42217,0 m -57.59787,2.84434 0,4.2665 1.42217,1.42217 0,-0.71108 -0.71108,-4.97759 -0.71109,0 m 64.70872,-0.71109 0,0.71109 -1.42217,1.42217 0,-0.71109 1.42217,-1.42217 m -71.81956,4.26651 0,1.42217 2.13325,0 c -10e-6,0.94816 -0.94813,1.42222 -2.84434,1.42217 l 0,0.71108 2.84434,1.42217 2.13325,-2.13325 0,-2.13326 c -10e-6,-0.94806 -0.7111,-1.42211 -2.13325,-1.42216 l -2.13325,0.71108 m 56.88678,6.39976 0,2.13326 2.13325,-2.13326 -2.13325,0 m -47.64268,5.68868 0,1.42217 1.42217,1.42217 0,-2.84434 -1.42217,0 m -2.84434,4.9776 0,0.71108 c 1.42215,1.22468 2.13323,3.1209 2.13325,5.68868 l 2.13326,0.71108 0,-0.71108 -0.71109,-2.13326 0.71109,-4.2665 -2.13326,-0.71109 -2.13325,0.71109 m 7.11085,-0.71109 0,0.71109 1.42217,1.42217 0,-0.71109 -1.42217,-1.42217 m 50.48702,0.71109 -0.71109,0.71108 0,2.13325 4.9776,0.71109 0.71108,0 0,-1.42217 c -1.58027,3e-5 -3.23946,-0.71105 -4.97759,-2.13325 m -3.55543,14.93278 -0.71108,0.71108 0.71108,2.84434 2.13326,-2.13325 -2.13326,-1.42217 m 3.55543,0.71108 0,1.42217 1.42217,1.42217 0.71108,-2.84434 -2.13325,0 m -19.91038,12.79953 0,0.71108 1.42217,2.13326 -2.13325,0.71108 0.71108,0.71109 0,0.71108 c 2.0937,-1.42217 3.98992,-2.13325 5.68868,-2.13325 l -0.71108,-2.84434 -4.9776,0"
+           style=""
+           id="path3088" />
+      </g>
+    </g>
+    <g
+       style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Armalite Rifle;-inkscape-font-specification:Armalite Rifle"
+       id="text2997"
+       transform="translate(0,-7.8125)" />
+    <g
+       id="g3454"
+       transform="translate(0,33.603754)">
+      <g
+         style="fill:#ffffff"
+         inkscape:label="#g3016"
+         id="0created_by"
+         transform="translate(-4.0354898,0)" />
+    </g>
+    <g
+       id="g4724"
+       transform="matrix(1.0937616,0,0,1.0937616,89.393786,-284.02083)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4515"
+         d="m 216.47768,233.23214 c -14.70108,1.53381 -20.28959,24.93285 -6.65625,31.90625 -6.79908,7.88041 -5.81053,19.60724 -11.5,28.09375 -2.04677,5.18208 -1.99046,12.99953 -8.90625,14.15625 -6.97758,2.48184 -10.59922,9.97291 -8.90625,17.03125 1.83558,10.87505 13.63018,19.47538 24.5625,16.375 8.34289,0.47117 17.86101,1.56256 24.90625,-3.875 7.77112,7.23649 19.09669,4.02641 28.27819,2.51556 9.66242,-0.19406 23.02238,0.29463 27.78431,-10.07806 4.25469,-8.37676 1.04123,-20.52126 -8.25,-23.59375 -5.4712,-7.98692 -5.58271,-18.19432 -10.5625,-26.4375 -5.94454,-13.06293 -4.27116,-29.91883 -15.71875,-40.25 -9.3526,-8.49918 -23.6217,-4.78203 -35.03125,-5.84375 z"
+         style="font-size:121.35847473px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Armalite Rifle;-inkscape-font-specification:Armalite Rifle" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4517"
+         d="m 309.10268,233.70089 c -7.03859,2.26857 -16.98176,-2.45335 -21.84375,5.0625 -1.74037,3.64711 -7.36332,1.89914 -9.6875,5.40625 -18.20877,15.51961 -22.06793,43.56856 -13.4375,65.15625 7.49981,19.41844 27.48787,32.84014 48.40625,31.90625 7.55494,0.50677 15.65099,0.90411 22.21875,-3.625 14.86236,-7.66199 21.57936,-26.15857 18.84375,-42.09375 -1.32714,-3.39395 -3.91828,-5.89468 -7.09375,-7.65625 7.74067,-4.26502 11.03694,-13.49225 9.34375,-21.96875 0.31004,-9.78991 2.22104,-23.16316 -7.5,-29.21875 -4.79965,-2.80815 -10.5129,-0.57918 -15.34375,-0.15625 -6.9016,-2.01322 -14.64891,0.23704 -21.375,-2.78125 -0.84131,-0.0725 -1.68845,-0.0976 -2.53125,-0.0312 z m 4.78125,33.84375 c 7.2413,4.75549 8.73405,14.03034 13.21875,20.6875 2.45327,1.26761 -2.0971,3.12477 -2.15625,5.125 -2.25866,4.25743 -2.99058,11.4601 -7.9375,12.96875 -0.38608,-2.55004 -3.41214,-3.30769 -5.03125,-3.8125 -0.12422,-10.76197 1.59317,-21.67438 -0.65625,-32.3125 -2.83061,1.36312 -2.56171,-1.94084 -0.375,-1.625 0.88863,-0.35058 1.98292,-1.86837 2.9375,-1.03125 z"
+         style="font-size:121.35847473px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Armalite Rifle;-inkscape-font-specification:Armalite Rifle" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4519"
+         d="m 389.19643,233.98214 c -6.32328,0.35544 -12.32342,4.26111 -18.75,2.125 -5.85854,0.74546 -11.59355,0.47843 -17.34375,-0.375 -9.65593,-0.13011 -18.75948,9.43099 -15.47507,19.19593 2.46839,5.51994 -2.83369,9.7772 -1.64993,15.30407 0.0347,11.17056 11.7266,20.91508 22.625,16.75 2.1527,-0.60959 4.26773,-2.17065 5.75,-3.4375 0.33593,4.22739 -3.31309,7.74195 -1.96875,12.15625 0.67704,5.18269 3.53373,11.9041 -1.59375,15.78125 -3.6834,6.49206 0.70911,14.33505 3.23619,20.46831 4.43766,8.97159 15.7747,9.84691 24.48256,8.81294 6.20802,1.86136 12.35415,-1.11604 18.40625,-2.34375 8.61651,-2.95789 11.15078,-13.63457 10.25,-21.75 -0.64729,-4.01126 -2.99586,-7.98209 -6.8125,-9.65625 4.91142,-6.43658 3.81004,-15.99467 9.25,-21.875 4.32051,0.40914 9.35314,-0.87531 10.625,-5.59375 2.67709,-7.74502 0.13867,-16.32473 2,-24.3125 0.44228,-5.40668 0.78828,-10.82378 0.84375,-16.25 -11.37736,-2.22159 -23.11915,-2.82289 -34.57722,-3.20214 -2.92475,-1.3559 -6.05132,-2.09737 -9.29778,-1.79786 z"
+         style="font-size:121.35847473px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Armalite Rifle;-inkscape-font-specification:Armalite Rifle" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4521"
+         d="m 426.60268,234.45089 c -13.66074,2.54843 -17.97975,22.94888 -7.25,31.375 0.43302,13.59385 0.83769,27.62861 -0.40625,40.96875 -6.89056,5.35688 -6.80234,15.56591 -5.5,23.40625 2.04542,7.80367 10.68864,12.91636 18.4375,10.28125 11.93973,-0.72243 25.46981,4.22576 36.15625,-3.03125 10.29255,-7.0035 8.41011,-24.0621 -1.9375,-30.0625 0.0812,-13.04998 -0.85475,-26.43383 0.59375,-39.28125 11.72919,-7.36405 10.51595,-29.38417 -4.03125,-32.5625 -11.9086,-2.14969 -24.11903,0.29137 -36.0625,-1.09375 z"
+         style="font-size:121.35847473px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Armalite Rifle;-inkscape-font-specification:Armalite Rifle" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4523"
+         d="m 516.97768,233.95089 c -3.40169,-0.0619 -5.30529,4.51533 -7.90625,4.78125 -4.76244,-2.82479 -10.16187,0.33331 -15.15625,-1.21875 -12.09166,0.0609 -21.11097,10.20643 -28.28125,18.75 -6.97237,9.36582 -9.75919,21.14795 -9.125,32.6875 -1.4211,5.89727 -0.88092,12.4388 2.53125,17.46875 5.48087,20.33262 23.86787,39.36229 46.3125,37.84375 2.96183,-0.50049 6.10813,-2.47425 8.53125,0.0312 15.92659,3.43493 30.2445,-8.39515 38.79338,-20.47466 10.48491,-14.45827 13.55203,-33.32393 10.45662,-50.74409 0.38569,-16.7642 -12.68049,-34.29353 -29.96875,-35.2187 -2.28114,1.36461 -3.3607,1.20724 -4.8125,-1.09375 -3.1235,-2.68595 -7.43943,-2.95192 -11.375,-2.8125 z m -6.0625,33.25 c 1.98116,0.18882 3.59686,0.31412 2.60423,2.80983 0.95854,13.47655 0.80857,27.57402 -1.16673,40.65892 -5.47841,-2.56226 -3.6494,-10.0416 -4.10148,-14.96847 0.58821,-9.44825 0.0156,-19.45969 2.38273,-28.46903 l 0.15625,-0.0625 0.125,0.0312 z"
+         style="font-size:121.35847473px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Armalite Rifle;-inkscape-font-specification:Armalite Rifle" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4525"
+         d="m 611.54018,235.04464 c -4.85749,0.39185 -9.49244,2.40356 -13.09375,5.625 -8.66858,-6.99894 -20.41539,-3.21496 -30.49265,-3.31645 -4.52578,0.82894 -8.79335,2.06031 -13.25735,3.00395 -10.28422,4.38791 -11.84968,20.23547 -2.90625,26.65625 -2.57925,14.74456 -0.16026,30.26453 -1.125,44.84375 -11.71324,8.37177 -4.0337,30.82304 10.6875,29.71875 11.52324,-2.18278 24.09906,3.01868 34.875,-2.71875 2.64107,-3.13936 4.37432,2.29542 7.5625,2.34375 5.44456,0.94876 10.9257,-0.72441 16.5,0.15625 8.46196,0.73113 18.33114,-4.13378 18.8125,-13.53125 0.7899,-6.99359 0.93985,-14.82919 -1.46875,-21.5625 -1.52163,-2.04943 -3.13438,-4.55606 -0.5625,-6.40625 3.62287,-8.30098 2.88665,-18.18442 0.71875,-26.71875 -2.27796,-1.90708 -2.99975,-5.606 0.0312,-6.8125 11.3238,-5.08505 12.39771,-25.36853 -0.125,-29.75 -8.55345,-1.74433 -17.44231,-1.57752 -26.15625,-1.53125 z"
+         style="font-size:121.35847473px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Armalite Rifle;-inkscape-font-specification:Armalite Rifle" />
+      <g
+         style="font-size:121.35847473px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Armalite Rifle;-inkscape-font-specification:Armalite Rifle"
+         id="text3715">
+        <path
+           d="m 219.14692,245.34797 12.79953,0 0.71108,0.71108 0.71108,-0.71108 c 7.07131,8e-5 11.57484,2.13334 13.51062,6.39976 l 7.11084,25.59906 -2.13325,2.13325 c -5e-5,2.76538 1.89617,4.89863 5.68868,6.39976 6.04415,20.38446 10.78471,30.57666 14.22169,30.57665 2.84427,0.94813 4.26644,1.89624 4.26651,2.84434 -7e-5,5.21463 -2.37035,7.82194 -7.11084,7.82193 l -3.55543,-0.71108 c -10.70583,1.89623 -19.47587,2.84434 -26.31014,2.84434 -2.37032,-2.44929 -3.55546,-5.29363 -3.55542,-8.53302 4.26647,-2.29126 6.39972,-3.95046 6.39976,-4.97759 l -14.93278,-40.53184 -2.84434,-7.82193 c 0.11849,-1.89616 0.59255,-2.84428 1.42217,-2.84434 -3e-5,-1.4221 -0.94814,-2.13319 -2.84434,-2.13325 -1.18516,-0.82954 -2.3703,-2.96279 -3.55542,-6.39977 -3.31841,-0.94804 -4.97761,-1.89615 -4.9776,-2.84434 l 0,-2.84434 c -1e-5,-3.31831 1.65919,-4.97751 4.9776,-4.97759 m 9.95519,5.68868 0.71108,0 0.71109,-0.71109 0.71108,0 c 0.237,1.89631 0.94808,2.84442 2.13325,2.84434 l 0.71109,-0.71108 0,-0.71109 c -1.89626,8e-5 -2.84437,-0.711 -2.84434,-2.13325 l 1.42217,0 0,-1.42217 -0.71108,0 -2.84434,2.84434 m 12.08844,12.79953 c -5e-5,1.42223 -0.71113,2.13331 -2.13326,2.13325 l 0,2.13325 c 1.58015,6e-5 3.23935,0.71115 4.9776,2.13326 l 1.42217,-3.55543 0,-0.71108 c -0.94816,-1.89616 -2.37033,-2.84427 -4.26651,-2.84434 l 0,0.71109 m -6.39977,6.39976 0,1.42217 2.13326,0.71108 0,-0.71108 -1.42217,-1.42217 -0.71109,0 m -1.42217,2.84434 0,0.71108 2.13326,0.71109 0,-1.42217 -2.13326,0 m 2.84434,0 0,1.42217 2.13326,0.71108 0,0.71109 -0.71109,0.71108 0,0.71109 2.13326,0 0.71108,-2.13326 -1.42217,-1.42217 -0.71108,0.71109 -1.42217,0 0,-1.42217 -0.71109,0 m -17.06603,0 1.42217,0 c 1.8962,5e-5 4.26648,4.97764 7.11085,14.93278 -2.37031,2.84438 -4.97762,4.26654 -7.82194,4.26651 l -0.71108,0.71108 0,2.13326 c 0.94809,3e-5 1.42215,1.18517 1.42217,3.55542 l 0.71108,-0.71108 8.53302,0 c 3.31836,3e-5 4.97756,2.13328 4.97759,6.39976 l -2.13325,2.13325 0.71108,2.13326 -0.71108,0.71108 -2.13325,0 -4.26651,-0.71108 -4.26651,1.42217 -2.13326,0 -2.84434,7.11085 c 4.74055,1.26416 7.11083,3.87147 7.11085,7.82193 l -2.13325,1.42217 -0.71109,-0.71109 0,0.71109 0.71109,0.71108 0,0.71109 -2.84434,1.42217 -6.39976,-0.71109 -2.13326,0.71109 -5.68868,-0.71109 -4.97759,0.71109 c -4.34552,0 -6.95283,-3.08137 -7.82193,-9.2441 0,-1.42216 1.6592,-2.13325 4.97759,-2.13326 6.63679,-4.14798 9.95518,-8.88854 9.95519,-14.2217 2.84432,-5.68864 5.68866,-13.03651 8.53301,-22.04362 l 0.71109,-0.71109 0.71108,0 -0.71108,-0.71108 0,-0.71109 c 0.79007,-4.26645 1.73819,-6.39971 2.84434,-6.39976 m 9.95519,5.68868 c 0.67154,2.37033 2.33074,3.55547 4.97759,3.55542 l 2.84434,0 0,-3.55542 -2.84434,-3.55543 -4.97759,3.55543 m 13.51061,11.37735 1.42217,3.55543 0.71108,0 c -4e-5,-0.94808 0.71104,-1.42214 2.13326,-1.42217 l 0,-0.71109 -4.26651,-1.42217 m -25.59906,4.26651 0,2.13326 2.13326,0 -2.13326,-2.13326 m 4.9776,5.68868 0,1.42217 2.13325,-0.71108 0,-0.71109 -2.13325,0 m -11.37736,5.68868 5.68868,2.84434 c 0.71107,-1.89621 1.42215,-2.84432 2.13325,-2.84434 l 0.71109,0.71108 0.71108,-0.71108 c -0.98763,-2.84431 -2.88386,-4.26648 -5.68868,-4.26651 -2.37029,0.75062 -3.55543,2.17278 -3.55542,4.26651 m 41.954,0 0,0.71108 2.84434,2.84434 2.13326,0 0.71108,-4.26651 -0.71108,-0.71108 -3.55543,0 -1.42217,1.42217 m -46.93159,15.64386 2.84434,0 -1.42217,-1.42216 -1.42217,1.42216"
+           style=""
+           id="path3067" />
+        <path
+           d="m 311.29166,245.88128 1.42217,2.13326 0,0.71108 -0.71108,2.84434 0.71108,2.84434 -9.95519,4.9776 c -2.21229,-2.84427 -3.63446,-6.16266 -4.26651,-9.95519 l 2.84434,2.84434 c 1.42214,-0.35547 2.37025,-1.30358 2.84434,-2.84434 l -2.13325,-1.42217 -0.71109,0.71108 -0.71108,0 -2.13326,-0.71108 0,-1.42217 5.68868,0 7.11085,-0.71109 m 9.95519,1.42217 c 8.53296,0.27662 12.79946,1.69879 12.79953,4.26651 l 0.71108,0 4.97759,-4.26651 2.84434,0 1.42217,1.42217 0,1.42217 -0.71108,0 0.71108,4.9776 0,15.64386 c -7e-5,3.79251 -0.94818,5.68873 -2.84434,5.68868 l -2.13325,-0.71108 0,0.71108 c -7e-5,1.89628 -1.18521,2.84439 -3.55542,2.84434 l -4.26651,-10.66627 -7.11085,-7.82194 1.42217,0 0.71108,0.71109 2.84434,-1.42217 1.42217,1.42217 0.71109,-0.71109 0.71108,0.71109 0,-0.71109 -0.71108,-0.71108 0,-0.71108 1.42217,0 0,-4.26651 -2.13326,1.42217 -2.84434,-2.84434 c -2.25182,7e-5 -4.14805,1.42224 -5.68868,4.26651 l -0.71108,0 c -2.88389,-1.50111 -4.54309,-3.16031 -4.97759,-4.9776 -5e-5,-3.79237 1.65915,-5.6886 4.97759,-5.68868 m -34.84316,4.9776 0.71109,0 -0.71109,2.84434 0.71109,2.13325 -0.71109,2.13326 6.39977,11.37735 -2.84434,2.13326 c 1.42215,5e-5 2.13323,0.47411 2.13325,1.42217 l -0.71108,0.71108 0.71108,0 2.13326,-1.42217 2.13325,0.71109 0,-3.55543 -1.42217,0 0,-1.42217 1.42217,-1.42217 c 0.94809,0.86917 1.42214,3.23945 1.42217,7.11085 l 2.84434,3.55543 -0.71109,22.75471 c -3e-5,9.9552 1.65917,14.93279 4.9776,14.93278 -4e-5,1.06664 2.37024,2.25178 7.11085,3.55542 l 0,3.55543 -0.71109,0.71108 0.71109,0.71109 0,2.84434 -0.71109,0.71108 0,0.71109 c -9.99472,0 -18.05368,-2.84434 -24.17688,-8.53302 -6.6368,-4.50353 -11.37736,-12.08842 -14.2217,-22.75472 l -0.71108,-4.97759 0,-11.37736 c -1e-5,-9.44157 4.02947,-18.68566 12.08844,-27.7323 l 2.13325,-1.42217 m 6.39977,26.31014 0.71108,0 1.42217,-1.42217 -0.71108,0 -1.42217,1.42217 m -3.55543,16.35495 0.71109,0.71108 0.71108,0 0.71109,-2.13325 -0.71109,0 -1.42217,1.42217 m 4.26651,0 -0.71108,2.13325 0.71108,0.71108 0.71109,0 0,-2.84433 -0.71109,0 m 45.50943,2.84433 0,0.71109 -1.42217,2.13325 1.42217,0 2.13325,-1.42217 1.42217,1.42217 -0.71108,0.71109 0.71108,0.71108 0,0.71109 c -1.58026,9.9552 -4.42459,17.06604 -8.53301,21.33254 -4.89865,3.23939 -9.63921,5.13562 -14.2217,5.68868 -1.42222,-2.44929 -2.1333,-4.81957 -2.13326,-7.11085 -4e-5,-3.04185 3.08132,-5.64916 9.24411,-7.82193 3.79239,-3.79243 6.63673,-9.24408 8.53302,-16.35495 l 3.55542,-0.71109"
+           style=""
+           id="path3069" />
+        <path
+           d="m 387.85179,246.59237 7.82193,0 1.42217,1.42217 0,0.71108 -0.71108,0.71109 1.42217,6.39976 0,1.42217 -0.71109,0 0.71109,7.11085 0,2.84434 -0.71109,20.62146 0.71109,0.71108 0,0.71109 -0.71109,2.84434 0,3.55542 0.71109,4.26651 -0.71109,0.71108 0,0.71109 1.42217,12.08844 -0.71108,2.13326 c 5.21456,1.06663 7.82187,2.01475 7.82193,2.84433 -1.06669,6.16274 -2.0148,9.24411 -2.84434,9.24411 l -2.13325,0 -2.13326,-1.42217 -0.71108,0 -2.13326,1.42217 0,-1.42217 -0.71108,0 0,1.42217 0.71108,0.71108 -9.2441,0.71109 -0.71109,-0.71109 -0.71108,0 -4.26651,0.71109 -1.42217,-1.42217 -0.71108,0.71108 -2.13326,0 -1.42217,-1.42217 1.42217,-1.42217 -0.71108,-2.13325 -0.71109,0.71108 -0.71108,0 -2.84434,-6.39976 c 2.84431,10e-6 4.26648,-1.42216 4.26651,-4.26651 l 0,-2.13325 -0.71109,-2.84434 c 0.59254,-2.37026 1.30363,-3.5554 2.13326,-3.55543 l 2.84434,2.84434 2.13325,0 0,-1.42217 0.71109,0 4.2665,4.9776 1.42217,0 c 0.98758,-0.19751 1.93569,-1.38265 2.84434,-3.55543 l -1.42217,-2.13325 -0.71108,0.71108 -0.71109,0 c -1.14567,3e-5 -3.27893,-2.13323 -6.39976,-6.39976 l -0.71108,0.71108 -1.42217,0 0,-0.71108 c -4e-5,-0.94808 0.71105,-1.42214 2.13325,-1.42217 l 0,-1.42217 -0.71108,0 -2.84434,2.13325 0.71108,0.71109 0,0.71108 -0.71108,0.71109 -1.42217,0 -1.42217,-1.42217 0.71108,-0.71109 0,-0.71108 -1.42217,-1.42217 0,-6.39976 4.26651,0 0.71109,-3.55543 -4.26651,-4.26651 2.13325,-1.42217 -0.71108,-3.55542 -0.71109,0.71109 -0.71108,0 -0.71109,-0.71109 0,-4.26651 2.84434,-1.42217 0.71109,0.71109 0.71108,0 0,-0.71109 c -3e-5,-0.94805 -0.71112,-1.42211 -2.13325,-1.42217 l -2.13326,0.71109 0,-1.42217 0.71109,-6.39977 -0.71109,-0.71108 c 0.27651,-9.007 1.69867,-13.51053 4.26651,-13.51061 -3e-5,-1.34308 2.8443,-2.29119 8.53302,-2.84434 m -36.26533,1.42217 4.9776,0.71108 0.71108,-0.71108 4.9776,0.71108 4.97759,0 3.55542,-0.71108 0.71109,0.71108 0,2.13326 c -3e-5,3.67401 -3.08139,7.70349 -9.2441,12.08844 l 0,1.42217 -2.13326,0 c -1e-5,-1.89616 -0.47407,-2.84427 -1.42217,-2.84434 l -0.71108,0 0,3.55542 -0.71109,0 -0.71108,-0.71108 -0.71109,0 c -1e-5,1.26421 -0.71109,2.68638 -2.13325,4.26651 1.89621,0.23709 2.84433,0.94817 2.84434,2.13325 l -2.13326,1.42217 1.42217,2.84434 -0.71108,0.71109 c -4.26652,-0.55302 -6.39977,-1.2641 -6.39977,-2.13326 l 0,-7.82193 2.84434,-2.84434 c -1.42217,-2.33071 -2.13325,-7.07127 -2.13325,-14.2217 l 2.13325,-0.71108 m 50.48703,0 1.42216,0 0.71109,0.71108 0.71108,-0.71108 3.55543,0 c 3.31833,0.1581 4.97753,0.63215 4.97759,1.42217 l 3.55543,-0.71109 2.13325,0 0.71109,0.71109 0.71108,0 -1.42217,23.4658 c -3.00243,5e-5 -5.37271,0.94816 -7.11085,2.84434 l -3.55542,-9.95519 -7.82193,-10.66627 0,-5.68868 1.42217,-1.42217 m -51.19811,1.42217 0,2.84434 3.55542,0.71108 0.71109,-2.84434 -0.71109,-0.71108 -3.55542,0 m 25.59905,24.88797 1.42217,1.42217 0.71109,0 0,-1.42217 -2.13326,0"
+           style=""
+           id="path3071" />
+        <path
+           d="m 428.14661,246.4146 8.53302,0.71108 5.68868,-0.71108 5.68868,0.71108 7.11085,-0.71108 c 2.8443,0.35562 4.26647,0.82968 4.26651,1.42217 l 0.71108,-0.71109 0.71108,0 1.42217,1.42217 0,4.9776 c -3e-5,3.595 -2.37032,5.49122 -7.11084,5.68867 l -1.42217,14.2217 0.71108,0.71108 -0.71108,4.9776 0,14.93278 -0.71109,0.71108 0,0.71109 c 0.94808,3e-5 1.42214,0.71112 1.42217,2.13325 l -0.71108,6.45902 0.71108,12.79953 2.13326,0 c 2.60727,1e-5 4.74052,1.42218 6.39976,4.26651 -0.59261,5.21462 -1.77775,7.82193 -3.55542,7.82193 l -0.71109,-2.13325 -1.42217,0 c -3e-5,1.42217 -0.47409,2.13325 -1.42217,2.13325 l -17.77712,0 -5.68868,-1.42217 -1.42217,0 -4.97759,1.42217 -0.71109,-0.71108 0,-4.9776 1.42217,-1.42217 0.71109,0.71109 0,0.71108 2.84434,-0.71108 0,-2.13326 -1.42217,-1.42216 -3.55543,0 0,-1.42217 c 0,-1.02711 2.84434,-2.21225 8.53302,-3.55543 l 0.71109,-0.71108 c -10e-6,-1.89621 -0.94813,-2.84432 -2.84434,-2.84434 l 0,-14.99204 -0.71109,-3.55542 0.71109,-4.26651 0,-21.33255 -0.71109,-7.11085 0.71109,0 c -0.27654,-1.89615 -1.93574,-2.84426 -4.9776,-2.84434 l -1.42217,-2.13325 0,-3.55542 2.84434,-4.26651 m 25.59906,9.2441 0,0.71108 2.13325,0.71109 0,-2.84434 -0.71108,0 -1.42217,1.42217 m -4.26651,5.68868 0,2.13325 2.13325,0 -0.71108,-2.13325 -1.42217,0 m -5.68868,7.82193 1.42217,1.42217 2.13325,-0.71108 -0.71108,-2.13326 -1.42217,0 -1.42217,1.42217 m 5.68868,7.11085 0.71108,0.71108 2.84434,0 0,-2.13325 -2.13325,0 -1.42217,1.42217 m -13.51061,12.08844 0,0.71109 2.13325,0 -0.71108,-2.13326 -1.42217,1.42217 m 5.68867,7.11085 0.71109,0.71108 1.42217,0 0,-2.13325 -0.71109,0 -1.42217,1.42217 m -4.2665,23.52506 -1.42217,4.2665 0.71108,2.13326 0.71109,0 2.84434,-4.9776 -0.71109,-0.71108 -2.13325,-0.71108 m 16.35495,1.42216 -0.71109,4.26651 0,2.13326 0.71109,0 1.42217,-6.39977 -1.42217,0"
+           style=""
+           id="path3073" />
+        <path
+           d="m 518.92842,246.35534 1.42217,0 0,0.71108 c -0.47411,1.89631 -1.42222,2.84442 -2.84434,2.84434 l 0.71109,6.39977 -0.71109,0 -0.71108,-0.71109 -0.71109,0 0.71109,-0.71108 0,-1.42217 -0.71109,0.71108 -0.71108,0 -0.71109,-0.71108 0,-3.55543 c 1.14559,8e-5 2.56776,-1.18506 4.26651,-3.55542 m -25.59905,2.84434 0.71108,0 1.42217,1.42217 0,0.71108 -0.71108,-0.71108 -0.71109,0 -1.42217,1.42217 -0.71108,-0.71109 0,-0.71108 1.42217,-1.42217 m 9.95518,0.71108 0.71109,0 1.42217,1.42217 -0.71109,2.84434 0.71109,2.13326 c -3.23942,1.9358 -5.84673,4.54311 -7.82193,7.82193 l 0.71108,0.71109 c -0.79013,8.53307 -1.50121,12.79957 -2.13325,12.79952 l 0.71108,2.13326 -0.71108,19.19929 c -3e-5,13.62914 4.26647,21.21404 12.79952,22.75471 l 0.71109,6.39976 c -0.98766,2.84434 -2.88389,4.26651 -5.68868,4.26651 -14.53776,0 -25.44105,-9.00707 -32.7099,-27.02122 -10e-6,-2.96283 -1.18515,-5.80716 -3.55543,-8.53302 l 0,-4.26651 1.42217,-2.13325 0,-1.42217 -0.71108,-7.11085 c 0,-7.50584 4.2665,-16.03885 12.79953,-25.59905 l 3.55542,-2.84434 1.42217,0 0,2.13325 -2.13326,2.13326 0.71109,3.55542 0.71108,0 c -2e-5,-1.89616 0.47404,-2.84427 1.42217,-2.84434 l 0,4.26651 2.13326,0 -1.42217,-3.55542 0.71108,-0.71109 -1.42217,0 0,-2.13325 1.42217,0 c 2.37026,0.90868 3.5554,3.04193 3.55543,6.39976 l 0.71108,0 c -2e-5,-3.63436 0.71106,-6.00464 2.13326,-7.11085 l 0,-0.71108 -0.71109,0.71108 -2.84434,0 0,-0.71108 2.84434,-1.42217 1.42217,0 c -3e-5,0.94819 0.94808,1.42224 2.84434,1.42217 l 1.42217,2.84434 0.71109,0 2.84433,-2.84434 -0.71108,-0.71109 0,-0.71108 0.71108,-3.55543 m 32.70991,0 c 9.9551,5.41222 14.93269,12.76009 14.93278,22.04363 l -0.71109,0 c -0.94819,6e-5 -1.42225,-0.71102 -1.42217,-2.13325 l -2.84434,1.42217 0,0.71108 0.71109,3.55543 -0.71109,0.71108 0.71109,0.71109 1.42217,0 0,-1.42217 c 2.84425,5e-5 4.26642,4.50358 4.26651,13.51061 l -0.71109,0.71108 0,0.71109 0.71109,2.13325 c -1.54077,7.18989 -3.437,13.35262 -5.68868,18.48821 l -2.13326,0 0,-1.42217 -0.71108,0 0,1.42217 1.42217,1.42217 c -8e-5,2.25178 -3.5555,6.75531 -10.66627,13.51061 l -1.42217,0 0,-1.42217 -1.42217,1.42217 0.71108,2.13325 c -2.64688,2.37028 -7.38744,4.02948 -14.22169,4.9776 l -1.42217,0 -3.55543,-5.68868 c -5e-5,-2.25177 2.60726,-4.85907 7.82193,-7.82193 1.77766,10e-6 3.43686,-5.9257 4.9776,-17.77712 l -0.71109,-9.24411 2.13326,-0.71108 0,-3.55543 -1.42217,0 0,-9.2441 c -6e-5,-0.94806 0.94805,-1.42212 2.84434,-1.42217 l -3.55543,-3.55542 0,-0.71109 0.71109,-0.71108 c -6e-5,-6.08367 -1.65926,-11.29828 -4.9776,-15.64387 l 0,-0.71108 1.42217,-1.42217 0,0.71108 2.84434,-1.42217 0.71109,0.71109 0,0.71108 -0.71109,0.71109 c 0.94806,7e-5 1.42211,0.71115 1.42217,2.13325 l 7.11085,-3.55542 c -7e-5,-2.56773 0.71102,-4.22693 2.13326,-4.9776 m -47.64269,0.71109 1.42217,0 0,0.71108 -1.42217,1.42217 0,-2.13325 m 39.10967,1.42217 0.71108,0 1.42217,1.42217 0,0.71108 -2.13325,0 0,-2.13325 m 8.53302,2.13325 0,0.71109 1.42217,1.42217 0,-3.55543 -1.42217,1.42217 m -39.10967,3.55543 0,1.42217 0.71109,0 1.42217,-1.42217 -2.13326,0 m 44.79834,12.79952 c -7e-5,0.94817 -0.94818,1.42223 -2.84433,1.42217 l -0.71109,0.71109 0,0.71108 1.42217,1.42217 0,0.71109 -0.71108,0.71108 0,0.71109 0.71108,0.71108 0.71108,0 c 1.58012,5e-5 3.23931,-0.71103 4.9776,-2.13325 l -2.13326,-4.9776 -1.42217,0 m -57.59787,2.84434 0,4.26651 1.42217,1.42217 0,-0.71108 -0.71108,-4.9776 -0.71109,0 m 64.70872,-0.71108 0,0.71108 -1.42217,1.42217 0,-0.71108 1.42217,-1.42217 m -71.81956,4.26651 0,1.42217 2.13325,0 c -10e-6,0.94816 -0.94813,1.42222 -2.84434,1.42217 l 0,0.71108 2.84434,1.42217 2.13326,-2.13325 0,-2.13326 c -2e-5,-0.94806 -0.7111,-1.42212 -2.13326,-1.42217 l -2.13325,0.71109 m 56.88678,6.39976 0,2.13325 2.13326,-2.13325 -2.13326,0 m -47.64268,5.68868 0,1.42217 1.42217,1.42217 0,-2.84434 -1.42217,0 m -2.84434,4.97759 0,0.71109 c 1.42215,1.22468 2.13323,3.1209 2.13325,5.68868 l 2.13326,0.71108 0,-0.71108 -0.71109,-2.13326 0.71109,-4.26651 -2.13326,-0.71108 -2.13325,0.71108 m 7.11085,-0.71108 0,0.71108 1.42217,1.42217 0,-0.71108 -1.42217,-1.42217 m 50.48702,0.71108 -0.71109,0.71109 0,2.13325 4.9776,0.71109 0.71108,0 0,-1.42217 c -1.58026,3e-5 -3.23946,-0.71105 -4.97759,-2.13326 m -3.55542,14.93278 -0.71109,0.71109 0.71109,2.84434 2.13325,-2.13326 -2.13325,-1.42217 m 3.55542,0.71109 0,1.42217 1.42217,1.42217 0.71108,-2.84434 -2.13325,0 m -19.91038,12.79953 0,0.71108 1.42217,2.13325 -2.13325,0.71109 0.71108,0.71108 0,0.71109 c 2.0937,-1.42217 3.98992,-2.13325 5.68868,-2.13326 l -0.71108,-2.84433 -4.9776,0"
+           style=""
+           id="path3075" />
+        <path
+           d="m 615.39895,247.00717 5.68868,0 4.26651,0.71108 0.71108,-0.71108 0.71109,0 4.97759,1.42217 2.13325,-0.71109 0.71109,0.71109 0,1.42217 c -8e-5,4.74064 -2.13333,7.11092 -6.39976,7.11085 l -2.13326,-0.71109 0,0.71109 c -7e-5,1.06669 -1.18521,1.77778 -3.55542,2.13325 l -6.39977,-2.13325 0,0.71108 0.71109,0.71108 0,0.71109 -0.71109,2.84434 c 0.94805,7e-5 1.42211,0.71115 1.42217,2.13325 l 1.42217,0 c 0.11845,-1.89616 1.06656,-2.84427 2.84434,-2.84434 l 1.42217,1.42217 0.71109,-0.71108 0.71108,0 0.71109,0.71108 0,0.71109 -1.42217,1.42217 -4.9776,0 -0.71108,3.55542 0,0.71109 1.42217,2.13325 -0.71109,0.71109 0.71109,2.84434 1.42217,0 0,-2.84434 1.42217,0 4.97759,7.11084 -0.71108,3.55543 0.71108,2.84434 c -0.31611,7.11088 -1.02719,10.6663 -2.13325,10.66627 -6.63686,-6.99229 -9.95525,-11.96988 -9.95519,-14.93278 l -0.71109,-9.2441 0.71109,-0.71109 0,-0.71108 -0.71109,-4.26651 0,-2.84434 0.71109,-0.71109 c -6e-5,-1.06656 -1.42223,-2.72575 -4.26651,-4.97759 l 0,-0.71108 -0.71109,0 c -5e-5,1.42224 -0.47411,2.13332 -1.42216,2.13325 l -1.42217,0 -1.42217,-1.42217 0,-3.55542 2.13325,1.42217 2.13325,-0.71109 0.71109,0.71109 0.71108,-0.71109 0,-2.13325 -0.71108,0 -2.13325,0.71108 0,-1.42217 0.71108,-0.71108 0,-0.71109 c -1.89628,8e-5 -2.84439,-0.47398 -2.84434,-1.42217 1.65915,-1.42209 4.50348,-2.13317 8.53302,-2.13325 m -36.26533,1.42217 2.13326,0 2.13325,2.13325 -0.71108,0.71109 -0.71109,-0.71109 -1.42217,0 -3.55542,4.26651 -7.82193,-1.42217 0,0.71109 -2.13326,2.84434 -2.84434,-4.26651 c 1.42216,-2.37021 3.08136,-3.55535 4.9776,-3.55543 l 0,0.71109 0.71108,0.71108 0,0.71109 c 3.75293,-1.89615 6.83429,-2.84426 9.2441,-2.84434 m 9.95519,0 c 4.02944,2.6864 10.19217,12.64157 18.48821,29.86556 9.7971,15.20935 16.43389,26.82372 19.91037,34.84316 l -0.71108,0.71108 0.71108,3.55542 0,2.13326 -0.71108,0.71108 0.71108,0.71109 0,0.71108 -0.71108,0.71109 0,0.71108 0.71108,4.26651 -2.84434,2.13326 -8.53302,-0.71109 -8.53301,0.71109 -34.84316,-62.57547 0.71108,-0.71108 2.84434,-0.71109 1.42217,0 6.39977,0.71109 c 1.42214,6e-5 2.13322,-0.94805 2.13325,-2.84434 l 1.42217,0 0,0.71108 -0.71108,0.71109 0,0.71108 0.71108,0.71109 1.42217,0 2.84434,-0.71109 2.84434,0.71109 -1.42217,-2.84434 2.84434,-2.13326 -2.13326,-3.55542 -0.71108,0 -0.71109,0.71108 -0.71108,0 -1.42217,-2.13325 -5.68868,2.84434 -0.71108,-0.71109 0,-0.71108 0.71108,-0.71108 -1.42217,0 0,-1.42217 0.71109,-0.71109 0,-0.71108 0.71108,0.71108 0.71109,0 c 2.37025,-0.5925 3.55539,-1.30358 3.55542,-2.13325 -3e-5,-0.79002 -1.4222,-1.73813 -4.26651,-2.84434 l 0,-0.71109 0.71109,-0.71108 3.55542,0 m -29.15448,2.84434 2.13326,3.55542 -0.71109,0 0.71109,0.71109 0,2.13325 c -2.4493,7e-5 -3.87147,-0.71101 -4.26651,-2.13325 0.31603,-2.84427 1.02712,-4.26644 2.13325,-4.26651 m 7.11085,6.39976 0.71109,0 0.71108,2.13325 -0.71108,0.71109 -0.71109,0 -0.71108,-0.71109 0.71108,-2.13325 m -1.42217,7.82193 1.42217,0 c 0.9481,7e-5 1.65919,1.89629 2.13326,5.68868 3.67392,4.14805 6.51825,8.17753 8.53301,12.08844 l 0,1.42217 -0.71108,0.71109 0,0.71108 c 4.74054,5e-5 7.11082,6.3998 7.11085,19.19929 l -1.42217,1.42217 c 0.94808,2e-5 1.65917,3.08139 2.13325,9.2441 3.79242,0.82962 5.68864,2.25178 5.68868,4.26651 l -0.71108,2.13326 0.71108,4.26651 0,0.71108 -1.42217,2.13326 -3.55542,-0.71109 -4.9776,0.71109 0,-0.71109 -0.71108,0.71109 -6.39977,0 -11.37735,-0.71109 -2.84434,0.71109 c -1.42217,-1.85672 -2.13326,-4.46403 -2.13326,-7.82194 2.09375,-1.42216 4.227,-2.13324 6.39977,-2.13325 l 0,-3.55543 -0.71109,-7.11084 c 2.84433,2e-5 4.2665,-0.47404 4.26651,-1.42217 l -2.13325,-2.13326 -0.71109,0.71109 -0.71108,0 -0.71109,-0.71109 0,-8.53302 c -1e-5,-0.94808 0.71108,-1.42213 2.13326,-1.42216 l 0,-2.13326 c -10e-6,-0.94808 -0.7111,-1.42213 -2.13326,-1.42217 l 0,-2.13325 -0.71108,-5.68868 1.42217,-9.2441 -0.71109,-0.71109 0,-0.71108 c 0.94811,-5.21457 1.89622,-7.82187 2.84434,-7.82194 m 0.71109,21.33255 0,0.71108 2.84434,0.71109 0.71108,-0.71109 0,-2.13325 -2.13325,0 -1.42217,1.42217 m 31.99881,-0.71109 -0.71108,0.71109 0,1.42217 2.13325,0 0,-0.71109 -1.42217,-1.42217 m -6.39976,7.82194 2.13325,1.42217 0.71109,0 1.42217,-1.42217 -0.71109,-2.13326 -1.42217,0 -2.13325,2.13326 m -18.48821,-1.42217 0,2.84434 0.71109,0 2.13325,-0.71109 0,-1.42217 -2.84434,-0.71108 m 29.86557,1.42217 0.71108,2.13325 2.13326,0 -0.71109,-3.55542 -2.13325,1.42217 m -38.39858,2.84433 0,2.13326 c 1.42215,3e-5 2.13324,0.94814 2.13325,2.84434 l 0.71109,0.71108 1.42217,0 1.42217,-1.42217 0,-1.42217 c -2.3703,3e-5 -3.55544,-0.94808 -3.55543,-2.84434 l -2.13325,0 m 13.51061,2.13326 -0.71109,2.13325 2.84434,0.71109 0.71109,-0.71109 0,-2.13325 -2.84434,0 m -4.26651,6.39976 0,2.84434 2.13325,0 1.42217,-1.42217 -1.42217,-1.42217 -2.13325,0 m 29.15448,2.13326 2.13325,1.42217 0.71109,-2.84434 -1.42217,0 -1.42217,1.42217 m -33.42099,4.26651 2.13326,2.84434 0,-2.84434 -2.13326,0 m 4.97759,8.53301 0,1.42217 1.42217,1.42217 1.42217,0 0,-0.71108 -0.71108,-2.13326 -2.13326,0"
+           style=""
+           id="path3077" />
+      </g>
+    </g>
+    <g
+       id="0jet"
+       inkscape:label="#g4022"
+       transform="matrix(2.0355441,0,0,-2.0355441,81.332106,445.30839)"
+       inkscape:export-filename="/home/xymus/projects/nit/contrib/action_nitro/assets/textures/jet.png"
+       inkscape:export-xdpi="179.97391"
+       inkscape:export-ydpi="179.97391">
+      <g
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         transform="matrix(0.16977,-0.05801,0.058,0.16975,0,-5.2435809)"
+         id="g3034">
+        <path
+           inkscape:connector-curvature="0"
+           id="path3036"
+           style="fill:#3d3d3d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:11.85169983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+           d="m 1466.0575,1309.0277 102.6731,-2e-4 -8e-4,-20.124 -102.6718,5e-4 -5e-4,20.1237 z" />
+      </g>
+      <g
+         transform="translate(0,-5.2435809)"
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         style="stroke:#000000;stroke-opacity:1"
+         id="g3038">
+        <g
+           style="stroke:#000000;stroke-width:2.4000001;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           id="g3040">
+          <g
+             style="stroke:#000000;stroke-width:2.4000001;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+             id="g3046">
+            <path
+               sodipodi:nodetypes="cccccccccccccc"
+               inkscape:connector-curvature="0"
+               id="path3054"
+               style="fill:#808080;fill-rule:evenodd;stroke:#000000;stroke-width:2.4000001;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+               d="m 283.3914,146.804 20.054,0 35.02974,26.03389 c 7.65072,4.9332 5.78223,-2.78273 1.64701,-13.6203 l -6.56935,-17.87709 0,-10.1148 -55.2119,-7.4739 c -50.54461,-9.02219 -105.43483,-3.43295 -161.36865,-0.56337 l -8.504,2.1911 0,4.1426 20.08079,11.6124 23.46429,14.50799 c 36.22149,1.35537 72.45912,0.88389 108.69561,0.7595 z" />
+          </g>
+        </g>
+      </g>
+      <g
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         transform="matrix(0,-0.62,1,0,0,-5.2435809)"
+         id="g3168">
+        <path
+           inkscape:connector-curvature="0"
+           id="path3170"
+           style="fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none"
+           d="m -233.4855,303.5392 0,23.5293 5.4227,0 0,-23.5293 -5.4227,0 z" />
+      </g>
+      <g
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         style="fill:#363636;fill-opacity:1"
+         transform="matrix(0.5,0,0,0.5,0,-5.2435809)"
+         id="g3064">
+        <path
+           inkscape:connector-curvature="0"
+           id="path3066"
+           style="fill:#363636;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.25199986;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+           d="m 608.1134,292.0473 48.3925,-1.44 0,-6.4862 -48.3925,-1.44 0,9.3662 z" />
+      </g>
+      <g
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         transform="matrix(0.5,0,0,0.5,0,-4.4368759)"
+         id="g3120">
+        <path
+           sodipodi:nodetypes="ccccccc"
+           inkscape:connector-curvature="0"
+           id="path3122"
+           style="fill:none;stroke:#000000;stroke-width:2.83459997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+           d="m 390.1255,238.9912 0.9161,62.25215 c 0,4.7333 5.0389,9.9246 8.2455,10.0777 l 23.9499,0.0811 m 172.332,-18.65125 11.8737,-16.4075 61.1337,0" />
+      </g>
+      <g
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         transform="matrix(0,-0.62,1,0,0,-5.2435809)"
+         id="g3180">
+        <path
+           sodipodi:nodetypes="ccccc"
+           inkscape:connector-curvature="0"
+           id="path3182"
+           style="fill:#ffffff;fill-opacity:0.25;fill-rule:evenodd;stroke:none"
+           d="m -239.053,308.6116 -28.14133,24.19614 1.6319,3.206 28.14133,-24.19594 z" />
+      </g>
+      <g
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         transform="matrix(0.34324362,0,0,1,99.092245,-5.2435809)"
+         id="g3184">
+        <path
+           inkscape:connector-curvature="0"
+           id="path3186"
+           style="fill:#ffffff;fill-opacity:0.25;fill-rule:evenodd;stroke:none"
+           d="m 594.2336,137.0781 82.8561,0 0,-1.9208 -82.8561,0 0,1.9208 z" />
+      </g>
+      <path
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         sodipodi:nodetypes="ccccccccccc"
+         inkscape:connector-curvature="0"
+         id="path3200"
+         style="fill:#000000;fill-opacity:0.4;fill-rule:evenodd;stroke:none"
+         d="m 334.5038,127.84582 -56.8948,0 -50.65786,-8.80839 -57.87233,2.00473 -60.23489,0.32993 8.57843,-2.88854 101.41604,-5.52988 39.01032,2.6147 19.76029,2.30125 55.7768,8.1054 z" />
+      <g
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         transform="matrix(0.48714,0.11267,-0.11267,0.48714,0,-5.2435809)"
+         id="g3224">
+        <path
+           sodipodi:nodetypes="ccccc"
+           inkscape:connector-curvature="0"
+           id="path3226-3"
+           style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.25199986;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+           d="m 315.7121,218.3312 c 16.3383,10.1738 30.94179,19.10258 50.15564,17.01434 0.1604,-12.8041 -1.51174,-38.38984 -6.92054,-39.08174 -11.2144,0.0416 -25.3936,1.0825 -39.3245,2.3519 -9.3305,1.3929 -6.2464,12.5322 -3.9106,19.7155 z" />
+      </g>
+      <path
+         inkscape:connector-curvature="0"
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         id="path3320-6"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="m 132.2376,127.45922 4.6761,1.2541 5.282,3.8415 -0.5921,2.539 -2.7692,-0.1381 2.401,6.2425 4.3217,2.8811 3.3613,-0.9604 2.1708,1.4406 2.2858,-8.1632 -0.9604,-5.6472 -10.699,-2.9962 c 0,0 -8.0374,0.1865 -9.478,-0.2937" />
+      <path
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         sodipodi:nodetypes="ccccc"
+         inkscape:connector-curvature="0"
+         id="path3326-7"
+         style="fill:#ffffff;fill-opacity:0.5;fill-rule:evenodd;stroke:none"
+         d="m 132.19139,136.27266 c 1.85888,5.07433 8.66295,10.17265 16.35211,12.9367 l 1.18429,-3.06563 -17.95909,-11.67495 z" />
+      <path
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         sodipodi:nodetypes="cccccccccccccccccccccccc"
+         inkscape:connector-curvature="0"
+         id="path3350"
+         style="fill:none;stroke:#000000;stroke-width:1.41729999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+         d="m 128.0738,123.30112 c 1.3337,0.2636 44.7032,3.8687 57.3891,7.1393 2.2105,0.5698 2.7026,4.0524 2.8579,6.5384 l 1.455,14.28912 m 43.40083,-0.17519 c 0.3101,-0.9304 0.9303,-27.5998 0.9303,-27.5998 m -0.4762,7.9256 27.36066,-15.63864 m -27.36066,22.54384 50.2948,-10.48716 m -50.2948,14.16996 49.54504,-1.15311 m -111.33217,-17.56912 7.5061,0.7507 m -35.2788,-3.7531 8.2567,1.1259 m 3.7531,4.1284 4.9646,-10.46474 m 23.1834,14.21784 2.6272,-16.1383 m 98.7528,6.5835 -1.1656,7.8679 16.9013,2.1855 1.0199,-7.8679" />
+      <path
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         inkscape:connector-curvature="0"
+         id="path3436-5"
+         style="fill:#990000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.41729999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:22.92558479;stroke-opacity:1;stroke-dasharray:none"
+         d="m 170.97111,145.66713 c 3.7094,0 6.7176,-3.0081 6.7176,-6.7175 0,-3.7094 -3.0082,-6.7175 -6.7176,-6.7175 -3.7094,0 -6.7175,3.0081 -6.7175,6.7175 0,3.7094 3.0081,6.7175 6.7175,6.7175 z" />
+      <path
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         inkscape:connector-curvature="0"
+         id="path3438-3"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.41729999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:22.92558479;stroke-opacity:1;stroke-dasharray:none"
+         d="m 170.97111,142.39033 c 1.9001,0 3.4407,-1.5406 3.4407,-3.4407 0,-1.9001 -1.5406,-3.4407 -3.4407,-3.4407 -1.9,0 -3.4407,1.5406 -3.4407,3.4407 0,1.9001 1.5407,3.4407 3.4407,3.4407 z" />
+      <path
+         inkscape:connector-curvature="0"
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         id="path3446-5"
+         style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.41729999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:22.92558479;stroke-opacity:1;stroke-dasharray:none"
+         d="m 327.2723,127.89572 c 1.9154,0 3.4685,-1.5531 3.4685,-3.4684 0,-1.9154 -1.5531,-3.4685 -3.4685,-3.4685 -1.9154,0 -3.4685,1.5531 -3.4685,3.4685 0,1.9153 1.5531,3.4684 3.4685,3.4684 z" />
+      <g
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         transform="matrix(0.94725069,-0.32049358,0.32049358,0.94725069,-21.556841,-44.867079)"
+         id="g3992">
+        <g
+           id="g3460"
+           transform="matrix(0,-0.99,1,0,0,112)">
+          <path
+             d="m -128.0982,162.4439 c -2.1095,6.1634 1.228,12.8551 7.4537,14.9437 6.2254,2.0886 12.9849,-1.2158 15.0945,-7.3792 2.1098,-6.163 -1.2283,-12.8551 -7.4537,-14.9436 -6.2252,-2.0886 -12.985,1.216 -15.0945,7.3791 z"
+             style="fill:#666666;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.12829995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+             id="path3462"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           id="g3464"
+           transform="matrix(0,-0.99,1,0,0,112)">
+          <path
+             d="m -125.1887,163.4202 c -1.5653,4.5725 0.9113,9.5374 5.5301,11.0871 4.619,1.5494 9.6341,-0.9023 11.1991,-5.4748 1.5653,-4.5729 -0.9111,-9.5378 -5.5298,-11.0872 -4.6191,-1.5497 -9.6341,0.902 -11.1994,5.4749 z"
+             style="fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.12829995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+             id="path3466"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           id="g3468-6"
+           transform="matrix(0,-0.99,1,0,0,112)">
+          <path
+             d="m -122.2795,164.3961 c -1.0208,2.9821 0.5944,6.2201 3.6068,7.2309 3.0124,1.0106 6.283,-0.5884 7.3037,-3.5705 1.0208,-2.9823 -0.5941,-6.2203 -3.6065,-7.2309 -3.0121,-1.0105 -6.283,0.5882 -7.304,3.5705 z"
+             style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.12829995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+             id="path3470"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           id="g3472"
+           transform="matrix(0.05604,0.83813,-0.99777,0.06672,0,112)">
+          <path
+             d="m 132.1313,-116.0104 18.6339,-37.7036 -5.2838,-1.8426 -18.6338,37.7037 5.2837,1.8425 z"
+             style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.53110003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+             id="path3474"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           id="g3476"
+           transform="matrix(0,-0.89,1,0,0,112)">
+          <path
+             d="m -122.0306,125.1899 -14.7215,38.664 15.0216,4.5303 14.7215,-38.6637 -15.0216,-4.5306 z"
+             style="fill:#666666;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.36129999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+             id="path3478-2"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           id="g3480"
+           transform="matrix(0.059,0.83793,-0.99753,0.07024,0,112)">
+          <path
+             d="m 133.1436,-119.471 18.7926,-37.6477 -6.5838,-2.3191 -18.7923,37.6481 6.5835,2.3187 z"
+             style="fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.52060008;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+             id="path3482-9"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           id="g3484-1"
+           transform="matrix(0.05604,0.83813,-0.99777,0.06672,0,112)">
+          <path
+             d="m 135.3583,-118.9176 18.6338,-37.7034 -5.2838,-1.8425 -18.6341,37.7033 5.2841,1.8426 z"
+             style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.53110003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+             id="path3486-2"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           id="g3488"
+           transform="matrix(0,-0.78,1,0,0,112)">
+          <path
+             d="m -155.6351,160.3128 -1.3686,3.1502 19.1778,5.0692 1.3686,-3.1505 -19.1778,-5.0689 z m 7.6615,-17.6354 -1.3686,3.1504 19.1778,5.0689 1.3689,-3.1501 -19.1781,-5.0692 z m 7.7834,-17.9153 -1.3686,3.1504 19.1778,5.0689 1.3688,-3.1501 -19.178,-5.0692 z"
+             style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.35870004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+             id="path3490-7"
+             inkscape:connector-curvature="0" />
+        </g>
+        <path
+           d="m 130.9246,217.882 7.0569,2.3913 0.4881,-1.4403 -7.0568,-2.3913 -0.4882,1.4403 z"
+           style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+           id="path3492-0"
+           inkscape:connector-curvature="0" />
+        <path
+           d="m 125.9152,220.8192 1.1523,0.3903 0.781,-2.3042 -1.1523,-0.3904 -0.781,2.3043 z"
+           style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+           id="path3494-9"
+           inkscape:connector-curvature="0" />
+        <path
+           d="m 143.7735,226.8709 1.1523,0.3903 0.7807,-2.3043 -1.152,-0.3903 -0.781,2.3043 z"
+           style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+           id="path3496-3"
+           inkscape:connector-curvature="0" />
+        <path
+           d="m 161.6318,232.9226 1.152,0.3903 0.7809,-2.3043 -1.152,-0.3903 -0.7809,2.3043 z"
+           style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+           id="path3498-6"
+           inkscape:connector-curvature="0" />
+      </g>
+      <g
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         transform="matrix(-0.5,0,0,-0.5,436.03489,354.51072)"
+         id="g3342">
+        <path
+           sodipodi:nodetypes="ccccc"
+           inkscape:connector-curvature="0"
+           id="path3344-0"
+           style="fill:#3d3d3d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.25199986;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+           d="m 307.05151,447.28794 c 59.05222,1.14385 129.9799,3.18458 177.56552,5.24358 17.31535,-0.4186 20.30571,-5.86311 21.51178,-10.49954 -0.92361,-7.74232 -8.76719,-11.44383 -27.54025,-13.31063 -60.14005,2.34549 -101.41911,-2.64393 -171.53705,18.56659 z" />
+        <path
+           d="m 307.05151,447.28794 c 62.4478,5.38833 130.44529,3.76632 177.56552,5.24358 17.31535,-0.4186 20.30571,-5.86311 21.51178,-10.49954 -0.92361,-7.74232 -8.76719,-11.44383 -27.54025,-13.31063 -60.14005,2.34549 -101.41911,-2.64393 -171.53705,18.56659 z"
+           style="fill:#3d3d3d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.25199986;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
+           id="path4014"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccccc" />
+      </g>
+      <g
+         inkscape:export-ydpi="179.97391"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/hollnit/assets/textures/jet.png"
+         style="fill:#ffffff;fill-opacity:0.13274339;stroke:none"
+         id="g4016"
+         transform="matrix(-0.41375884,0,0,-0.41375884,400.97008,316.51058)">
+        <path
+           sodipodi:nodetypes="ccccc"
+           inkscape:connector-curvature="0"
+           id="path4020"
+           style="fill:#ffffff;fill-opacity:0.13274339;fill-rule:evenodd;stroke:none"
+           d="m 325.57364,441.43885 c 67.00111,-7.35899 114.4588,-7.8172 160.50566,-6.2109 17.31535,-0.4186 27.37337,2.66682 28.57944,-1.96961 -7.50384,-3.59921 -16.8097,-3.88875 -36.07018,-4.53699 -60.02508,3.03534 -81.85342,-2.23166 -153.01492,12.7175 z" />
+      </g>
+    </g>
+  </g>
+</svg>
index 6b6fef3..5835292 100644 (file)
@@ -7,6 +7,7 @@
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    id="svg2998"
        is_visible="true" /><inkscape:path-effect
        effect="spiro"
        id="path-effect4264-1"
-       is_visible="true" /></defs><sodipodi:namedview
+       is_visible="true" /><linearGradient
+       inkscape:collect="always"
+       xlink:href="#gradient24"
+       id="linearGradient3425"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,-0.04882812,0.04882812,0,860,372)"
+       spreadMethod="pad"
+       x1="-819.20001"
+       x2="819.20001" /><linearGradient
+       gradientUnits="userSpaceOnUse"
+       x1="-819.20001"
+       x2="819.20001"
+       spreadMethod="pad"
+       gradientTransform="matrix(0,-0.04882812,0.04882812,0,880,380)"
+       id="gradient24"><stop
+         offset="0"
+         stop-color="#383838"
+         id="stop127" /><stop
+         offset="1"
+         stop-color="#585858"
+         id="stop129" /></linearGradient><linearGradient
+       inkscape:collect="always"
+       xlink:href="#gradient46"
+       id="linearGradient3849"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,-0.04882812,0.04882812,0,770,462)"
+       spreadMethod="pad"
+       x1="-819.20001"
+       x2="819.20001" /><linearGradient
+       gradientUnits="userSpaceOnUse"
+       x1="-819.20001"
+       x2="819.20001"
+       spreadMethod="pad"
+       gradientTransform="matrix(0,-0.04882812,0.04882812,0,790,470)"
+       id="gradient46"><stop
+         offset="0"
+         stop-color="#383838"
+         id="stop237" /><stop
+         offset="1"
+         stop-color="#585858"
+         id="stop239" /></linearGradient><inkscape:path-effect
+       effect="spiro"
+       id="path-effect4264-1-3"
+       is_visible="true" /><inkscape:path-effect
+       effect="spiro"
+       id="path-effect4268-0-6"
+       is_visible="true" /><inkscape:path-effect
+       is_visible="true"
+       id="path-effect4274-7-7"
+       effect="spiro" /><inkscape:path-effect
+       is_visible="true"
+       id="path-effect4276-0-5"
+       effect="spiro" /></defs><sodipodi:namedview
      pagecolor="#595959"
      bordercolor="#666666"
      borderopacity="1"
      inkscape:window-height="1379"
      id="namedview3000"
      showgrid="false"
-     inkscape:zoom="2.8049194"
-     inkscape:cx="372.82459"
-     inkscape:cy="38.691257"
-     inkscape:window-x="2822"
+     inkscape:zoom="1.4024597"
+     inkscape:cx="429.44965"
+     inkscape:cy="25.150576"
+     inkscape:window-x="2560"
      inkscape:window-y="27"
      inkscape:window-maximized="0"
      inkscape:current-layer="g3006"
      inkscape:label="tutorial_helicoper_modification"
      transform="matrix(1.25,0,0,-1.25,0,372.04725)"><g
        id="g3060"
-       transform="matrix(0.5,0,0,0.5,188.81113,-36.021046)"><path
+       transform="matrix(0.5,0,0,0.5,126.69487,-36.021046)"><path
          d="m 278.6899,225.0839 36.3668,11.3386 104.3989,0 c 3.1164,0 5.9504,-1.2756 8.0044,-3.3296 2.0546,-2.0545 3.3296,-4.8898 3.3296,-8.005 l 0,-8.4087 c 0,-3.1159 -1.275,-5.9511 -3.3296,-8.0051 -2.054,-2.0545 -4.9033,-3.0772 -8.0044,-3.3295 l -104.3989,-8.504 -36.3668,8.504 c -3.0308,0.7092 -5.9505,1.275 -8.005,3.3295 -4.6704,4.6704 -4.6704,8.4093 0,13.0802 2.0545,2.054 5.0292,2.4015 8.005,3.3296 z"
          style="fill:#5c753d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.25199986;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3062"
          inkscape:connector-curvature="0" /></g><g
        id="g3104"
-       transform="matrix(0.5,0,0,0.5,135.19105,-96)"><path
+       transform="matrix(0.5,0,0,0.5,73.074787,-96)"><path
          d="m 411.6971,240.9636 70.3032,0 -14.1732,-24.7085 -61.7993,0 5.6693,24.7085 z"
          style="fill:#5c753d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.25199986;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3106"
          inkscape:connector-curvature="0" /></g><g
        id="g3132"
-       transform="matrix(0.5,0,0,0.5,135.19105,-96)"><path
+       transform="matrix(0.5,0,0,0.5,73.074787,-96)"><path
          d="m 408.9305,256.8518 c 40.8818,-1.8522 64.0562,-6.8893 99.7455,-11.3386 0,-1.66 0,-3.3199 0,-4.9805 -37.0278,0 -85.3948,0 -122.4226,0 -13.8558,0.8215 3.3222,15.4698 22.6771,16.3191 z"
          style="fill:#5c753d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.25199986;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3134"
          inkscape:connector-curvature="0" /></g><g
        id="g3140"
-       transform="matrix(0,-0.31,1,0,188.81113,-36.021046)"><path
+       transform="matrix(0,-0.31,1,0,126.69487,-36.021046)"><path
          d="m -374.0315,158.042 0,26.3647 24.7839,0 0,-26.3647 -24.7839,0 z"
          style="fill:#ffffcc;fill-opacity:0.25;fill-rule:evenodd;stroke:none"
          id="path3142"
          inkscape:connector-curvature="0" /></g><g
        id="g3148"
-       transform="matrix(0,-0.14,1,0,135.19105,-96)"><path
+       transform="matrix(0,-0.14,1,0,73.074787,-96)"><path
          d="m -802.2594,242.6817 0,4.6117 20.6645,0 0,-4.6117 -20.6645,0 z"
          style="fill:#ffffff;fill-opacity:0.25;fill-rule:evenodd;stroke:none"
          id="path3150"
          inkscape:connector-curvature="0" /></g><path
-       d="m 343.97203,79.928754 -18.4873,-5.7623 -1.2005,-1.9208 18.7274,0 0.9604,7.6831 z"
+       d="m 281.85577,79.928754 -18.4873,-5.7623 -1.2005,-1.9208 18.7274,0 0.9604,7.6831 z"
        style="fill:#ffffcc;fill-opacity:0.25;fill-rule:evenodd;stroke:none"
        id="path3152"
        inkscape:connector-curvature="0" /><path
-       d="m 346.85313,69.124454 28.091,0.2401 -0.4801,-4.0816 -28.0911,-2.641 -22.1975,5.7685 -1.812,3.5951 24.4897,-2.8811 z"
+       d="m 284.73687,69.124454 28.091,0.2401 -0.4801,-4.0816 -28.0911,-2.641 -22.1975,5.7685 -1.812,3.5951 24.4897,-2.8811 z"
        style="fill:#000000;fill-opacity:0.4;fill-rule:evenodd;stroke:none"
        id="path3208"
        inkscape:connector-curvature="0" /><path
-       d="m 340.77175,24.0314 36.0142,0 -4.472,-5.2033 -31.5422,-0.559 0,5.7623 z"
+       d="m 278.65549,24.0314 36.0142,0 -4.472,-5.2033 -31.5422,-0.559 0,5.7623 z"
        style="fill:#000000;fill-opacity:0.4;fill-rule:evenodd;stroke:none"
        id="path3210"
        inkscape:connector-curvature="0" /><g
        id="g3228"
-       transform="matrix(0,-0.89,1,0,135.19105,-96)"><path
+       transform="matrix(0,-0.89,1,0,73.074787,-96)"><path
          d="m -141.3411,198.858 c 0,1.0608 1.0874,1.9208 2.4279,1.9208 1.3408,0 2.4278,-0.86 2.4278,-1.9208 0,-1.0607 -1.087,-1.9207 -2.4278,-1.9207 -1.3405,0 -2.4279,0.86 -2.4279,1.9207"
          style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
          id="path3230"
          inkscape:connector-curvature="0" /></g><g
        id="g3232"
-       transform="matrix(0,-0.89,1,0,135.19105,-96)"><path
+       transform="matrix(0,-0.89,1,0,73.074787,-96)"><path
          d="m -141.3411,204.5273 c 0,1.0608 1.0874,1.9208 2.4279,1.9208 1.3408,0 2.4278,-0.86 2.4278,-1.9208 0,-1.0607 -1.087,-1.9207 -2.4278,-1.9207 -1.3405,0 -2.4279,0.86 -2.4279,1.9207"
          style="fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none"
          id="path3234"
          inkscape:connector-curvature="0" /></g><path
-       d="m 387.31715,37.5986 4.9553,0 c 0.5454,0 0.9913,-0.4459 0.9913,-0.991 l 0,-1.982 c 0,-0.5451 -0.4459,-0.9913 -0.9913,-0.9913 l -4.9553,0 c -0.5451,0 -0.991,0.4462 -0.991,0.9913 l 0,1.982 c 0,0.5451 0.4459,0.991 0.991,0.991"
+       d="m 325.20089,37.5986 4.9553,0 c 0.5454,0 0.9913,-0.4459 0.9913,-0.991 l 0,-1.982 c 0,-0.5451 -0.4459,-0.9913 -0.9913,-0.9913 l -4.9553,0 c -0.5451,0 -0.991,0.4462 -0.991,0.9913 l 0,1.982 c 0,0.5451 0.4459,0.991 0.991,0.991"
        style="fill:#ffffff;fill-opacity:0.5;fill-rule:evenodd;stroke:none"
        id="path3236"
        inkscape:connector-curvature="0" /><g
        id="g3238"
-       transform="matrix(0.25799,0,0,0.25799,135.19105,-96)"><path
+       transform="matrix(0.25799,0,0,0.25799,73.074787,-96)"><path
          d="m 977.2787,521.8804 19.2073,0 c 2.1137,0 3.842,-1.7283 3.842,-3.8413 l 0,-7.6824 c 0,-2.113 -1.7283,-3.8424 -3.842,-3.8424 l -19.2073,0 c -2.113,0 -3.8413,1.7294 -3.8413,3.8424 l 0,7.6824 c 0,2.113 1.7283,3.8413 3.8413,3.8413 z"
          style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.96920002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3240"
          inkscape:connector-curvature="0" /></g><path
-       d="m 330.58945,32.0869 56.7447,0 c 2.8526,0 5.1863,-2.3338 5.1863,-5.1863 l 0,0 c 0,-2.8528 -2.3337,-5.1866 -5.1863,-5.1866 l -56.7447,0 c -2.8528,0 -5.1866,2.3338 -5.1866,5.1866 l 0,0 c 0,2.8525 2.3338,5.1863 5.1866,5.1863"
+       d="m 268.47319,32.0869 56.7447,0 c 2.8526,0 5.1863,-2.3338 5.1863,-5.1863 l 0,0 c 0,-2.8528 -2.3337,-5.1866 -5.1863,-5.1866 l -56.7447,0 c -2.8528,0 -5.1866,2.3338 -5.1866,5.1866 l 0,0 c 0,2.8525 2.3338,5.1863 5.1866,5.1863"
        style="fill:#a1b387;fill-opacity:1;fill-rule:evenodd;stroke:none"
        id="path3242"
        inkscape:connector-curvature="0" /><g
        id="g3244"
-       transform="translate(135.19105,-96)"><g
+       transform="translate(73.074787,-96)"><g
          id="g3246"
          clip-path="url(#clipPath3248)"><path
            d="m 186.2782,146.1529 28.2639,0 0,-31.7112 -28.2639,0 0,31.7112 z"
            id="path3256"
            inkscape:connector-curvature="0" /></g></g><g
        id="g3258"
-       transform="matrix(0.72769,0,0,0.72769,135.19105,-96)"><path
+       transform="matrix(0.72769,0,0,0.72769,73.074787,-96)"><path
          d="m 268.5186,176.0185 77.9791,0 c 3.9201,0 7.1272,-3.2072 7.1272,-7.1272 l 0,0 c 0,-3.9203 -3.2071,-7.1274 -7.1272,-7.1274 l -77.9791,0 c -3.9203,0 -7.1274,3.2071 -7.1274,7.1274 l 0,0 c 0,3.92 3.2071,7.1272 7.1274,7.1272 z"
          style="fill:none;stroke:#000000;stroke-width:2.9217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3260"
          inkscape:connector-curvature="0" /></g><path
-       d="m 329.75065,28.5606 58.0028,0 c 0.6936,0 1.2611,-0.3773 1.2611,-0.8385 l 0,0 c 0,-0.4612 -0.5675,-0.8385 -1.2611,-0.8385 l -58.0028,0 c -0.6936,0 -1.2609,0.3773 -1.2609,0.8385 l 0,0 c 0,0.4612 0.5673,0.8385 1.2609,0.8385"
+       d="m 267.63439,28.5606 58.0028,0 c 0.6936,0 1.2611,-0.3773 1.2611,-0.8385 l 0,0 c 0,-0.4612 -0.5675,-0.8385 -1.2611,-0.8385 l -58.0028,0 c -0.6936,0 -1.2609,0.3773 -1.2609,0.8385 l 0,0 c 0,0.4612 0.5673,0.8385 1.2609,0.8385"
        style="fill:#ffffff;fill-opacity:0.5;fill-rule:evenodd;stroke:none"
        id="path3262"
        inkscape:connector-curvature="0" /><g
        id="g3264"
-       transform="matrix(0.72769,0,0,0.72769,135.19105,-96)"><path
+       transform="matrix(0.72769,0,0,0.72769,73.074787,-96)"><path
          d="m 332.2434,175.7772 19.565,8.9439 0,-10.6208 -19.565,1.6769 z m 1.118,-14.5335 17.888,-8.9436 0.559,10.0616 -18.447,-1.118 z"
          style="fill:#a1b387;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.9217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3266"
          inkscape:connector-curvature="0" /></g><path
-       d="m 330.58945,23.5829 56.7447,0 c 2.8526,0 5.1863,-2.3337 5.1863,-5.1862 l 0,0 c 0,-2.8528 -2.3337,-5.1866 -5.1863,-5.1866 l -56.7447,0 c -2.8528,0 -5.1866,2.3338 -5.1866,5.1866 l 0,0 c 0,2.8525 2.3338,5.1862 5.1866,5.1862"
+       d="m 268.47319,23.5829 56.7447,0 c 2.8526,0 5.1863,-2.3337 5.1863,-5.1862 l 0,0 c 0,-2.8528 -2.3337,-5.1866 -5.1863,-5.1866 l -56.7447,0 c -2.8528,0 -5.1866,2.3338 -5.1866,5.1866 l 0,0 c 0,2.8525 2.3338,5.1862 5.1866,5.1862"
        style="fill:#a1b387;fill-opacity:1;fill-rule:evenodd;stroke:none"
        id="path3268"
        inkscape:connector-curvature="0" /><g
        id="g3270"
-       transform="translate(135.19105,-96)"><g
+       transform="translate(73.074787,-96)"><g
          id="g3272"
          clip-path="url(#clipPath3274)"><path
            d="m 186.2782,137.649 28.2639,0 0,-31.7112 -28.2639,0 0,31.7112 z"
            id="path3282"
            inkscape:connector-curvature="0" /></g></g><g
        id="g3284"
-       transform="matrix(0.72769,0,0,0.72769,135.19105,-96)"><path
+       transform="matrix(0.72769,0,0,0.72769,73.074787,-96)"><path
          d="m 268.5186,164.3321 77.9791,0 c 3.9201,0 7.1272,-3.2072 7.1272,-7.1269 l 0,0 c 0,-3.9203 -3.2071,-7.1274 -7.1272,-7.1274 l -77.9791,0 c -3.9203,0 -7.1274,3.2071 -7.1274,7.1274 l 0,0 c 0,3.9197 3.2071,7.1269 7.1274,7.1269 z"
          style="fill:none;stroke:#000000;stroke-width:2.9217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3286"
          inkscape:connector-curvature="0" /></g><path
-       d="m 329.75065,20.0566 58.0028,0 c 0.6936,0 1.2611,-0.3773 1.2611,-0.8385 l 0,0 c 0,-0.4612 -0.5675,-0.8384 -1.2611,-0.8384 l -58.0028,0 c -0.6936,0 -1.2609,0.3772 -1.2609,0.8384 l 0,0 c 0,0.4612 0.5673,0.8385 1.2609,0.8385"
+       d="m 267.63439,20.0566 58.0028,0 c 0.6936,0 1.2611,-0.3773 1.2611,-0.8385 l 0,0 c 0,-0.4612 -0.5675,-0.8384 -1.2611,-0.8384 l -58.0028,0 c -0.6936,0 -1.2609,0.3772 -1.2609,0.8384 l 0,0 c 0,0.4612 0.5673,0.8385 1.2609,0.8385"
        style="fill:#ffffff;fill-opacity:0.5;fill-rule:evenodd;stroke:none"
        id="path3288"
        inkscape:connector-curvature="0" /><g
        id="g3290"
-       transform="matrix(0.72769,0,0,0.72769,135.19105,-96)"><path
+       transform="matrix(0.72769,0,0,0.72769,73.074787,-96)"><path
          d="m 332.2434,164.0911 19.565,8.9436 0,-10.6206 -19.565,1.677 z m 1.118,-14.5335 17.888,-8.9439 0.559,10.0619 -18.447,-1.118 z"
          style="fill:#a1b387;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.9217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3292"
          inkscape:connector-curvature="0" /></g><path
-       d="m 330.58945,15.079 56.7447,0 c 2.8526,0 5.1863,-2.3338 5.1863,-5.1863 l 0,0 c 0,-2.8528 -2.3337,-5.1865 -5.1863,-5.1865 l -56.7447,0 c -2.8528,0 -5.1866,2.3337 -5.1866,5.1865 l 0,0 c 0,2.8525 2.3338,5.1863 5.1866,5.1863"
+       d="m 268.47319,15.079 56.7447,0 c 2.8526,0 5.1863,-2.3338 5.1863,-5.1863 l 0,0 c 0,-2.8528 -2.3337,-5.1865 -5.1863,-5.1865 l -56.7447,0 c -2.8528,0 -5.1866,2.3337 -5.1866,5.1865 l 0,0 c 0,2.8525 2.3338,5.1863 5.1866,5.1863"
        style="fill:#a1b387;fill-opacity:1;fill-rule:evenodd;stroke:none"
        id="path3294"
        inkscape:connector-curvature="0" /><g
        id="g3296"
-       transform="translate(135.19105,-96)"><g
+       transform="translate(73.074787,-96)"><g
          id="g3298"
          clip-path="url(#clipPath3300)"><path
            d="m 186.2782,129.145 28.2639,0 0,-31.7111 -28.2639,0 0,31.7111 z"
            id="path3306"
            inkscape:connector-curvature="0" /></g></g><g
        id="g3310"
-       transform="matrix(0.72769,0,0,0.72769,135.19105,-96)"><path
+       transform="matrix(0.72769,0,0,0.72769,73.074787,-96)"><path
          d="m 268.5186,152.646 77.9791,0 c 3.9201,0 7.1272,-3.2072 7.1272,-7.1272 l 0,0 c 0,-3.9203 -3.2071,-7.1274 -7.1272,-7.1274 l -77.9791,0 c -3.9203,0 -7.1274,3.2071 -7.1274,7.1274 l 0,0 c 0,3.92 3.2071,7.1272 7.1274,7.1272 z"
          style="fill:none;stroke:#000000;stroke-width:2.9217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3312"
          inkscape:connector-curvature="0" /></g><path
-       d="m 329.75065,11.5527 58.0028,0 c 0.6936,0 1.2611,-0.3773 1.2611,-0.8385 l 0,0 c 0,-0.4612 -0.5675,-0.8385 -1.2611,-0.8385 l -58.0028,0 c -0.6936,0 -1.2609,0.3773 -1.2609,0.8385 l 0,0 c 0,0.4612 0.5673,0.8385 1.2609,0.8385"
+       d="m 267.63439,11.5527 58.0028,0 c 0.6936,0 1.2611,-0.3773 1.2611,-0.8385 l 0,0 c 0,-0.4612 -0.5675,-0.8385 -1.2611,-0.8385 l -58.0028,0 c -0.6936,0 -1.2609,0.3773 -1.2609,0.8385 l 0,0 c 0,0.4612 0.5673,0.8385 1.2609,0.8385"
        style="fill:#ffffff;fill-opacity:0.5;fill-rule:evenodd;stroke:none"
        id="path3314"
        inkscape:connector-curvature="0" /><g
        id="g3316"
-       transform="matrix(0.72769,0,0,0.72769,135.19105,-96)"><path
+       transform="matrix(0.72769,0,0,0.72769,73.074787,-96)"><path
          d="m 332.2434,152.4047 19.565,8.9439 0,-10.6209 -19.565,1.677 z m 1.118,-14.5332 17.888,-8.9439 0.559,10.0619 -18.447,-1.118 z"
          style="fill:#a1b387;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.9217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3318"
          inkscape:connector-curvature="0" /></g><path
-       d="m 336.25875,26.4176 56.7447,0 c 2.8525,0 5.1863,-2.3338 5.1863,-5.1863 l 0,0 c 0,-2.8528 -2.3338,-5.1865 -5.1863,-5.1865 l -56.7447,0 c -2.8528,0 -5.1866,2.3337 -5.1866,5.1865 l 0,0 c 0,2.8525 2.3338,5.1863 5.1866,5.1863"
+       d="m 274.14249,26.4176 56.7447,0 c 2.8525,0 5.1863,-2.3338 5.1863,-5.1863 l 0,0 c 0,-2.8528 -2.3338,-5.1865 -5.1863,-5.1865 l -56.7447,0 c -2.8528,0 -5.1866,2.3337 -5.1866,5.1865 l 0,0 c 0,2.8525 2.3338,5.1863 5.1866,5.1863"
        style="fill:#a1b387;fill-opacity:1;fill-rule:evenodd;stroke:none"
        id="path3354"
        inkscape:connector-curvature="0" /><g
        id="g3356"
-       transform="translate(135.19105,-96)"><g
+       transform="translate(73.074787,-96)"><g
          id="g3358"
          clip-path="url(#clipPath3360)"><path
            d="m 191.9475,140.4836 28.2639,0 0,-31.7112 -28.2639,0 0,31.7112 z"
            id="path3368"
            inkscape:connector-curvature="0" /></g></g><g
        id="g3370"
-       transform="matrix(0.72769,0,0,0.72769,135.19105,-96)"><path
+       transform="matrix(0.72769,0,0,0.72769,73.074787,-96)"><path
          d="m 276.3094,168.2274 77.9791,0 c 3.92,0 7.1271,-3.2071 7.1271,-7.1268 l 0,0 c 0,-3.9203 -3.2071,-7.1275 -7.1271,-7.1275 l -77.9791,0 c -3.9204,0 -7.1275,3.2072 -7.1275,7.1275 l 0,0 c 0,3.9197 3.2071,7.1268 7.1275,7.1268 z"
          style="fill:none;stroke:#000000;stroke-width:2.9217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3372"
          inkscape:connector-curvature="0" /></g><path
-       d="m 335.41995,22.8913 58.0028,0 c 0.6936,0 1.2611,-0.3773 1.2611,-0.8385 l 0,0 c 0,-0.4612 -0.5675,-0.8385 -1.2611,-0.8385 l -58.0028,0 c -0.6937,0 -1.2609,0.3773 -1.2609,0.8385 l 0,0 c 0,0.4612 0.5672,0.8385 1.2609,0.8385"
+       d="m 273.30369,22.8913 58.0028,0 c 0.6936,0 1.2611,-0.3773 1.2611,-0.8385 l 0,0 c 0,-0.4612 -0.5675,-0.8385 -1.2611,-0.8385 l -58.0028,0 c -0.6937,0 -1.2609,0.3773 -1.2609,0.8385 l 0,0 c 0,0.4612 0.5672,0.8385 1.2609,0.8385"
        style="fill:#ffffff;fill-opacity:0.5;fill-rule:evenodd;stroke:none"
        id="path3374"
        inkscape:connector-curvature="0" /><g
        id="g3376"
-       transform="matrix(0.72769,0,0,0.72769,135.19105,-96)"><path
+       transform="matrix(0.72769,0,0,0.72769,73.074787,-96)"><path
          d="m 340.0342,167.9865 19.565,8.9439 0,-10.6209 -19.565,1.677 z m 1.118,-14.5335 17.888,-8.9439 0.559,10.0619 -18.447,-1.118 z"
          style="fill:#a1b387;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.9217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3378"
          inkscape:connector-curvature="0" /></g><path
-       d="m 336.25875,17.9136 56.7447,0 c 2.8525,0 5.1863,-2.3337 5.1863,-5.1862 l 0,0 c 0,-2.8528 -2.3338,-5.1866 -5.1863,-5.1866 l -56.7447,0 c -2.8528,0 -5.1866,2.3338 -5.1866,5.1866 l 0,0 c 0,2.8525 2.3338,5.1862 5.1866,5.1862"
+       d="m 274.14249,17.9136 56.7447,0 c 2.8525,0 5.1863,-2.3337 5.1863,-5.1862 l 0,0 c 0,-2.8528 -2.3338,-5.1866 -5.1863,-5.1866 l -56.7447,0 c -2.8528,0 -5.1866,2.3338 -5.1866,5.1866 l 0,0 c 0,2.8525 2.3338,5.1862 5.1866,5.1862"
        style="fill:#a1b387;fill-opacity:1;fill-rule:evenodd;stroke:none"
        id="path3380"
        inkscape:connector-curvature="0" /><g
        id="g3382"
-       transform="translate(135.19105,-96)"><g
+       transform="translate(73.074787,-96)"><g
          id="g3384"
          clip-path="url(#clipPath3386)"><path
            d="m 191.9475,131.9797 28.2639,0 0,-31.7112 -28.2639,0 0,31.7112 z"
            id="path3394"
            inkscape:connector-curvature="0" /></g></g><g
        id="g3396"
-       transform="matrix(0.72769,0,0,0.72769,135.19105,-96)"><path
+       transform="matrix(0.72769,0,0,0.72769,73.074787,-96)"><path
          d="m 276.3094,156.5413 77.9791,0 c 3.92,0 7.1271,-3.2071 7.1271,-7.1271 l 0,0 c 0,-3.9203 -3.2071,-7.1272 -7.1271,-7.1272 l -77.9791,0 c -3.9204,0 -7.1275,3.2069 -7.1275,7.1272 l 0,0 c 0,3.92 3.2071,7.1271 7.1275,7.1271 z"
          style="fill:none;stroke:#000000;stroke-width:2.9217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3398"
          inkscape:connector-curvature="0" /></g><path
-       d="m 335.41995,14.3873 58.0028,0 c 0.6936,0 1.2611,-0.3773 1.2611,-0.8384 l 0,0 c 0,-0.4612 -0.5675,-0.8385 -1.2611,-0.8385 l -58.0028,0 c -0.6937,0 -1.2609,0.3773 -1.2609,0.8385 l 0,0 c 0,0.4611 0.5672,0.8384 1.2609,0.8384"
+       d="m 273.30369,14.3873 58.0028,0 c 0.6936,0 1.2611,-0.3773 1.2611,-0.8384 l 0,0 c 0,-0.4612 -0.5675,-0.8385 -1.2611,-0.8385 l -58.0028,0 c -0.6937,0 -1.2609,0.3773 -1.2609,0.8385 l 0,0 c 0,0.4611 0.5672,0.8384 1.2609,0.8384"
        style="fill:#ffffff;fill-opacity:0.5;fill-rule:evenodd;stroke:none"
        id="path3400"
        inkscape:connector-curvature="0" /><g
        id="g3402"
-       transform="matrix(0.72769,0,0,0.72769,135.19105,-96)"><path
+       transform="matrix(0.72769,0,0,0.72769,73.074787,-96)"><path
          d="m 340.0342,156.3001 19.565,8.9439 0,-10.6209 -19.565,1.677 z m 1.118,-14.5332 17.888,-8.9439 0.559,10.0619 -18.447,-1.118 z"
          style="fill:#a1b387;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.9217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3404"
          inkscape:connector-curvature="0" /></g><path
-       d="m 336.25875,9.4097 56.7447,0 c 2.8525,0 5.1863,-2.3338 5.1863,-5.1863 l 0,0 c 0,-2.8528 -2.3338,-5.1865 -5.1863,-5.1865 l -56.7447,0 c -2.8528,0 -5.1866,2.3337 -5.1866,5.1865 l 0,0 c 0,2.8525 2.3338,5.1863 5.1866,5.1863"
+       d="m 274.14249,9.4097 56.7447,0 c 2.8525,0 5.1863,-2.3338 5.1863,-5.1863 l 0,0 c 0,-2.8528 -2.3338,-5.1865 -5.1863,-5.1865 l -56.7447,0 c -2.8528,0 -5.1866,2.3337 -5.1866,5.1865 l 0,0 c 0,2.8525 2.3338,5.1863 5.1866,5.1863"
        style="fill:#a1b387;fill-opacity:1;fill-rule:evenodd;stroke:none"
        id="path3406"
        inkscape:connector-curvature="0" /><g
        id="g3408"
-       transform="translate(135.19105,-96)"><g
+       transform="translate(73.074787,-96)"><g
          id="g3410"
          clip-path="url(#clipPath3412)"><path
            d="m 191.9475,123.4757 28.2639,0 0,-31.7111 -28.2639,0 0,31.7111 z"
            id="path3420"
            inkscape:connector-curvature="0" /></g></g><g
        id="g3422"
-       transform="matrix(0.72769,0,0,0.72769,135.19105,-96)"><path
+       transform="matrix(0.72769,0,0,0.72769,73.074787,-96)"><path
          d="m 276.3094,144.8552 77.9791,0 c 3.92,0 7.1271,-3.2071 7.1271,-7.1271 l 0,0 c 0,-3.9204 -3.2071,-7.1275 -7.1271,-7.1275 l -77.9791,0 c -3.9204,0 -7.1275,3.2071 -7.1275,7.1275 l 0,0 c 0,3.92 3.2071,7.1271 7.1275,7.1271 z"
          style="fill:none;stroke:#000000;stroke-width:2.9217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3424"
          inkscape:connector-curvature="0" /></g><path
-       d="m 335.41995,5.8834 58.0028,0 c 0.6936,0 1.2611,-0.3773 1.2611,-0.8385 l 0,0 c 0,-0.4612 -0.5675,-0.8385 -1.2611,-0.8385 l -58.0028,0 c -0.6937,0 -1.2609,0.3773 -1.2609,0.8385 l 0,0 c 0,0.4612 0.5672,0.8385 1.2609,0.8385"
+       d="m 273.30369,5.8834 58.0028,0 c 0.6936,0 1.2611,-0.3773 1.2611,-0.8385 l 0,0 c 0,-0.4612 -0.5675,-0.8385 -1.2611,-0.8385 l -58.0028,0 c -0.6937,0 -1.2609,0.3773 -1.2609,0.8385 l 0,0 c 0,0.4612 0.5672,0.8385 1.2609,0.8385"
        style="fill:#ffffff;fill-opacity:0.5;fill-rule:evenodd;stroke:none"
        id="path3426"
        inkscape:connector-curvature="0" /><g
        id="g3428"
-       transform="matrix(0.72769,0,0,0.72769,135.19105,-96)"><path
+       transform="matrix(0.72769,0,0,0.72769,73.074787,-96)"><path
          d="m 340.0342,144.614 19.565,8.9439 0,-10.6209 -19.565,1.677 z m 1.118,-14.5332 17.888,-8.9439 0.559,10.0618 -18.447,-1.1179 z"
          style="fill:#a1b387;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.9217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3430"
          inkscape:connector-curvature="0" /></g><g
        id="g3432"
-       transform="matrix(1,0,0,0.90909,135.19105,-96)"><path
+       transform="matrix(1,0,0,0.90909,73.074787,-96)"><path
          d="m 218.8783,142.3094 12.4135,0 0,-24.0967 -12.4135,0 0,24.0967 z"
          style="fill:#5c753d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.12599993;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604;stroke-opacity:1;stroke-dasharray:none"
          id="path3434"
          inkscape:connector-curvature="0" /></g><g
        id="g3448"
-       transform="matrix(0,-0.31,1,0,135.19105,-96)"><path
+       transform="matrix(0,-0.31,1,0,73.074787,-96)"><path
          d="m -411.7195,220.4745 0,8.4441 24.7838,0 0,-8.4441 -24.7838,0 z"
          style="fill:#ffffcc;fill-opacity:0.25;fill-rule:evenodd;stroke:none"
          id="path3450"
          inkscape:connector-curvature="0" /></g><g
        id="g3452"
-       transform="matrix(0,-0.31,1,0,135.19105,-96)"><path
+       transform="matrix(0,-0.31,1,0,73.074787,-96)"><path
          d="m -411.7195,220.4745 0,8.4441 11.8919,0 0,-8.4441 -11.8919,0 z"
          style="fill:#ffffcc;fill-opacity:0.25;fill-rule:evenodd;stroke:none"
          id="path3454"
          inkscape:connector-curvature="0" /></g><g
        id="g3456"
-       transform="matrix(0,-0.31,1,0,135.19105,-96)"><path
+       transform="matrix(0,-0.31,1,0,73.074787,-96)"><path
          d="m -365.9995,220.4745 0,8.4441 11.8919,0 0,-8.4441 -11.8919,0 z"
          style="fill:#ffffcc;fill-opacity:0.25;fill-rule:evenodd;stroke:none"
          id="path3458"
            d="m 308.8572,226.76119 -15.66012,0 0,14.2546 15.66012,0 c 3.9204,0 7.1275,-3.2071 7.1275,-7.1275 l 0,0 c 0,-3.92 -3.2071,-7.1271 -7.1275,-7.1271 z"
            style="fill:#a6a6a6;fill-opacity:1;stroke:#000000;stroke-width:2.92169999999999996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61312604000000004;stroke-opacity:1;stroke-dasharray:none"
            id="path4288"
-           inkscape:connector-curvature="0" /></g></g></g></svg>
\ No newline at end of file
+           inkscape:connector-curvature="0" /></g></g><g
+       transform="matrix(0.8,0,0,-0.8,-229.18508,402.6749)"
+       id="0open_chute"
+       inkscape:label="#g4270"><path
+         d="m 795.41,487.41 q -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 733.985,476.9625 733.985,462 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41"
+         id="path467"
+         inkscape:connector-curvature="0"
+         style="fill:#383838;stroke:none" /><path
+         d="m 794.2,486.2 q 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 M 810,462 q 0,16.55 -11.75,28.25 Q 786.55,502 770,502 753.35,502 741.65,490.25 730,478.55 730,462 730,445.45 741.65,433.7 753.35,422 770,422 q 16.55,0 28.25,11.7 Q 810,445.45 810,462"
+         id="path465"
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient3849);stroke:none" /><g
+         id="0parachute-3"
+         inkscape:label="#g4396"
+         transform="matrix(0.68604501,0,0,-0.68604501,423.53631,604.80194)"
+         inkscape:export-filename="/home/xymus/projects/nit/contrib/action_nitro/assets/textures/parachute.png"
+         inkscape:export-xdpi="179.97391"
+         inkscape:export-ydpi="179.97391"><g
+           id="g4429"
+           transform="matrix(0.32178537,0,0,0.32178537,332.37244,168.3419)"><path
+             inkscape:connector-curvature="0"
+             id="path4383"
+             d="m 537.08859,222.71902 c -0.40034,0 -0.66847,-0.0643 -0.86688,-0.0693 l -0.0347,0 c -0.0431,0.005 -0.0958,-0.003 -0.1387,0 -0.0124,1.2e-4 -0.0225,-2.2e-4 -0.0347,0 l -0.0693,0 c 0.0147,5.1e-4 -0.0421,0.005 -0.17338,0 -0.26356,-0.008 -0.33396,-0.005 -0.20805,0 -0.0372,-0.001 -0.1122,0.001 -0.24273,0 l -0.0347,0 c -0.0105,-1.6e-4 -0.0242,1.7e-4 -0.0347,0 -57.425,-0.93859 -103.74841,-45.48489 -103.74841,-100.38491 0,-2.37258 0.21971,-4.64716 0.38142,-6.90038 l 1.14429,-0.20805 -0.86688,-0.79753 86.30675,-93.068428 2.35792,2.184542 -86.27208,92.999076 c 0.16132,0.3774 0.31571,0.79141 0.48545,1.14429 0.75197,1.56327 1.54071,3.09274 2.3926,4.54246 0.85625,1.45715 1.76601,2.84279 2.70467,4.16103 0.94579,1.32825 1.92176,2.6256 2.9474,3.81428 1.02566,1.1887 2.08162,2.27715 3.19012,3.32882 1.10299,1.04646 2.25687,2.05032 3.43285,2.9474 1.17391,0.89554 2.36862,1.65752 3.60623,2.3926 1.24352,0.73858 2.49708,1.41633 3.77961,1.97649 1.28776,0.56245 2.61254,1.03651 3.95298,1.42168 1.33955,0.3849 2.70971,0.7045 4.09168,0.90156 1.3771,0.19634 2.77336,0.2774 4.19571,0.2774 1.32108,0 2.65854,-0.0705 3.95298,-0.24273 1.28855,-0.1714 2.55633,-0.46071 3.81428,-0.79753 1.27033,-0.34014 2.47216,-0.72473 3.67558,-1.21363 1.21066,-0.49184 2.43471,-1.08834 3.60623,-1.73377 1.16193,-0.64017 2.27577,-1.35869 3.39817,-2.14986 1.11975,-0.78929 2.23813,-1.64511 3.29415,-2.56597 1.06625,-0.92972 2.09864,-1.90314 3.0861,-2.9474 0.79021,-0.83567 1.56376,-1.76467 2.32325,-2.70467 l 0.2774,-0.34675 c 0.1131,-0.14127 0.18916,-0.21732 0.24272,-0.27741 l -0.2774,-0.10402 28.6071,-102.326727 3.12078,0.866882 -28.67645,102.361395 -0.48546,-0.1387 c 1.01305,1.19128 2.05259,2.34086 3.15545,3.43286 1.31986,1.30691 2.7273,2.55519 4.16104,3.71025 1.43008,1.15213 2.89952,2.19761 4.43843,3.19012 1.53693,0.99123 3.12505,1.92569 4.75051,2.73935 1.63328,0.81759 3.32453,1.55887 5.02792,2.18454 0.17508,0.0643 0.42339,0.12448 0.76285,0.24273 1.47641,0.51428 2.93926,0.99051 4.43844,1.35234 1.77093,0.42739 3.59042,0.71437 5.44402,0.93623 1.84731,0.22112 3.72393,0.34675 5.61739,0.34675 1.89346,0 3.77117,-0.12576 5.61739,-0.34675 1.85356,-0.22186 3.67309,-0.50884 5.44402,-0.93623 0.5981,-0.14434 1.25513,-0.38161 1.97649,-0.58948 1.13813,-0.32796 2.26187,-0.6264 3.29415,-1.00559 1.70336,-0.62567 3.32526,-1.36693 4.95857,-2.18454 1.62546,-0.81366 3.21357,-1.74811 4.75051,-2.73935 1.53891,-0.99252 3.04301,-2.03799 4.47311,-3.19012 1.42914,-1.15135 2.80184,-2.39872 4.12636,-3.71025 0.49832,-0.49345 0.97683,-1.07672 1.52571,-1.66442 0.59947,-0.64186 1.17868,-1.2452 1.73376,-1.87246 l -0.83221,0.24272 -28.64177,-102.361395 3.0861,-0.866882 28.64177,102.326727 -0.10402,0.0347 0.0347,0.0347 c 0.93029,1.18054 1.85615,2.31945 2.84338,3.3635 0.98746,1.04426 2.05453,2.01768 3.12077,2.9474 1.05605,0.92087 2.13973,1.77668 3.25948,2.56597 1.12238,0.79116 2.27091,1.5097 3.43285,2.14986 1.17694,0.64844 2.33075,1.24379 3.53688,1.73377 0.41973,0.17053 0.86236,0.31016 1.31766,0.45078 l 1.17896,0.34675 0.86688,0.2774 0,0.0347 c 0.1063,0.0362 0.24924,0.0779 0.34675,0.10402 1.25794,0.33682 2.52575,0.62613 3.81428,0.79753 1.29619,0.1724 2.6319,0.24273 3.95298,0.24273 1.42233,0 2.85497,-0.0813 4.23038,-0.2774 1.38198,-0.19706 2.71744,-0.51666 4.05701,-0.90156 1.34043,-0.38517 2.66523,-0.85923 3.95298,-1.42168 1.26438,-0.55223 2.51523,-1.21346 3.74493,-1.94182 0.163,-0.1006 0.15811,-0.10778 0.0347,-0.0347 1.2376,-0.73508 2.43231,-1.49706 3.60622,-2.3926 1.17598,-0.89708 2.32986,-1.90094 3.43286,-2.9474 1.10851,-1.05167 2.16448,-2.14012 3.19012,-3.32882 1.02563,-1.18868 2.0363,-2.48604 2.98207,-3.81428 0.93867,-1.31824 1.81375,-2.70388 2.67,-4.16103 0.85189,-1.44969 1.67529,-2.97919 2.42727,-4.54246 0.20042,-0.41664 0.39806,-0.87653 0.58948,-1.31766 l -0.2774,0.24272 -86.34143,-93.068426 2.35792,-2.184542 86.30675,93.068428 -0.79753,0.72818 1.31766,0.24273 c 0.16425,2.27515 0.34675,4.55724 0.34675,6.93505 0,54.18937 -45.13742,98.245 -101.52919,100.28089 l -0.0347,0 c -0.36044,0.0128 -0.76294,-0.0106 -1.17896,0 -0.0286,7.3e-4 -0.0753,-9.6e-4 -0.10402,0 -0.0192,6.3e-4 -0.0155,-7.2e-4 -0.0347,0 -0.82963,0.0312 -1.7158,0.17337 -2.70467,0.17337 z m -1.24831,-2.14986 c -0.005,-1.8e-4 0.058,5e-4 0.0693,0 0.15604,-0.0118 0.29959,-0.0372 0.45078,-0.10403 0.15118,-0.0668 0.30875,-0.18832 0.48545,-0.34675 0.43134,-0.3867 0.91396,-1.02469 1.42169,-1.94182 l 0,-0.0347 c 0.5006,-0.90804 1.05362,-2.07614 1.56039,-3.46753 0.50856,-1.39643 0.99687,-3.00949 1.49103,-4.85454 0.24753,-0.9242 0.48152,-1.92059 0.72818,-2.9474 0.24667,-1.02681 0.49362,-2.09999 0.72818,-3.2248 0.46982,-2.25299 0.90966,-4.71127 1.35234,-7.35115 0.44191,-2.63539 0.87123,-5.46137 1.28298,-8.46077 0.41174,-2.99943 0.80214,-6.1749 1.17896,-9.50103 0.37709,-3.32863 0.76966,-6.80123 1.10961,-10.43725 0.34018,-3.63836 0.67123,-7.3888 0.97091,-11.30414 0.21717,-2.83757 0.36673,-5.81196 0.5548,-8.80752 -0.19228,0.0594 -0.3436,0.12239 -0.5548,0.17338 -1.87152,0.45167 -3.76998,0.77616 -5.68674,1.00558 -1.92412,0.23031 -3.91074,0.34675 -5.8948,0.34675 -1.98406,0 -3.93711,-0.11657 -5.86012,-0.34675 -1.9168,-0.22942 -3.81524,-0.55391 -5.68675,-1.00558 -1.08122,-0.26095 -2.11744,-0.59989 -3.15545,-0.93624 0.20611,3.2557 0.4234,6.49332 0.65883,9.57038 0.29959,3.91529 0.63082,7.66573 0.97091,11.30414 0.33985,3.63596 0.69791,7.10855 1.07494,10.43725 0.3773,3.33126 0.7334,6.50726 1.14428,9.50103 0.41085,2.99363 0.87474,5.81892 1.31766,8.46077 0.44258,2.63981 0.88256,5.09809 1.35234,7.35115 0.47056,2.25685 0.92895,4.33224 1.42168,6.1722 0.49178,1.83646 1.0481,3.44784 1.56039,4.85454 0.5105,1.40182 1.02152,2.59137 1.52571,3.5022 0.50764,0.91707 0.99033,1.55507 1.42169,1.94182 0.32712,0.29328 0.57135,0.3759 0.90155,0.4161 0.0358,0.006 0.17093,0.0367 0.10403,0.0347 z m -8.59947,-0.55481 c -0.29348,-0.18606 -0.57728,-0.38644 -0.86688,-0.58948 -0.10073,-0.0701 -0.21179,-0.13596 -0.31208,-0.20805 -0.21819,-0.15815 -0.4427,-0.3174 -0.65883,-0.48545 -0.0254,-0.0196 -0.0439,-0.0496 -0.0693,-0.0693 -0.30209,-0.23679 -0.60325,-0.47173 -0.90156,-0.72818 -0.0127,-0.0108 -0.022,-0.0238 -0.0347,-0.0347 -0.31111,-0.26844 -0.62894,-0.54203 -0.93623,-0.83221 -1.27743,-1.20627 -2.53782,-2.61091 -3.74493,-4.16103 -1.20382,-1.54587 -2.40025,-3.25728 -3.53688,-5.13194 -1.13884,-1.87829 -2.16791,-3.93497 -3.2248,-6.10285 -1.05748,-2.16908 -2.13764,-4.47159 -3.12077,-6.93505 -0.98112,-2.45838 -1.91166,-5.04363 -2.8087,-7.76726 -0.89781,-2.72599 -1.75966,-5.56362 -2.56597,-8.53012 -0.80648,-2.96713 -1.57717,-6.06101 -2.28857,-9.2583 l 0,-0.0693 c -0.35023,-1.5767 -0.68284,-3.15595 -1.00558,-4.78518 -0.3337,-1.65736 -0.63055,-3.31933 -0.93623,-5.02792 -0.60895,-3.40362 -1.16468,-6.91911 -1.66442,-10.50661 -0.49988,-3.58858 -0.96753,-7.27013 -1.35233,-11.02673 -0.0999,-0.97466 -0.16739,-1.95198 -0.24273,-2.9474 -0.0781,-0.93739 -0.17142,-1.86549 -0.24273,-2.8087 -0.3414,0.39635 -0.68115,0.79921 -1.04026,1.17896 -1.0466,1.1068 -2.15542,2.12341 -3.25947,3.0861 -1.11425,0.97162 -2.22311,1.87638 -3.39818,2.70467 -1.17243,0.82643 -2.3605,1.60223 -3.60623,2.28857 -1.23614,0.68104 -2.51611,1.31041 -3.81428,1.83779 -1.30539,0.53035 -2.62504,0.92742 -3.95298,1.28298 -1.34033,0.35888 -2.73887,0.64765 -4.12635,0.83221 -1.38157,0.18375 -2.77469,0.2774 -4.19571,0.2774 -1.51475,0 -2.98975,-0.10055 -4.47311,-0.31207 -1.47846,-0.21082 -2.93913,-0.52536 -4.36909,-0.93624 -1.42904,-0.41063 -2.85381,-0.92448 -4.23038,-1.52571 -1.38178,-0.6035 -2.72095,-1.30756 -4.02233,-2.08052 -1.30729,-0.77644 -2.57697,-1.62207 -3.81428,-2.56597 -1.23524,-0.94228 -2.44594,-1.98527 -3.60623,-3.08609 -1.15476,-1.09557 -2.28809,-2.25585 -3.3635,-3.50221 -1.07547,-1.24643 -2.07255,-2.5436 -3.05142,-3.9183 -0.98598,-1.38471 -1.89634,-2.84077 -2.77403,-4.33441 -0.65681,-1.11774 -1.23844,-2.32027 -1.83779,-3.5022 -0.0459,0.85088 -0.17337,1.68356 -0.17337,2.53129 0,51.1227 41.07211,93.03296 93.62323,97.74959 z m 12.41375,-0.0347 c 1.21224,-0.38036 2.45818,-0.89504 3.6409,-1.62974 1.21203,-0.75293 2.3825,-1.72066 3.57156,-2.84337 1.18347,-1.11746 2.34908,-2.40305 3.5022,-3.88363 1.15178,-1.47888 2.26808,-3.11751 3.3635,-4.92389 1.09669,-1.80849 2.18946,-3.80622 3.2248,-5.92947 1.03461,-2.12178 2.01789,-4.38095 2.98207,-6.79636 0.96377,-2.41438 1.88938,-4.97788 2.77403,-7.66323 0.88561,-2.68832 1.73389,-5.49314 2.53129,-8.42609 0.7986,-2.93743 1.58452,-5.99093 2.28857,-9.15428 0.7032,-3.15957 1.33703,-6.43375 1.94181,-9.8131 0.60444,-3.37749 1.1684,-6.84285 1.66442,-10.40258 0.4965,-3.56325 0.90067,-7.22633 1.28298,-10.95738 0.10223,-0.99771 0.19037,-2.05331 0.2774,-3.0861 -1.215,1.17909 -2.46378,2.33812 -3.7796,3.39817 -1.49345,1.20315 -3.05105,2.29987 -4.64649,3.32883 -1.5974,1.03022 -3.22492,1.9929 -4.92389,2.84337 -1.69113,0.84654 -3.44554,1.6309 -5.23596,2.28857 -0.90377,0.33198 -1.78943,0.54897 -2.67,0.79753 -5e-5,8.2e-4 -0.0346,-8.2e-4 -0.0347,0 -0.20677,3.26879 -0.42128,6.53568 -0.65883,9.63973 -0.30091,3.93122 -0.63004,7.69292 -0.97091,11.33881 -0.3411,3.64824 -0.6961,7.12802 -1.07493,10.47193 -0.37912,3.34642 -0.80019,6.52371 -1.21364,9.5357 -0.41347,3.01201 -0.83601,5.86461 -1.28298,8.53012 -0.44622,2.66102 -0.87522,5.16724 -1.35234,7.45518 -0.47783,2.29131 -1.02133,4.39305 -1.52571,6.27623 -0.50528,1.88654 -0.98802,3.55154 -1.52571,5.02791 -0.53573,1.4709 -1.08101,2.72574 -1.66442,3.77961 -0.15372,0.27767 -0.32723,0.55004 -0.48545,0.79753 z m -7.66324,-0.0347 c -0.14891,-0.23501 -0.27113,-0.50096 -0.4161,-0.76285 -0.58333,-1.0538 -1.16341,-2.30863 -1.69909,-3.77961 -0.53392,-1.46611 -1.05288,-3.13277 -1.56038,-5.02791 -0.50657,-1.89162 -0.98012,-3.99214 -1.45637,-6.27623 -0.47703,-2.28788 -0.94087,-4.7941 -1.38701,-7.45518 -0.44579,-2.65906 -0.90348,-5.51234 -1.31766,-8.53012 -0.41416,-3.01765 -0.80051,-6.19442 -1.17896,-9.5357 -0.37874,-3.34386 -0.73392,-6.82364 -1.07493,-10.47193 -0.34079,-3.64583 -0.6701,-7.40755 -0.97091,-11.33881 -0.25586,-3.34404 -0.47118,-6.87197 -0.6935,-10.40259 -0.0734,-0.0236 -0.0924,-0.005 -0.17338,-0.0347 -1.79044,-0.65767 -3.54484,-1.44202 -5.23597,-2.28857 -1.69896,-0.85047 -3.32649,-1.81314 -4.92388,-2.84337 -1.59543,-1.02895 -3.11838,-2.12568 -4.61182,-3.32883 -1.48978,-1.20019 -2.96228,-2.52495 -4.3344,-3.88363 -0.74144,-0.73415 -1.41226,-1.51004 -2.1152,-2.28857 0.15373,1.9735 0.28976,3.94959 0.48546,5.86013 0.38218,3.73098 0.8213,7.39404 1.31766,10.95738 0.4965,3.56442 1.06101,7.02996 1.66441,10.40258 0.6037,3.37428 1.2723,6.64825 1.97649,9.8131 0.70156,3.15305 1.45826,6.19078 2.25389,9.1196 l 0,0.0347 c 0.79861,2.93818 1.61301,5.74324 2.49662,8.42609 0.88438,2.68521 1.81041,5.24869 2.77403,7.66323 0.96157,2.40946 1.97935,4.66847 3.01674,6.79636 1.03798,2.12908 2.09717,4.12684 3.19013,5.92947 1.09515,1.80626 2.24645,3.4449 3.39818,4.92389 1.14841,1.47473 2.31355,2.76119 3.5022,3.88363 0.59443,0.56131 1.19697,1.0839 1.80311,1.56038 0.30307,0.23825 0.59778,0.44465 0.90156,0.65883 0.30378,0.21419 0.59856,0.43592 0.90156,0.62416 1.15406,0.71696 2.29781,1.21725 3.46752,1.59506 z m 26.31854,-1.62974 c 46.96677,-9.30456 82.24974,-48.69595 82.24974,-96.0505 0,-0.85584 -0.0975,-1.67769 -0.1387,-2.53129 -0.60134,1.18656 -1.2132,2.38031 -1.87247,3.5022 -0.87768,1.49364 -1.78804,2.9497 -2.77402,4.33441 -0.97886,1.3747 -1.97595,2.67187 -3.05142,3.9183 -1.07541,1.24636 -2.20875,2.40664 -3.3635,3.50221 -1.16029,1.10082 -2.371,2.14381 -3.60623,3.08609 -1.12332,0.85694 -2.28887,1.60615 -3.46753,2.32325 -0.1539,0.63431 -0.28686,1.30668 -0.48545,2.01116 -0.85674,3.03911 -1.81097,6.03742 -2.87805,9.01557 -1.06684,2.97747 -2.22885,5.90909 -3.5022,8.80752 -1.27452,2.9011 -2.65669,5.74398 -4.12636,8.53012 -1.46969,2.78617 -3.04776,5.55374 -4.71584,8.21804 -1.66635,2.66157 -3.45281,5.2625 -5.30531,7.76726 -1.8538,2.5065 -3.75606,4.886 -5.79077,7.21246 -2.03365,2.32524 -4.16635,4.60062 -6.38025,6.727 -2.21244,2.12497 -4.51815,4.13673 -6.90038,6.0335 -2.38258,1.89704 -4.83833,3.66025 -7.38584,5.30531 -2.54847,1.64569 -5.19998,3.17446 -7.90596,4.54246 -2.70937,1.36972 -5.50064,2.57554 -8.35674,3.64091 -0.0824,0.0307 -0.16013,0.0735 -0.24272,0.10402 z m -6.79636,-0.17337 c 1.3995,-0.39118 2.81648,-0.73825 4.19571,-1.17896 0.71011,-0.22691 1.41902,-0.4685 2.11519,-0.72818 2.78672,-1.0395 5.51327,-2.23923 8.14869,-3.57156 2.63881,-1.33403 5.21172,-2.7983 7.69791,-4.40376 1.24356,-0.80303 2.43834,-1.63239 3.6409,-2.49661 1.20257,-0.86423 2.40662,-1.77713 3.57156,-2.70468 2.33019,-1.85535 4.56132,-3.81474 6.727,-5.89479 2.1642,-2.07864 4.24348,-4.26907 6.24155,-6.55363 1.99698,-2.28334 3.93667,-4.68308 5.75609,-7.1431 0.91035,-1.23088 1.77057,-2.4731 2.63533,-3.74493 0.86588,-1.26585 1.71513,-2.54601 2.53129,-3.84896 0.005,-0.008 -0.005,-0.0265 0,-0.0347 1.63456,-2.6108 3.19617,-5.29526 4.64649,-8.04467 1.45031,-2.74944 2.80629,-5.54452 4.057,-8.39141 1.25187,-2.84956 2.38129,-5.73401 3.43286,-8.66882 0.52565,-1.46706 1.01685,-2.9523 1.49103,-4.43844 0.47418,-1.48613 0.93097,-2.97843 1.35234,-4.47311 -0.60187,0.31035 -1.18226,0.63039 -1.80312,0.90156 -1.37658,0.60123 -2.83602,1.11508 -4.26506,1.52571 -1.42995,0.41088 -2.85595,0.72542 -4.3344,0.93624 -1.48502,0.21171 -2.99302,0.31207 -4.50779,0.31207 -1.42104,0 -2.81585,-0.0939 -4.19571,-0.2774 -1.38746,-0.18456 -2.78604,-0.47333 -4.12635,-0.83221 -0.048,-0.0128 -0.0575,-0.0213 -0.10403,-0.0347 -0.091,0.65833 -0.17671,1.31047 -0.2774,1.97649 -0.0958,0.66001 -0.19204,1.30325 -0.31208,1.97649 -0.48924,2.74393 -1.05981,5.52009 -1.73376,8.28739 -0.67315,2.76391 -1.45855,5.53186 -2.32325,8.28739 -0.86488,2.75607 -1.81983,5.48442 -2.87804,8.18336 -1.05926,2.70159 -2.24103,5.39437 -3.50221,8.00999 -1.26151,2.61629 -2.62441,5.13914 -4.09168,7.62856 -1.46506,2.48565 -2.99584,4.94664 -4.68116,7.28181 -1.68552,2.33544 -3.51262,4.53092 -5.40934,6.65765 -0.94973,1.06489 -1.90843,2.10853 -2.91273,3.12078 -0.50214,0.50612 -1.00889,1.00013 -1.52571,1.49103 -0.51682,0.4909 -1.06288,0.98205 -1.59506,1.45636 -2.12751,1.89619 -4.33554,3.68517 -6.69233,5.30532 -0.5587,0.38407 -1.16088,0.7419 -1.73376,1.10961 -0.0267,0.017 -0.0426,0.0524 -0.0693,0.0693 -1.66683,1.0664 -3.39073,2.03261 -5.16662,2.9474 z m -3.5022,-0.76286 c 0.68714,-0.29755 1.41914,-0.5335 2.08052,-0.86688 2.50588,-1.26317 4.86206,-2.69699 7.1431,-4.26506 2.28226,-1.56891 4.49118,-3.25905 6.55363,-5.09726 2.06123,-1.83714 4.00834,-3.81847 5.86012,-5.8948 1.8545,-2.0794 3.63326,-4.25021 5.27064,-6.51895 1.63756,-2.26901 3.13724,-4.63079 4.57714,-7.07376 1.43766,-2.43919 2.75176,-4.9267 3.98765,-7.48986 1.23621,-2.56381 2.39186,-5.21628 3.43285,-7.87128 1.04204,-2.65766 2.02948,-5.34057 2.87805,-8.04467 0.84874,-2.70463 1.55527,-5.42253 2.21922,-8.14868 0.66311,-2.72276 1.25193,-5.48094 1.73376,-8.18337 0.12642,-0.70902 0.24661,-1.40787 0.34676,-2.11519 0.0202,-0.14008 0.0497,-0.27597 0.0693,-0.4161 0.0785,-0.56785 0.1294,-1.12803 0.20805,-1.69909 -0.59159,-0.18015 -1.15439,-0.34 -1.76844,-0.58948 -1.30273,-0.52922 -2.58356,-1.15974 -3.81428,-1.83779 -1.24574,-0.68633 -2.46848,-1.46213 -3.6409,-2.28857 -1.17509,-0.82829 -2.28393,-1.73306 -3.39818,-2.70467 -1.10405,-0.96269 -2.21287,-1.9793 -3.25948,-3.0861 -0.76508,-0.80911 -1.47282,-1.69534 -2.18454,-2.56597 -0.42165,0.46493 -0.83519,0.94829 -1.24831,1.38701 -0.15839,1.92048 -0.29047,3.85316 -0.48545,5.7561 -0.38493,3.75652 -0.85229,7.43806 -1.35234,11.02673 -0.50054,3.59221 -1.05617,7.10786 -1.66441,10.50661 -0.60792,3.39689 -1.26409,6.68153 -1.97649,9.88245 -0.71157,3.19715 -1.44717,6.29104 -2.25389,9.2583 -0.80794,2.97173 -1.66974,5.80959 -2.56597,8.53012 -0.89721,2.72349 -1.86199,5.30873 -2.84338,7.76726 -0.98098,2.4575 -2.02544,4.75986 -3.0861,6.93505 -1.05994,2.1737 -2.124,4.23042 -3.25947,6.10285 -1.13674,1.87453 -2.33283,3.58596 -3.53688,5.13194 -1.20274,1.54428 -2.39274,2.94976 -3.67558,4.16103 -0.11444,0.10807 -0.23179,0.20705 -0.34675,0.31208 z"
+             style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#868383;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.11899996;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" /><path
+             inkscape:connector-curvature="0"
+             style="fill:#868383;fill-opacity:1;stroke:none"
+             d="m 541.0567,221.46069 c 2.87057,-0.37945 5.69765,-0.87242 8.45,-1.55 2.9644,-0.72978 5.85358,-1.64757 8.675,-2.7 2.82141,-1.05243 5.5776,-2.24898 8.25,-3.6 2.67239,-1.35102 5.28267,-2.84943 7.8,-4.475 2.51732,-1.62557 4.94378,-3.37394 7.3,-5.25 2.35621,-1.87606 4.63594,-3.87249 6.825,-5.975 2.18905,-2.10251 4.28414,-4.3201 6.3,-6.625 2.01585,-2.3049 3.93839,-4.69174 5.775,-7.175 1.8366,-2.48326 3.59868,-5.06245 5.25,-7.7 1.65132,-2.63755 3.19,-5.35721 4.65,-8.125 1.45999,-2.76779 2.83738,-5.57601 4.1,-8.45 1.26261,-2.87399 2.4158,-5.79386 3.475,-8.75 1.05919,-2.95614 2.02527,-5.96077 2.875,-8.975 0.21944,-0.77843 0.36978,-1.5687 0.575,-2.35 0.0162,-0.01 0.0338,-0.0154 0.05,-0.025 1.27244,-0.75576 2.49439,-1.58028 3.7,-2.5 1.2056,-0.91968 2.39336,-1.92636 3.525,-3 1.13163,-1.07362 2.22447,-2.20747 3.275,-3.425 1.05055,-1.21756 2.06268,-2.52352 3.025,-3.875 0.96232,-1.35147 1.85803,-2.7746 2.725,-4.25 0.86698,-1.47537 1.68551,-3.01071 2.45,-4.6 0.41735,-0.86762 0.78984,-1.77575 1.175,-2.675 0.16472,2.28168 0.35,4.55356 0.35,6.875 0,53.6116 -44.69648,97.17487 -100.575,99.175 z"
+             id="path4292-5" /><path
+             inkscape:connector-curvature="0"
+             style="fill:#666666;fill-opacity:1;stroke:none"
+             d="m 539.9067,221.51069 c -0.0332,-0.004 -0.0658,5.1e-4 -0.1,0 0.87372,-0.0353 1.78196,-0.23691 2.75,-0.7 2.78422,-0.93873 5.45072,-2.06496 8,-3.35 2.54928,-1.28504 4.98047,-2.73047 7.3,-4.325 2.31952,-1.59453 4.53002,-3.3328 6.625,-5.2 2.09497,-1.8672 4.07438,-3.87194 5.95,-5.975 1.87561,-2.10306 3.66355,-4.29791 5.325,-6.6 1.66144,-2.30209 3.19752,-4.71069 4.65,-7.175 1.45247,-2.46431 2.8013,-4.98528 4.05,-7.575 1.24869,-2.58972 2.39988,-5.2467 3.45,-7.925 1.05012,-2.6783 2.01827,-5.39492 2.875,-8.125 0.85672,-2.73008 1.60646,-5.47997 2.275,-8.225 0.66853,-2.74503 1.23946,-5.47682 1.725,-8.2 0.31028,-1.74021 0.53771,-4.66726 0.775,-6.38622 0.41818,0.12546 0.82629,0.28655 1.25,0.4 1.29913,0.34785 2.637,0.62202 3.975,0.8 1.33802,0.17798 2.67894,0.275 4.05,0.275 1.46855,0 2.94479,-0.0961 4.375,-0.3 1.43021,-0.20394 2.81524,-0.50211 4.2,-0.9 1.38473,-0.3979 2.76783,-0.89316 4.1,-1.475 1.3152,-0.57443 2.59316,-1.25556 3.85,-2 -0.20522,0.7813 -0.35556,1.57157 -0.575,2.35 -0.84973,3.01423 -1.81581,7.23008 -2.875,10.18622 -1.0592,2.95614 -2.21239,5.87601 -3.475,8.75 -1.26262,2.87399 -2.64001,5.68221 -4.1,8.45 -1.46,2.76779 -2.99868,5.48745 -4.65,8.125 -1.65132,2.63755 -3.4134,5.21674 -5.25,7.7 -1.83661,2.48326 -3.75915,4.8701 -5.775,7.175 -2.01586,2.3049 -4.11095,4.52249 -6.3,6.625 -2.18906,2.10251 -4.46879,4.09894 -6.825,5.975 -2.35622,1.87606 -4.78268,3.62443 -7.3,5.25 -2.51733,1.62557 -5.12761,3.12398 -7.8,4.475 -2.6724,1.35102 -5.42859,2.54757 -8.25,3.6 -2.82142,1.05243 -5.7106,1.97022 -8.675,2.7 -2.75235,0.67758 -5.57943,1.17055 -8.45,1.55 -0.38417,0.0137 -0.76479,0.0402 -1.15,0.05 z"
+             id="path4290-6"
+             sodipodi:nodetypes="cccssssssssssscsssccscssssssssssssscc" /><path
+             inkscape:connector-curvature="0"
+             style="fill:#868383;fill-opacity:1;stroke:none"
+             d="m 537.0817,221.66069 c -0.30432,0 -0.59631,-0.0475 -0.9,-0.05 1.25556,-0.0288 2.49999,-0.19732 3.725,-0.575 1.32385,-0.40815 2.64318,-1.00373 3.925,-1.8 1.28181,-0.79627 2.54183,-1.78564 3.775,-2.95 1.23316,-1.16436 2.42207,-2.51257 3.6,-4.025 1.17792,-1.51243 2.33392,-3.18454 3.45,-5.025 1.11608,-1.84046 2.20236,-3.85152 3.25,-6 1.04763,-2.14848 2.05242,-4.43854 3.025,-6.875 0.97257,-2.43646 1.90907,-5.02058 2.8,-7.725 0.89092,-2.70442 1.74733,-5.52266 2.55,-8.475 0.80266,-2.95234 1.56719,-6.01975 2.275,-9.2 0.7078,-3.18025 1.34365,-6.48688 1.95,-9.875 0.60634,-3.38812 1.17672,-6.87404 1.675,-10.45 0.49828,-3.57596 0.94138,-7.23121 1.325,-10.975 0.20438,-1.99465 0.3546,-4.06206 0.525,-6.1 0.77267,-0.8273 1.57324,-1.64553 2.3,-2.525 0.94304,1.19674 1.90798,2.34945 2.925,3.425 1.01703,1.07553 2.08985,2.0788 3.175,3.025 1.08515,0.94624 2.20258,1.81621 3.35,2.625 1.1474,0.8088 2.32116,1.56175 3.525,2.225 1.20383,0.66324 2.42058,1.2654 3.675,1.775 0.84528,0.34342 1.71096,0.59077 2.575,0.85 -0.23729,1.71896 -0.46472,3.43479 -0.775,5.175 -0.48554,2.72318 -1.05647,5.45497 -1.725,8.2 -0.66854,2.74503 -1.41828,5.49492 -2.275,8.225 -0.85673,2.73008 -1.82488,5.4467 -2.875,8.125 -1.05012,2.6783 -2.20131,5.33528 -3.45,7.925 -1.2487,2.58972 -2.59753,5.11069 -4.05,7.575 -1.45248,2.46431 -2.98856,4.87291 -4.65,7.175 -1.66145,2.30209 -3.44939,4.49694 -5.325,6.6 -1.87562,2.10306 -3.85503,4.1078 -5.95,5.975 -2.09498,1.8672 -4.30548,3.60547 -6.625,5.2 -2.31953,1.59453 -4.75072,3.03996 -7.3,4.325 -2.54928,1.28504 -5.21578,2.41127 -8,3.35 -0.96804,0.46309 -1.87628,0.6647 -2.75,0.7 0.0342,5.1e-4 0.0668,-0.004 0.1,0 -0.94675,0.0241 -1.87215,0.15 -2.825,0.15 z"
+             id="path4283-2" /><path
+             inkscape:connector-curvature="0"
+             style="fill:#868383;fill-opacity:1;stroke:none"
+             d="m 535.3317,221.58569 c -56.91634,-0.89851 -102.775,-44.97614 -102.775,-99.3 0,-2.30764 0.2122,-4.58164 0.375,-6.85 0.37977,0.88504 0.73903,1.79565 1.15,2.65 0.76449,1.58929 1.58303,3.12462 2.45,4.6 0.86697,1.4754 1.76268,2.89853 2.725,4.25 0.96233,1.35148 1.97445,2.65744 3.025,3.875 1.05054,1.21753 2.14337,2.35138 3.275,3.425 1.13163,1.07364 2.31939,2.08032 3.525,3 1.20561,0.91972 2.42755,1.74424 3.7,2.5 1.27245,0.75577 2.56784,1.44317 3.9,2.025 1.33217,0.58184 2.71526,1.0771 4.1,1.475 1.38475,0.39789 2.76979,0.69606 4.2,0.9 1.43023,0.20394 2.88145,0.3 4.35,0.3 1.37105,0 2.737,-0.097 4.075,-0.275 1.33802,-0.17798 2.67586,-0.45215 3.975,-0.8 1.29913,-0.34785 2.54559,-0.74037 3.8,-1.25 1.25441,-0.5096 2.49617,-1.11176 3.7,-1.775 1.20383,-0.66326 2.37758,-1.4162 3.525,-2.225 1.14741,-0.80879 2.26486,-1.67876 3.35,-2.625 1.08515,-0.9462 2.15797,-1.94947 3.175,-3.025 0.9209,-0.97388 1.7906,-2.02676 2.65,-3.1 0.21475,2.79275 0.42203,5.58636 0.7,8.3 0.38349,3.74379 0.82688,7.39904 1.325,10.975 0.49812,3.57596 1.04383,7.06188 1.65,10.45 0.60617,3.38812 1.26739,6.69475 1.975,9.875 0.70761,3.18025 1.47254,6.24766 2.275,9.2 0.80246,2.95234 1.63429,5.77058 2.525,8.475 0.89071,2.70442 1.82763,5.28854 2.8,7.725 0.97236,2.43646 2.00256,4.72652 3.05,6.875 1.04743,2.14848 2.1091,4.15954 3.225,6 1.11589,1.84046 2.27223,3.51257 3.45,5.025 1.17776,1.51243 2.39196,2.86064 3.625,4.025 1.23304,1.16436 2.49328,2.15373 3.775,2.95 1.28172,0.79627 2.5762,1.39185 3.9,1.8 1.14343,0.35254 2.30476,0.50095 3.475,0.55 z"
+             id="path4281-9" /><path
+             inkscape:connector-curvature="0"
+             style="fill:#666666;fill-opacity:1;stroke:none"
+             d="m 521.2317,144.34947 c 0.23817,3.79404 0.47632,8.7344 0.75,12.31122 0.30019,3.92328 0.63456,7.70788 0.975,11.35 0.34043,3.64213 0.69712,7.11372 1.075,10.45 0.37787,3.33627 0.76248,6.51929 1.175,9.525 0.41251,3.00571 0.85564,5.84955 1.3,8.5 0.44436,2.65045 0.9016,5.12953 1.375,7.4 0.4734,2.27046 0.95035,4.33421 1.45,6.2 0.49964,1.8658 1.0269,3.5136 1.55,4.95 0.52309,1.4364 1.05624,2.66769 1.6,3.65 0.54375,0.98231 1.08839,1.72149 1.65,2.225 0.48508,0.4349 0.97854,0.6145 1.475,0.675 -0.0913,-0.003 -0.18259,0.001 -0.275,0 -1.17024,-0.0491 -2.33157,-0.19746 -3.475,-0.55 -1.3238,-0.40815 -2.61828,-1.00373 -3.9,-1.8 -1.28172,-0.79627 -2.54196,-1.78564 -3.775,-2.95 -1.23304,-1.16436 -2.44724,-2.51257 -3.625,-4.025 -1.17777,-1.51243 -2.33411,-3.18454 -3.45,-5.025 -1.1159,-1.84046 -2.17757,-3.85152 -3.225,-6 -1.04744,-2.14848 -2.07764,-4.43854 -3.05,-6.875 -0.97237,-2.43646 -1.90929,-5.02058 -2.8,-7.725 -0.89071,-2.70442 -1.72254,-5.52266 -2.525,-8.475 -0.80246,-2.95234 -1.56739,-6.01975 -2.275,-9.2 -0.70761,-3.18025 -1.36883,-6.48688 -1.975,-9.875 -0.60617,-3.38812 -1.15188,-6.87404 -1.65,-10.45 -0.49812,-3.57596 -0.94151,-8.44243 -1.325,-12.18622 -0.27797,-2.71364 -0.48525,-5.50725 -0.7,-8.3 0.0897,-0.11203 0.18586,-0.21188 0.275,-0.325 1.21986,1.4762 2.504,2.89224 3.85,4.225 1.34599,1.3328 2.76324,2.59737 4.225,3.775 1.46176,1.17764 2.98283,2.26427 4.55,3.275 1.56716,1.01073 3.18778,1.94293 4.85,2.775 1.6622,0.83207 3.35309,1.58333 5.1,2.225 0.26185,0.0962 0.53656,0.15823 0.8,0.25 z"
+             id="path4297-1"
+             sodipodi:nodetypes="cssssssssssccssssssssssssscccssscc" /><path
+             inkscape:connector-curvature="0"
+             style="fill:#666666;fill-opacity:1;stroke:none"
+             d="m 535.9817,221.61069 c 0.52554,-0.0396 1.06213,-0.24019 1.575,-0.7 0.56164,-0.50351 1.1062,-1.24269 1.65,-2.225 0.5438,-0.98231 1.07684,-2.2136 1.6,-3.65 0.52313,-1.4364 1.02528,-3.0842 1.525,-4.95 0.49972,-1.86579 1.00152,-3.92954 1.475,-6.2 0.47347,-2.27047 0.93055,-4.74955 1.375,-7.4 0.44444,-2.65045 0.86239,-5.49429 1.275,-8.5 0.41259,-3.00571 0.82203,-6.18873 1.2,-9.525 0.37796,-3.33628 0.73448,-6.80787 1.075,-10.45 0.34052,-3.64212 0.67471,-7.42672 0.975,-11.35 0.25464,-3.32714 0.47827,-8.0186 0.7,-11.53622 1.12307,-0.32362 2.25546,-0.62294 3.35,-1.025 1.74689,-0.64167 3.43778,-1.39293 5.1,-2.225 1.66222,-0.83207 3.28283,-1.76427 4.85,-2.775 1.56718,-1.01074 3.08823,-2.09736 4.55,-3.275 1.46176,-1.17763 2.85401,-2.4422 4.2,-3.775 0.54409,-0.53875 1.05073,-1.13866 1.575,-1.7 -0.1704,2.03794 -0.32062,4.10535 -0.525,6.1 -0.38362,3.74379 -0.82672,8.61026 -1.325,12.18622 -0.49828,3.57596 -1.06866,7.06188 -1.675,10.45 -0.60635,3.38812 -1.2422,6.69475 -1.95,9.875 -0.70781,3.18025 -1.47234,6.24766 -2.275,9.2 -0.80267,2.95234 -1.65908,5.77058 -2.55,8.475 -0.89093,2.70442 -1.82743,5.28854 -2.8,7.725 -0.97258,2.43646 -1.97737,4.72652 -3.025,6.875 -1.04764,2.14848 -2.13392,4.15954 -3.25,6 -1.11608,1.84046 -2.27208,3.51257 -3.45,5.025 -1.17793,1.51243 -2.36684,2.86064 -3.6,4.025 -1.23317,1.16436 -2.49319,2.15373 -3.775,2.95 -1.28182,0.79627 -2.60115,1.39185 -3.925,1.8 -1.22501,0.37768 -2.46944,0.54616 -3.725,0.575 -0.0674,-5.5e-4 -0.13341,0.002 -0.2,0 z"
+             id="path4295-2"
+             sodipodi:nodetypes="ccscssssssscssssscssssssssssssscc" /><path
+             inkscape:connector-curvature="0"
+             style="fill:#868383;fill-opacity:1;stroke:none"
+             d="m 535.8067,221.61069 c -0.0666,-0.002 -0.13338,-0.0226 -0.2,-0.025 -0.49646,-0.0605 -0.98992,-0.2401 -1.475,-0.675 -0.56161,-0.50351 -1.10625,-1.24269 -1.65,-2.225 -0.54376,-0.98231 -1.07691,-2.2136 -1.6,-3.65 -0.5231,-1.4364 -1.05036,-3.0842 -1.55,-4.95 -0.49965,-1.86579 -0.9766,-3.92954 -1.45,-6.2 -0.4734,-2.27047 -0.93064,-4.74955 -1.375,-7.4 -0.44436,-2.65045 -0.88749,-5.49429 -1.3,-8.5 -0.41252,-3.00571 -0.79713,-6.18873 -1.175,-9.525 -0.37788,-3.33628 -0.73457,-6.80787 -1.075,-10.45 -0.34044,-3.64212 -0.67481,-7.42672 -0.975,-11.35 -0.27368,-3.57682 -0.51183,-7.30596 -0.75,-11.1 1.49404,0.52042 3.00178,1.00134 4.55,1.375 1.82122,0.43954 3.68981,0.74936 5.575,0.975 1.88516,0.22565 3.78624,0.35 5.725,0.35 1.93876,0 3.86483,-0.12435 5.75,-0.35 1.88516,-0.22564 3.75377,-0.53546 5.575,-0.975 0.68012,-0.16414 1.33062,-0.40711 2,-0.6 -0.22173,3.51762 -0.44536,6.99786 -0.7,10.325 -0.30029,3.92328 -0.63448,7.70788 -0.975,11.35 -0.34052,3.64213 -0.69704,7.11372 -1.075,10.45 -0.37797,3.33627 -0.78741,6.51929 -1.2,9.525 -0.41261,3.00571 -0.83056,5.84955 -1.275,8.5 -0.44445,2.65045 -0.90153,5.12953 -1.375,7.4 -0.47348,2.27046 -0.97528,4.33421 -1.475,6.2 -0.49972,1.8658 -1.00187,3.5136 -1.525,4.95 -0.52316,1.4364 -1.0562,2.66769 -1.6,3.65 -0.5438,0.98231 -1.08836,1.72149 -1.65,2.225 -0.51287,0.45981 -1.04946,0.66041 -1.575,0.7 -0.0582,-0.002 -0.117,0.002 -0.175,0 z"
+             id="path3452-8-7" /></g></g></g></g></svg>
\ No newline at end of file
diff --git a/contrib/action_nitro/net.xymus.action_nitro.txt b/contrib/action_nitro/net.xymus.action_nitro.txt
new file mode 100644 (file)
index 0000000..2acd516
--- /dev/null
@@ -0,0 +1,11 @@
+Categories:Nit,Games
+License:Apache2
+Web Site:http://nitlanguage.org
+Source Code:http://nitlanguage.org/nit.git/tree/HEAD:/contrib/action_nitro
+Issue Tracker:https://github.com/nitlang/nit/issues
+
+Summary:Jump from plate to plane to reach the ISS and defeat the bad guys
+Description:
+Simple action platformer using many features of the gamnit game framework.
+This was created by the Nit team in a weekend for the clibre gamejam 2016.
+.
index b780a5d..25ed15d 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-module action_nitro
+module action_nitro is
+       app_name "Action Nitro"
+       app_namespace "net.xymus.action_nitro"
+       app_version(1, 0, git_revision)
+
+       android_manifest_activity """android:screenOrientation="sensorLandscape""""
+       android_api_target 15
+end
 
 import gamnit::depth
 import gamnit::keys
@@ -32,7 +39,7 @@ redef class App
        # Game world assets
 
        # Textures of the biplane, jet, helicopter, parachute and powerups
-       private var planes_sheet = new PlanesImages
+       var planes_sheet = new PlanesImages
 
        # Animation for the player movement
        private var player_textures: Array[Texture] =
@@ -122,6 +129,9 @@ redef class App
        private var altitude_counter = new CounterSprites(texts_sheet.n,
                new Point3d[Float](1400.0, -64.0, 0.0))
 
+       # Did the player asked to skip the intro animation?
+       private var skip_intro = false
+
        redef fun on_create
        do
                super
@@ -240,7 +250,7 @@ redef class App
                # Cinematic?
                var t = world.t
                var intro_duration = 8.0
-               if t < intro_duration then
+               if t < intro_duration and not skip_intro then
                        var pitch = t/intro_duration
                        pitch = (pitch*pi).sin
                        world_camera.pitch = pitch
@@ -248,16 +258,10 @@ redef class App
                end
 
                if world.player == null then
-                       # Game is starting!
-                       world.spawn_player
-                       world.planes.add new Airplane(new Point3d[Float](0.0, world.player.center.y - 10.0, 0.0), 16.0, 4.0)
-
-                       # Setup tutorial
-                       ui_sprites.clear
-                       ui_sprites.add_all([tutorial_wasd, tutorial_arrows, tutorial_chute])
-
                        world_camera.pitch = 0.0
                        world_camera.far = 700.0
+
+                       begin_play true
                end
 
                # Update counters
@@ -336,6 +340,20 @@ redef class App
                end
        end
 
+       # Begin playing, after intro if `initial`, otherwise after death
+       fun begin_play(initial: Bool)
+       do
+               ui_sprites.clear
+
+               world.spawn_player
+               world.planes.add new Airplane(new Point3d[Float](0.0, world.player.center.y - 10.0, 0.0), 16.0, 4.0)
+
+               if initial then
+                       # Setup tutorial
+                       ui_sprites.add_all([tutorial_wasd, tutorial_arrows, tutorial_chute])
+               end
+       end
+
        # Seconds at which the game was won, using `world.t` as reference
        private var won_at: nullable Float = null
 
@@ -350,7 +368,7 @@ redef class App
 
        redef fun accept_event(event)
        do
-               var s = super
+               if super then return true
 
                if event isa QuitEvent then
                        print perfs
@@ -397,17 +415,20 @@ redef class App
                                        else player.sprite.as(PlayerSprite).start_running
                                end
                        end
+               end
 
-                       # When player is dead, respawn on spacebar
-                       if player != null and not player.is_alive then
-                               if event.name == "space" then
-                                       ui_sprites.clear
-                                       world.spawn_player
-                               end
+               # When player is dead, respawn on spacebar or pointer depressed
+               if (event isa KeyEvent and event.name == "space") or
+                  (event isa PointerEvent and not event.is_move and event.depressed) then
+                       var player = world.player
+                       if player == null then
+                               skip_intro = true
+                       else if not player.is_alive then
+                               begin_play false
                        end
                end
 
-               return s
+               return false
        end
 end
 
index 9e437a1..25cf457 100644 (file)
@@ -238,7 +238,7 @@ abstract class Body
        end
 
        # Destroy this objects and most references to it
-       protected fun destroy(world: World) do end
+       fun destroy(world: World) do end
 
        # ---
        # Box services
index 94cb237..667783c 100644 (file)
@@ -40,7 +40,7 @@ redef class World
                for i in planes.reverse_iterator do
                        if i.out_of_screen(p, self) then
                                #print "Despawning plane"
-                               i.die(self)
+                               i.destroy self
                        end
                end
 
@@ -118,14 +118,14 @@ redef class World
                if p == null then return
                if p.altitude >= boss_altitude then
                        for e in enemies.reverse_iterator do if e isa JetpackEnemy then
-                               e.die(self)
+                               e.destroy self
                        end
                        return
                end
                for i in enemies.reverse_iterator do
                        if i.out_of_screen(p, self) then
                                #print "Despawning enemy"
-                               i.die(self)
+                               i.destroy self
                        end
                end
 
diff --git a/contrib/action_nitro/src/touch_ui.nit b/contrib/action_nitro/src/touch_ui.nit
new file mode 100644 (file)
index 0000000..b97be7e
--- /dev/null
@@ -0,0 +1,38 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import gamnit::virtual_gamepad
+
+import action_nitro
+
+redef class App
+       redef fun on_create
+       do
+               super
+
+               var gamepad = new VirtualGamepad
+               gamepad.add_dpad(["up","left","down","right"])
+               gamepad.add_dpad(["w","a","s","d"])
+               gamepad.add_button("space", planes_sheet.open_chute)
+               self.gamepad = gamepad
+       end
+
+       redef fun begin_play(initial)
+       do
+               super
+
+               var gamepad = self.gamepad
+               if gamepad != null then gamepad.visible = true
+       end
+end
index fef1d76..aee8027 100644 (file)
@@ -9,14 +9,10 @@ bin/asteronits: $(shell ${NITLS} -M src/asteronits.nit linux) pre-build
 bin/texture_atlas_parser: ../../lib/gamnit/texture_atlas_parser.nit
        ${NITC} ../../lib/gamnit/texture_atlas_parser.nit -o $@
 
-src/controls.nit: art/controls.svg
-       make -C ../inkscape_tools/
-       ../inkscape_tools/bin/svg_to_png_and_nit art/controls.svg -a assets/ -s src/ -x 2.0 -g
-
 src/spritesheet.nit: bin/texture_atlas_parser
        bin/texture_atlas_parser art/sheet.xml --dir src/ -n spritesheet
 
-pre-build: src/controls.nit src/spritesheet.nit
+pre-build: src/spritesheet.nit
 
 check: bin/asteronits
        NIT_TESTING=true bin/asteronits
index e5ffedf..41c8657 100644 (file)
@@ -230,15 +230,15 @@ redef class KeyEvent
        # How does this event affect the ship thrust?
        fun thrust: Float
        do
-               if is_arrow_up or name == "w" then return 1.0
+               if name == "up" or name == "w" then return 1.0
                return 0.0
        end
 
        # How does this event affect the ship thrust?
        fun rotation: Float
        do
-               if is_arrow_right or name == "d" then return -1.0
-               if is_arrow_left or name == "a" then return 1.0
+               if name == "right" or name == "d" then return -1.0
+               if name == "left" or name == "a" then return 1.0
                return 0.0
        end
 end
index 388cd35..bd8bfa5 100644 (file)
 # Touchscreen UI for mobile devices
 module touch_ui
 
+import gamnit::virtual_gamepad
+
 import asteronits
-import controls
 
 redef class App
-
-       # Controls texture
-       var spritesheet_controls = new ControlsImages
-
-       private var joystick_x = 200.0
-       private var joystick_y = 100.0
-
-       redef fun accept_event(event)
-       do
-               super
-
-               var display = display
-               if display == null then return false
-
-               if event isa PointerEvent and not event.is_move then
-
-                       # Convert input coordinates from screen coordinates to UI units.
-                       # Effectively reverting the transformation created by `ui_camera.reset_height`.
-                       var ui_pos = ui_camera.camera_to_ui(event.x, event.y)
-
-                       var ship = world.ship
-
-                       if ui_pos.y.to_i > display.height/2 then
-                               # Lower half of the screen
-                               if ui_pos.x.to_i > display.width/2 then
-                                       # Bottom right
-                                       if event.pressed then ship.fire
-                               else
-                                       # Bottom left
-                                       var dx = ui_pos.x - joystick_x
-                                       var dy = ui_pos.y - (ui_camera.height - joystick_y)
-
-                                       # Any touch in the joystick reset all joystick effects.
-                                       # It prevents leaving a button without releasing by moving
-                                       # the pointer over another button.
-                                       ship.applied_rotation = 0.0
-                                       ship.applied_thrust = 0.0
-
-                                       if not event.pressed then return true
-
-                                       if dy > 0.0 then
-                                               # Bottom part of the joystick, turns left or right
-                                               if dx < 0.0 then
-                                                       ship.applied_rotation = 1.0
-                                               else
-                                                       ship.applied_rotation = -1.0
-                                               end
-                                       else
-                                               # Upper part of the joystick, detect action using 45d angles
-                                               if dx < dy then
-                                                       ship.applied_rotation = 1.0
-                                               else if dx > -dy then
-                                                       ship.applied_rotation = -1.0
-                                               else
-                                                       ship.applied_thrust = 1.0
-                                               end
-                                       end
-                               end
-                       end
-                       return true
-               end
-
-               return false
-       end
-
        redef fun on_create
        do
                super
 
-               var display = display
-               assert display != null
-
-               # Standardize the UI size to look like a 1600 pixels high screen.
-               # Meaning that the controls have a size proportional to the height of each screen.
-               # In the code, we can use "pixel" precision as if the target screen was 1600 pixels high.
-               ui_camera.reset_height 800.0
-
-               # Add the joystick to the UI
-               ui_sprites.add new Sprite(spritesheet_controls.forward,
-                       ui_camera.bottom_left.offset(joystick_x, 200.0, 0.0))
-               ui_sprites.add new Sprite(spritesheet_controls.left,
-                       ui_camera.bottom_left.offset(joystick_x-100.0, joystick_y, 0.0))
-               ui_sprites.add new Sprite(spritesheet_controls.right,
-                       ui_camera.bottom_left.offset(joystick_x+100.0, joystick_y, 0.0))
-
-               # Purely cosmetic joystick background
-               ui_sprites.add new Sprite(spritesheet_controls.joystick_back,
-                       ui_camera.bottom_left.offset(joystick_x, joystick_y, -1.0)) # In the back
-               ui_sprites.add new Sprite(spritesheet_controls.joystick_down,
-                       ui_camera.bottom_left.offset(joystick_x, 0.0, 1.0))
-
-               # Add the "open fire" button
-               ui_sprites.add new Sprite(spritesheet_controls.fire,
-                       ui_camera.bottom_right.offset(-150.0, 150.0, 0.0))
+               var gamepad = new VirtualGamepad
+               gamepad.add_dpad
+               gamepad.controls.first.as(DPad).show_down = false
+               gamepad.add_button("space", gamepad_spritesheet.fire)
+               gamepad.visible = true
+               self.gamepad = gamepad
        end
 end
index 5ee9d87..96663c7 100644 (file)
@@ -200,7 +200,7 @@ class AndroidPointerEvent
                motion_event.just_went_down
 
        # Unique id of this pointer since the beginning of the gesture
-       fun pointer_id: Int do return native_pointer_id(motion_event.native, pointer_index)
+       redef fun pointer_id do return native_pointer_id(motion_event.native, pointer_index)
 
        private fun native_pointer_id(motion_event: NativeAndroidMotionEvent, pointer_index: Int): Int `{
                return AMotionEvent_getPointerId(motion_event, pointer_index);
index be7edcf..401e1ce 100644 (file)
@@ -234,22 +234,34 @@ class UICamera
 
                var wx = x.to_f * width / display.width.to_f - position.x
                var wy = y.to_f * height / display.height.to_f - position.y
-               return new Point[Float](wx, wy)
+               return new Point[Float](wx, -wy)
        end
 
        # Center of the screen, from the point of view of the camera, at z = 0
        fun center: Point3d[Float] do return new Point3d[Float](position.x + width / 2.0, position.y - height / 2.0, 0.0)
 
-       # Anchor in the top left corner of the screen, at z = 0
+       # Center of the top of the screen, at z = 0
+       fun top: Point3d[Float] do return new Point3d[Float](position.x + width / 2.0, position.y, 0.0)
+
+       # Center of the bottom of the screen, at z = 0
+       fun bottom: Point3d[Float] do return new Point3d[Float](position.x + width / 2.0, position.y - height, 0.0)
+
+       # Center of the left border of the screen, at z = 0
+       fun left: Point3d[Float] do return new Point3d[Float](position.x, position.y - height / 2.0, 0.0)
+
+       # Center of the right border of the screen, at z = 0
+       fun right: Point3d[Float] do return new Point3d[Float](position.x + width, position.y - height / 2.0, 0.0)
+
+       # Top left corner of the screen, at z = 0
        fun top_left: Point3d[Float] do return new Point3d[Float](position.x, position.y, 0.0)
 
-       # Anchor in the top right corner of the screen, at z = 0
+       # Top right corner of the screen, at z = 0
        fun top_right: Point3d[Float] do return new Point3d[Float](position.x + width, position.y, 0.0)
 
-       # Anchor in the bottom left corner of the screen, at z = 0
+       # Bottom left corner of the screen, at z = 0
        fun bottom_left: Point3d[Float] do return new Point3d[Float](position.x, position.y - height, 0.0)
 
-       # Anchor in the bottom right corner of the screen, at z = 0
+       # Bottom right corner of the screen, at z = 0
        fun bottom_right: Point3d[Float] do return new Point3d[Float](position.x + width, position.y - height, 0.0)
 
        # TODO cache the anchors and the matrix
index d59d7e3..6774f4f 100644 (file)
@@ -676,6 +676,10 @@ private class SpriteSet
 
        redef fun clear
        do
+               for sprite in self do
+                       sprite.context = null
+                       sprite.sprite_set = null
+               end
                super
                for c in contexts_items do c.destroy
                contexts_map.clear
index 85e9e1e..014d397 100644 (file)
 # As a `Set`, `app.pressed_keys` can be iterated and queried with `has`.
 #
 # Limitations: The keys names are platform dependent.
+#
+# ~~~nitish
+# redef class App
+#     redef fun accept_event(event)
+#     do
+#         # First, pass the event to `super`, `pressed_keys` must see all
+#         # events but it doesn't intercept any of them.
+#         if super then return true
+#         return false
+#     end
+#
+#     redef fun update(dt)
+#     do
+#         for key in pressed_keys do
+#             if k == "left" or k == "a" then
+#                 # Act on key pressed down
+#                 print "left or a is pressed down"
+#             end
+#         end
+#     end
+# end
+# ~~~
 module keys
 
 import mnit::input
diff --git a/lib/gamnit/virtual_gamepad/Makefile b/lib/gamnit/virtual_gamepad/Makefile
new file mode 100644 (file)
index 0000000..9eaa13e
--- /dev/null
@@ -0,0 +1,6 @@
+INKSCAPE_DIR ?= $(shell nitls -pP inkscape_tools)
+
+src/gamnit_touch_gamepad.nit: art/virtual_gamepad.svg
+       make -C ${INKSCAPE_DIR}
+       ${INKSCAPE_DIR}/bin/svg_to_png_and_nit -g --src virtual_gamepad_spritesheet.nit --scale 2.0 art/virtual_gamepad.svg
+       sed 's/Virtual_GamepadImages/VirtualGamepadSpritesheet/' -i virtual_gamepad_spritesheet.nit
similarity index 67%
rename from contrib/asteronits/art/controls.svg
rename to lib/gamnit/virtual_gamepad/art/virtual_gamepad.svg
index 903898d..84de166 100644 (file)
@@ -13,7 +13,7 @@
    inkscape:version="0.48.5 r10040"
    width="900"
    height="592"
-   sodipodi:docname="controls.svg">
+   sodipodi:docname="virtual_gamepad.svg">
   <metadata
      id="metadata501">
     <rdf:RDF>
     </rdf:RDF>
   </metadata>
   <sodipodi:namedview
-     pagecolor="#ffffff"
+     pagecolor="#0c0000"
      bordercolor="#666666"
      borderopacity="1"
      objecttolerance="10"
      gridtolerance="10"
      guidetolerance="10"
-     inkscape:pageopacity="0"
+     inkscape:pageopacity="0.2"
      inkscape:pageshadow="2"
      inkscape:window-width="2558"
      inkscape:window-height="1379"
      fit-margin-left="0"
      fit-margin-right="0"
      fit-margin-bottom="0"
-     inkscape:zoom="2.5371829"
-     inkscape:cx="273.28266"
-     inkscape:cy="501.2337"
+     inkscape:zoom="1.2685915"
+     inkscape:cx="600.13017"
+     inkscape:cy="199.49496"
      inkscape:window-x="2560"
      inkscape:window-y="27"
      inkscape:window-maximized="1"
-     inkscape:current-layer="0joystick_down" />
+     inkscape:current-layer="svg2" />
   <defs
      id="defs4">
     <linearGradient
        x2="819.20001" />
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#gradient19"
-       id="linearGradient3752"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0,-0.02935791,0.02929688,0,174,566)"
-       spreadMethod="pad"
-       x1="-819.20001"
-       x2="819.20001" />
-    <linearGradient
-       inkscape:collect="always"
        xlink:href="#gradient20"
        id="linearGradient3754"
        gradientUnits="userSpaceOnUse"
        x2="819.20001" />
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#gradient47"
-       id="linearGradient3845"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0,-0.04882812,0.04882812,0,680,552)"
-       spreadMethod="pad"
-       x1="-819.20001"
-       x2="819.20001" />
-    <linearGradient
-       inkscape:collect="always"
        xlink:href="#gradient46"
        id="linearGradient3849"
        gradientUnits="userSpaceOnUse"
        xlink:href="#gradient43"
        id="linearGradient3863"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0,-0.05267334,0.05264282,0,80.05,62.05)"
+       gradientTransform="matrix(0,-0.05539657,0.05536448,0,80.05,62.048707)"
        spreadMethod="pad"
        x1="-819.20001"
        x2="819.20001" />
        x2="819.20001" />
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#gradient34"
-       id="linearGradient3901"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0,-0.02935791,0.02929688,0,54,566)"
-       spreadMethod="pad"
-       x1="-819.20001"
-       x2="819.20001" />
-    <linearGradient
-       inkscape:collect="always"
        xlink:href="#gradient33"
        id="linearGradient3905"
        gradientUnits="userSpaceOnUse"
        spreadMethod="pad"
        x1="-819.20001"
        x2="819.20001" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#gradient52"
+       id="linearGradient3436"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,-0.04882812,0.04882812,0,410,552)"
+       spreadMethod="pad"
+       x1="-819.20001"
+       x2="819.20001" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#gradient47"
+       id="linearGradient4248"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,-0.04882812,0.04882812,0,680,552)"
+       spreadMethod="pad"
+       x1="-819.20001"
+       x2="819.20001" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#gradient47"
+       id="linearGradient3408"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,-0.04882812,0.04882812,0,680,552)"
+       spreadMethod="pad"
+       x1="-819.20001"
+       x2="819.20001" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#gradient50"
+       id="linearGradient3413"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,-0.04882812,0.04882812,0,860,552)"
+       spreadMethod="pad"
+       x1="-819.20001"
+       x2="819.20001" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#gradient45"
+       id="linearGradient3420"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,-0.04882812,0.04882812,0,860,462)"
+       spreadMethod="pad"
+       x1="-819.20001"
+       x2="819.20001" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#gradient24"
+       id="linearGradient3425"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,-0.04882812,0.04882812,0,860,372)"
+       spreadMethod="pad"
+       x1="-819.20001"
+       x2="819.20001" />
   </defs>
   <path
+     style="fill:#383838;stroke:none"
+     inkscape:connector-curvature="0"
+     id="path419"
+     d="M 875.66922,176.27895 Q 898.78698,199.39671 898.78698,232 l 0,0.51834 0,0.51833 0,0.25917 0,0.7775 0,0.1555 q -0.77751,31.15196 -23.11776,53.44038 -12.38822,12.38821 -27.47178,18.14174 -13.06205,4.97602 -28.19744,4.97602 -15.23906,0 -28.30111,-4.97602 -15.18723,-5.75353 -27.52361,-18.14174 -22.13292,-22.23659 -22.96226,-53.28488 l 0,-0.311 0,-0.25917 0,-0.7775 0,-1.03667 q 0,-32.60329 22.96226,-55.72105 23.01409,-23.06593 55.82472,-23.06593 32.60329,0 55.66922,23.06593" />
+  <path
      style="fill:url(#linearGradient3714);stroke:none"
      inkscape:connector-curvature="0"
      id="path273"
      id="path347"
      d="m 243,547.2 q 0,-2.2 2.2,-2.2 l 97.65,0 q 2.15,0 2.15,2.2 l 0,37.8 q -0.05,2 -2.15,2 l -97.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85" />
   <path
-     style="fill:url(#linearGradient3752);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path349"
-     d="m 225,585 0,-37.8 q 0,-2.2 -2.15,-2.2 l -97.65,0 q -2.2,0 -2.2,2.2 l 0,37.85 q 0.1,1.95 2.2,1.95 l 97.65,0 q 2.1,0 2.15,-2 m 3,-37.8 0,37.85 q -0.1,4.95 -5.15,4.95 l -97.65,0 q -5.1,0 -5.2,-4.95 l 0,-37.85 q 0,-5.2 5.2,-5.2 l 97.65,0 q 5.15,0 5.15,5.2" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path351"
-     d="m 225,585 q -0.05,2 -2.15,2 l -97.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85 q 0,-2.2 2.2,-2.2 l 97.65,0 q 2.15,0 2.15,2.2 l 0,37.8" />
-  <path
-     style="fill:url(#linearGradient3754);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path353"
-     d="M 708.25,433.7 Q 720,445.45 720,462 720,478.55 708.25,490.25 696.55,502 680,502 663.35,502 651.65,490.25 640,478.55 640,462 640,445.45 651.65,433.7 663.35,422 680,422 q 16.55,0 28.25,11.7 M 645.7,462 q 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path355"
-     d="m 645.7,462 q 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 Q 645.7,476.25 645.7,462" />
-  <path
-     style="fill:url(#linearGradient3756);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path357"
-     d="M 618.25,433.7 Q 630,445.45 630,462 630,478.55 618.25,490.25 606.55,502 590,502 573.35,502 561.65,490.25 550,478.55 550,462 550,445.45 561.65,433.7 573.35,422 590,422 q 16.55,0 28.25,11.7 M 555.7,462 q 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path359"
-     d="m 555.7,462 q 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 Q 555.7,476.25 555.7,462" />
-  <path
-     style="fill:url(#linearGradient3758);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path361"
-     d="m 500,422 q 16.55,0 28.25,11.7 Q 540,445.45 540,462 540,478.55 528.25,490.25 516.55,502 500,502 483.35,502 471.65,490.25 460,478.55 460,462 460,445.45 471.65,433.7 483.35,422 500,422 m 24.2,64.2 q 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path363"
-     d="m 524.2,486.2 q -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2" />
-  <path
-     style="fill:url(#linearGradient3760);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path365"
-     d="m 434.2,486.2 q 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 m 4.05,-52.5 Q 450,445.45 450,462 450,478.55 438.25,490.25 426.55,502 410,502 393.35,502 381.65,490.25 370,478.55 370,462 370,445.45 381.65,433.7 393.35,422 410,422 q 16.55,0 28.25,11.7" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path367"
-     d="m 434.2,486.2 q -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2" />
-  <path
-     style="fill:url(#linearGradient3762);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path369"
-     d="M 831.65,343.7 Q 843.35,332 860,332 q 16.55,0 28.25,11.7 Q 900,355.45 900,372 900,388.55 888.25,400.25 876.55,412 860,412 843.35,412 831.65,400.25 820,388.55 820,372 q 0,-16.55 11.65,-28.3 m 4.1,4.05 q -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path371"
-     d="m 835.75,347.75 q 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25" />
-  <path
-     style="fill:url(#linearGradient3764);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path373"
-     d="M 741.65,343.7 Q 753.35,332 770,332 q 16.55,0 28.25,11.7 Q 810,355.45 810,372 810,388.55 798.25,400.25 786.55,412 770,412 753.35,412 741.65,400.25 730,388.55 730,372 q 0,-16.55 11.65,-28.3 m 4.1,4.05 q -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path375"
-     d="m 745.75,347.75 q 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25" />
-  <path
-     style="fill:url(#linearGradient3766);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path377"
-     d="M 651.65,343.7 Q 663.35,332 680,332 q 16.55,0 28.25,11.7 Q 720,355.45 720,372 720,388.55 708.25,400.25 696.55,412 680,412 663.35,412 651.65,400.25 640,388.55 640,372 q 0,-16.55 11.65,-28.3 m 4.1,4.05 q -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path379"
-     d="m 655.75,347.75 q 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25" />
-  <path
-     style="fill:url(#linearGradient3768);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path381"
-     d="M 561.65,343.7 Q 573.35,332 590,332 q 16.55,0 28.25,11.7 Q 630,355.45 630,372 630,388.55 618.25,400.25 606.55,412 590,412 573.35,412 561.65,400.25 550,388.55 550,372 q 0,-16.55 11.65,-28.3 m 4.1,4.05 q -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path383"
-     d="m 565.75,347.75 q 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25" />
-  <path
-     style="fill:url(#linearGradient3770);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path385"
-     d="m 540,372 q 0,16.55 -11.75,28.25 Q 516.55,412 500,412 483.35,412 471.65,400.25 460,388.55 460,372 460,355.45 471.65,343.7 483.35,332 500,332 q 16.55,0 28.25,11.7 Q 540,355.45 540,372 m -5.7,0 q 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path387"
-     d="m 534.3,372 q 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25" />
-  <path
-     style="fill:url(#linearGradient3772);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path389"
-     d="M 381.65,343.7 Q 393.35,332 410,332 q 16.55,0 28.25,11.7 Q 450,355.45 450,372 450,388.55 438.25,400.25 426.55,412 410,412 393.35,412 381.65,400.25 370,388.55 370,372 q 0,-16.55 11.65,-28.3 M 444.3,372 q 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path391"
-     d="m 444.3,372 q 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25" />
-  <path
      style="fill:url(#linearGradient3774);stroke:none"
      inkscape:connector-curvature="0"
      id="path393"
      id="path407"
      d="m 467,157 0,45 q 0,1.65 1.2,2.85 1.15,1.15 2.8,1.15 l 43.95,0 q 1,0 1,1 l 0,51 q 0,1 -1,1 L 471,259 q -1.65,0 -2.8,1.2 -1.2,1.15 -1.2,2.8 l 0,43.95 q 0,1 -1,1 l -51,0 q -1,0 -1,-1 L 414,263 q 0,-1.65 -1.15,-2.8 -1.2,-1.2 -2.85,-1.2 l -45,0 q -1,0 -1,-1 l 0,-51 q 0,-1 1,-1 l 45,0 q 1.65,0 2.85,-1.15 1.15,-1.2 1.15,-2.85 l 0,-45 q 0,-1 1,-1 l 51,0 q 1,0 1,1" />
   <path
-     style="fill:url(#linearGradient3901);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path409"
-     d="m 3,547.2 0,37.85 Q 3.1,587 5.2,587 l 97.65,0 q 2.1,0 2.15,-2 l 0,-37.8 q 0,-2.2 -2.15,-2.2 L 5.2,545 Q 3,545 3,547.2 M 0,585.05 0,547.2 Q 0,542 5.2,542 l 97.65,0 q 5.15,0 5.15,5.2 l 0,37.85 Q 107.9,590 102.85,590 L 5.2,590 Q 0.1,590 0,585.05" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path411"
-     d="M 3,547.2 Q 3,545 5.2,545 l 97.65,0 q 2.15,0 2.15,2.2 l 0,37.8 q -0.05,2 -2.15,2 L 5.2,587 Q 3.1,587 3,585.05 L 3,547.2" />
-  <path
      style="fill:#666666;stroke:none"
      inkscape:connector-curvature="0"
      id="path413"
      id="path417"
      d="M 873.7,178.25 Q 851.45,156 820,156 788.35,156 766.15,178.25 744,200.55 744,232 l 0,1 0,0.75 0,0.25 0,0.3 q 0.8,29.95 22.15,51.4 11.9,11.95 26.55,17.5 12.6,4.8 27.3,4.8 14.6,0 27.2,-4.8 14.55,-5.55 26.5,-17.5 21.55,-21.5 22.3,-51.55 l 0,-0.15 0,-0.75 0,-0.25 0,-0.5 0,-0.5 q 0,-31.45 -22.3,-53.75 m 2.8,-2.85 Q 900,198.9 900,232 l 0,0.5 0,0.5 0,0.25 0,0.75 0,0.25 q -0.8,31.65 -23.5,54.25 -12.55,12.6 -27.9,18.45 Q 835.35,312 820,312 804.55,312 791.25,306.95 775.85,301.1 763.3,288.5 740.8,265.9 740,234.3 l 0,-0.3 0,-0.25 0,-0.75 0,-1 q 0,-33.1 23.3,-56.6 23.4,-23.4 56.7,-23.4 33.1,0 56.5,23.4" />
   <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path419"
-     d="M 873.7,178.25 Q 896,200.55 896,232 l 0,0.5 0,0.5 0,0.25 0,0.75 0,0.15 q -0.75,30.05 -22.3,51.55 -11.95,11.95 -26.5,17.5 -12.6,4.8 -27.2,4.8 -14.7,0 -27.3,-4.8 -14.65,-5.55 -26.55,-17.5 Q 744.8,264.25 744,234.3 l 0,-0.3 0,-0.25 0,-0.75 0,-1 q 0,-31.45 22.15,-53.75 Q 788.35,156 820,156 q 31.45,0 53.7,22.25" />
-  <path
      style="fill:url(#linearGradient3891);stroke:none"
      inkscape:connector-curvature="0"
      id="path421"
      id="path429"
      d="M 817.2,59.15 Q 818.4,58 820,58 q 1.65,0 2.85,1.15 0.95,1 1.15,2.35 l 0,0.5 q 0,1.6 -1.15,2.8 -1.2,1.2 -2.85,1.2 -1.6,0 -2.8,-1.2 Q 816,63.6 816,62 l 0.05,-0.5 q 0.15,-1.35 1.15,-2.35" />
   <g
-     id="0forward"
+     id="0dpad_up"
      inkscape:label="#g3999">
     <path
        d="m 656,72 q 5,0 5,5 l 0,40 -30.5,30.5 L 600,117 600,77 q 0,-5 5,-5 l 51,0 m 1,5 q 0,-1 -1,-1 l -51,0 q -1,0 -1,1 l 0,38.35 26.5,26.5 26.5,-26.5 0,-38.35"
        style="fill:url(#linearGradient3882);stroke:none" />
     <path
        id="path3989"
-       d="m 657,77 0,38.35 -26.5,26.5 L 604,115.35 604,77 q 0,-1 1,-1 l 51,0 q 1,0 1,1"
-       style="fill:#383838;stroke:none" />
+       d="m 658.325,75.40375 0,40.2675 -27.825,27.825 -27.825,-27.825 0,-40.2675 q 0,-1.05 1.05,-1.05 l 53.55,0 q 1.05,0 1.05,1.05"
+       style="fill:#383838;stroke:none"
+       inkscape:connector-curvature="0" />
     <path
        id="path3987"
        d="m 631,87 q -0.4,0 -0.7,0.3 l -5,5.05 -0.05,0 q -0.3,0.3 -0.25,0.65 l 0.05,0.4 q 0.25,0.6 0.9,0.6 L 636,94 q 0.65,0 0.9,-0.6 0.25,-0.6 -0.2,-1.05 L 631.65,87.3 Q 631.35,87 631,87"
     <path
        id="path3997"
        d="m 631,87 q 0.35,0 0.65,0.3 l 5.05,5.05 q 0.45,0.45 0.2,1.05 -0.25,0.6 -0.9,0.6 l -10.05,0 q -0.65,0 -0.9,-0.6 L 625,93 q -0.05,-0.35 0.25,-0.65 l 0.05,0 5,-5.05 Q 630.6,87 631,87"
-       style="fill:#666666;stroke:none" />
+       style="fill:#868383;stroke:none;fill-opacity:1" />
   </g>
   <g
-     id="0right"
+     id="0dpad_right"
      inkscape:label="#g4011">
     <path
        id="path3985"
        style="fill:#383838;stroke:none" />
     <path
        id="path3983"
-       d="m 705.95,167 0,51 q 0,1 -1,1 l -37.3,0 -26.5,-26.5 26.5,-26.5 37.3,0 q 1,0 1,1"
-       style="fill:#383838;stroke:none" />
+       d="m 707.57,165.725 0,53.55 q 0,1.05 -1.05,1.05 l -39.165,0 -27.825,-27.825 27.825,-27.825 39.165,0 q 1.05,0 1.05,1.05"
+       style="fill:#383838;stroke:none"
+       inkscape:connector-curvature="0" />
     <path
        id="path3995"
        d="m 689.65,187.3 5.05,5.05 0.3,0.65 -0.3,0.7 -5.05,5 0,0.05 -0.65,0.25 -0.4,-0.05 Q 688,198.7 688,198.05 L 688,188 q 0,-0.65 0.6,-0.9 0.6,-0.25 1.05,0.2"
-       style="fill:#666666;stroke:none" />
+       style="fill:#868383;stroke:none;fill-opacity:1" />
     <path
        d="m 705.95,167 q 0,-1 -1,-1 l -37.3,0 -26.5,26.5 26.5,26.5 37.3,0 q 1,0 1,-1 l 0,-51 m -39.95,-5 38.95,0 q 5,0 5,5 l 0,51 q 0,5 -5,5 L 666,223 635.5,192.5 666,162"
        id="path437"
        style="fill:url(#linearGradient3877);stroke:none" />
   </g>
   <g
-     id="0back"
+     id="0dpad_down"
      inkscape:label="#g4017">
     <path
        id="path3981"
-       d="m 657,269.65 0,37.3 q 0,1 -1,1 l -51,0 q -1,0 -1,-1 l 0,-37.3 26.5,-26.5 26.5,26.5"
-       style="fill:#383838;stroke:none" />
+       d="m 658.325,269.355 0,39.165 q 0,1.05 -1.05,1.05 l -53.55,0 q -1.05,0 -1.05,-1.05 l 0,-39.165 27.825,-27.825 27.825,27.825"
+       style="fill:#383838;stroke:none"
+       inkscape:connector-curvature="0" />
     <path
        id="path3979"
        d="m 631,297 0.65,-0.3 5.05,-5.05 q 0.45,-0.45 0.2,-1.05 -0.25,-0.6 -0.9,-0.6 l -10.05,0 q -0.65,0 -0.9,0.6 L 625,291 q -0.05,0.35 0.25,0.65 l 0.05,0 5,5.05 0.7,0.3"
     <path
        id="path3993"
        d="m 631,297 -0.7,-0.3 -5,-5.05 -0.05,0 q -0.3,-0.3 -0.25,-0.65 l 0.05,-0.4 q 0.25,-0.6 0.9,-0.6 l 10.05,0 q 0.65,0 0.9,0.6 0.25,0.6 -0.2,1.05 l -5.05,5.05 -0.65,0.3"
-       style="fill:#666666;stroke:none" />
+       style="fill:#868383;stroke:none;fill-opacity:1" />
     <path
        d="m 657,269.65 -26.5,-26.5 -26.5,26.5 0,37.3 q 0,1 1,1 l 51,0 q 1,0 1,-1 l 0,-37.3 M 630.5,237.5 661,268 l 0,38.95 q 0,5 -5,5 l -51,0 q -5,0 -5,-5 l 0,-38.95 30.5,-30.5"
        id="path439"
        style="fill:url(#linearGradient3874);stroke:none" />
   </g>
   <g
-     id="0left"
+     id="0dpad_left"
      inkscape:label="#g4005">
     <path
        id="path3977"
        style="fill:#383838;stroke:none" />
     <path
        id="path433"
-       d="m 555,166 38.35,0 26.5,26.5 -26.5,26.5 -38.35,0 q -1,0 -1,-1 l 0,-51 q 0,-1 1,-1"
-       style="fill:#383838;stroke:none" />
+       d="m 553.40375,164.675 40.2675,0 27.825,27.825 -27.825,27.825 -40.2675,0 q -1.05,0 -1.05,-1.05 l 0,-53.55 q 0,-1.05 1.05,-1.05"
+       style="fill:#383838;stroke:none"
+       inkscape:connector-curvature="0" />
     <path
        id="path435"
        d="m 571.4,187.1 q 0.6,0.25 0.6,0.9 l 0,10.05 q 0,0.65 -0.6,0.9 L 571,199 q -0.35,0.05 -0.65,-0.25 l 0,-0.05 -5.05,-5 q -0.3,-0.3 -0.3,-0.7 0,-0.35 0.3,-0.65 l 5.05,-5.05 q 0.45,-0.45 1.05,-0.2"
-       style="fill:#666666;stroke:none" />
+       style="fill:#868383;stroke:none;fill-opacity:1" />
     <path
        d="m 550,167 q 0,-5 5,-5 l 40,0 30.5,30.5 -30.5,30.5 -40,0 q -5,0 -5,-5 l 0,-51 m 5,-1 q -1,0 -1,1 l 0,51 q 0,1 1,1 l 38.35,0 26.5,-26.5 -26.5,-26.5 -38.35,0"
        id="path441"
      id="0joystick_back"
      inkscape:label="#g3365">
     <path
-       d="M 45.75,88.35 Q 40.6,81.8 38.45,74 37.3,69.8 37,65.25 l -0.1,-3.1 Q 36.95,44.25 49.55,31.6 l 3.55,-3.25 q 5.4,-4.4 11.65,-6.75 5.4,-2 11.35,-2.5 l 4,-0.15 Q 97,19 109.25,30.25 l 1.25,1.2 0.15,0.15 q 9.45,9.45 11.8,21.85 0.65,3.55 0.75,7.35 l 0,1.2 0,1 Q 122.85,80.2 110.5,92.5 97.85,105.2 80,105.2 L 75.25,105 Q 68.3,104.3 62.2,101.55 57,99.15 52.45,95.3 l -2.95,-2.75 -3.75,-4.2"
+       d="M 43.976676,89.708429 Q 38.560418,82.819791 36.299262,74.616528 35.089807,70.199386 34.774297,65.414149 l -0.10517,-3.260271 Q 34.721712,43.32844 47.973137,30.02443 l 3.733537,-3.418027 q 5.679182,-4.627482 12.25231,-7.098978 5.679182,-2.1034 11.936799,-2.629251 l 4.206802,-0.157755 q 17.773737,0.05259 30.657065,11.884215 l 1.31463,1.262041 0.15775,0.157755 q 9.93857,9.938569 12.41007,22.979654 0.6836,3.733536 0.78877,7.729998 l 0,1.26204 0,1.051701 Q 125.06278,81.13707 112.07428,94.072985 98.770268,107.42958 79.997415,107.42958 l -4.995577,-0.21034 Q 67.69252,106.48305 61.277147,103.59087 55.808305,101.06679 51.023068,97.017747 L 47.920552,94.12557 43.976676,89.708429"
        id="path449"
        inkscape:connector-curvature="0"
        style="fill:url(#linearGradient3863);stroke:none" />
        style="fill:#000000;fill-opacity:0.2;stroke:none" />
   </g>
   <path
-     style="fill:url(#linearGradient3853);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path461"
-     d="m 884.2,486.2 q 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 M 900,462 q 0,16.55 -11.75,28.25 Q 876.55,502 860,502 843.35,502 831.65,490.25 820,478.55 820,462 820,445.45 831.65,433.7 843.35,422 860,422 q 16.55,0 28.25,11.7 Q 900,445.45 900,462" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path463"
-     d="m 884.2,486.2 q -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2" />
-  <path
-     style="fill:url(#linearGradient3849);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path465"
-     d="m 794.2,486.2 q 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 M 810,462 q 0,16.55 -11.75,28.25 Q 786.55,502 770,502 753.35,502 741.65,490.25 730,478.55 730,462 730,445.45 741.65,433.7 753.35,422 770,422 q 16.55,0 28.25,11.7 Q 810,445.45 810,462" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path467"
-     d="m 794.2,486.2 q -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2" />
-  <path
-     style="fill:url(#linearGradient3845);stroke:none"
+     style="fill:#ffffff;fill-opacity:0.05098039;stroke:none"
      inkscape:connector-curvature="0"
-     id="path469"
-     d="M 708.25,523.7 Q 720,535.45 720,552 720,568.55 708.25,580.25 696.55,592 680,592 663.35,592 651.65,580.25 640,568.55 640,552 640,535.45 651.65,523.7 663.35,512 680,512 q 16.55,0 28.25,11.7 m -4.05,4.05 Q 694.25,517.7 680,517.7 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25" />
+     id="path489"
+     d="m 326.2,232.9 0.3,0.65 -0.3,0.7 -5.05,5 0,0.05 -0.65,0.25 -0.4,-0.05 q -0.6,-0.25 -0.6,-0.9 l 0,-10.05 q 0,-0.65 0.6,-0.9 0.6,-0.25 1.05,0.2 l 5.05,5.05 m -132.4,0 5.05,-5.05 q 0.45,-0.45 1.05,-0.2 0.6,0.25 0.6,0.9 l 0,10.05 q 0,0.65 -0.6,0.9 l -0.4,0.05 -0.65,-0.25 0,-0.05 -5.05,-5 -0.3,-0.7 q 0,-0.35 0.3,-0.65 M 260,167.05 q 0.35,0 0.65,0.3 l 5.05,5.05 q 0.45,0.45 0.2,1.05 -0.25,0.6 -0.9,0.6 l -10.05,0 q -0.65,0 -0.9,-0.6 l -0.05,-0.4 q -0.05,-0.35 0.25,-0.65 l 0.05,0 5,-5.05 q 0.3,-0.3 0.7,-0.3 m 5.9,126.6 q 0.25,0.6 -0.2,1.05 l -5.05,5.05 -0.65,0.3 q -0.4,0 -0.7,-0.3 l -5,-5.05 -0.05,0 q -0.3,-0.3 -0.25,-0.65 l 0.05,-0.4 q 0.25,-0.6 0.9,-0.6 l 10.05,0 q 0.65,0 0.9,0.6" />
+  <g
+     id="0star"
+     inkscape:label="#g3388">
+    <path
+       d="m 744.5375,346.5375 q 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41 -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 733.985,386.9625 733.985,372 q 0,-14.8575 10.5525,-25.4625"
+       id="path375"
+       inkscape:connector-curvature="0"
+       style="fill:#383838;stroke:none" />
+    <path
+       d="M 741.65,343.7 Q 753.35,332 770,332 q 16.55,0 28.25,11.7 Q 810,355.45 810,372 810,388.55 798.25,400.25 786.55,412 770,412 753.35,412 741.65,400.25 730,388.55 730,372 q 0,-16.55 11.65,-28.3 m 4.1,4.05 q -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05"
+       id="path373"
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3764);stroke:none" />
+    <path
+       id="path4127"
+       d="m 770.05,354.45 6.75,8.45 10.2,3.75 -6,9.05 -0.55,10.75 -10.4,-2.85 -10.55,2.85 -0.5,-10.75 -6,-9.05 10.2,-3.75 6.85,-8.45"
+       style="fill:#868383;stroke:none;fill-opacity:1" />
+  </g>
+  <g
+     id="0down"
+     inkscape:label="#g3383">
+    <path
+       d="m 654.5375,346.5375 q 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41 -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 643.985,386.9625 643.985,372 q 0,-14.8575 10.5525,-25.4625"
+       id="path379"
+       inkscape:connector-curvature="0"
+       style="fill:#383838;stroke:none" />
+    <path
+       d="M 651.65,343.7 Q 663.35,332 680,332 q 16.55,0 28.25,11.7 Q 720,355.45 720,372 720,388.55 708.25,400.25 696.55,412 680,412 663.35,412 651.65,400.25 640,388.55 640,372 q 0,-16.55 11.65,-28.3 m 4.1,4.05 q -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05"
+       id="path377"
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3766);stroke:none" />
+    <path
+       id="path4125"
+       d="m 662.3,370.65 q 0.85,-2.4 3.7,-2.65 l 5.1,0 0,-12 q 0,-0.75 0.55,-1.35 0.5,-0.65 1.4,-0.65 l 12.9,0 q 0.8,0 1.4,0.6 0.6,0.6 0.6,1.4 l 0.05,12 5,0 q 2.7,0.15 3.75,2.55 l 0.05,0.3 q 0.75,2.2 -0.9,3.8 l 0.05,0 -13.8,14.15 -0.15,0.2 q -1.15,1 -2.5,1 -1.5,0 -2.6,-1.2 l 0,0.05 -13.7,-14.1 -0.2,-0.15 -0.05,-0.05 q -1.05,-1.2 -0.95,-2.5 l 0,-0.05 q 0,-0.7 0.3,-1.4 l 0,0.05"
+       style="fill:#868383;stroke:none;fill-opacity:1" />
+  </g>
   <path
      style="fill:#383838;stroke:none"
      inkscape:connector-curvature="0"
-     id="path471"
-     d="m 704.2,527.75 q 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05" />
-  <path
-     style="fill:url(#linearGradient3841);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path473"
-     d="M 614.2,527.75 Q 604.25,517.7 590,517.7 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 m 4.05,-4.05 Q 630,535.45 630,552 630,568.55 618.25,580.25 606.55,592 590,592 573.35,592 561.65,580.25 550,568.55 550,552 550,535.45 561.65,523.7 573.35,512 590,512 q 16.55,0 28.25,11.7" />
+     id="path371"
+     d="m 834.5375,346.5375 q 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41 -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 823.985,386.9625 823.985,372 q 0,-14.8575 10.5525,-25.4625" />
   <path
-     style="fill:#383838;stroke:none"
+     style="fill:url(#linearGradient3425);stroke:none"
      inkscape:connector-curvature="0"
-     id="path475"
-     d="m 614.2,527.75 q 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05" />
+     id="path369"
+     d="M 831.65,343.7 Q 843.35,332 860,332 q 16.55,0 28.25,11.7 Q 900,355.45 900,372 900,388.55 888.25,400.25 876.55,412 860,412 843.35,412 831.65,400.25 820,388.55 820,372 q 0,-16.55 11.65,-28.3 m 4.1,4.05 q -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05" />
   <path
-     style="fill:url(#linearGradient3837);stroke:none"
      inkscape:connector-curvature="0"
-     id="path477"
-     d="m 500,512 q 16.55,0 28.25,11.7 Q 540,535.45 540,552 540,568.55 528.25,580.25 516.55,592 500,592 483.35,592 471.65,580.25 460,568.55 460,552 460,535.45 471.65,523.7 483.35,512 500,512 m 0,5.7 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 Q 514.25,517.7 500,517.7" />
+     id="path4129"
+     d="m 868.4324,356.58865 c -0.55625,0.0375 -1.025,0.25 -1.375,0.625 l -11.3125,11.34375 c -1.3,-0.83333 -2.66042,-1.38958 -4.09375,-1.65625 l -0.15625,0 -2.4375,-0.0937 c -1.73333,0.16667 -3.20625,0.88958 -4.40625,2.15625 -1.26667,1.16667 -1.93333,2.61042 -2,4.34375 -0.13333,0.76667 -0.10417,1.62917 0.0625,2.5625 l 0,0.0312 c 0.36667,2.4 1.50417,4.56875 3.4375,6.46875 l 0.46875,0.375 c 1.83333,1.7 3.85833,2.75625 6.125,3.15625 2.83333,0.43333 5.14167,-0.26042 6.875,-2.09375 1.8,-1.66667 2.4375,-3.91667 1.9375,-6.75 l 0.0625,-0.0937 c -0.3,-1.53333 -0.85625,-2.97917 -1.65625,-4.3125 l 4.03125,-4.09375 4.21875,4.1875 c 0.83333,0.83333 1.66667,0.83333 2.5,0 l 0.90625,-0.9375 0.125,-0.40625 -0.0937,-0.40625 -0.65625,-0.625 2.25,-2.25 0.65625,0.625 c 0.13333,0.13333 0.27292,0.21875 0.40625,0.21875 l 0.40625,-0.25 0.9375,-0.96875 c 0.83333,-0.8 0.83333,-1.60417 0,-2.4375 l -4.1875,-4.1875 c 0.3,-0.46667 0.43958,-1.02292 0.40625,-1.65625 l -0.125,0 c 0,-0.53333 -0.16667,-1.03542 -0.5,-1.46875 l -0.4375,-0.4375 c -0.5,-0.53333 -1.1125,-0.8375 -1.8125,-0.9375 -0.20833,-0.025 -0.37708,-0.0437 -0.5625,-0.0312 z m -18.34375,16.0625 c 0.1625,0.002 0.35625,0.0292 0.53125,0.0625 1.16667,0.23333 2.25,0.81667 3.25,1.75 l 0.125,0.15625 0.375,0.34375 c 0.76667,0.93333 1.2375,1.90417 1.4375,2.9375 l 0,0.21875 c 0.1,0.63333 -0.0104,1.13125 -0.34375,1.53125 -0.43333,0.4 -0.98958,0.56875 -1.65625,0.46875 l -0.0937,-0.0625 c -1.1,-0.16667 -2.10208,-0.6375 -2.96875,-1.4375 l -0.4375,-0.40625 c -1,-1.03333 -1.61042,-2.14375 -1.84375,-3.34375 -0.1,-0.73333 0.0104,-1.34583 0.34375,-1.8125 0.375,-0.275 0.79375,-0.4125 1.28125,-0.40625 z"
+     style="fill:#868383;fill-opacity:1;stroke:none" />
   <path
      style="fill:#383838;stroke:none"
      inkscape:connector-curvature="0"
-     id="path479"
-     d="m 500,517.7 q 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05" />
+     id="path483"
+     d="m 860,515.985 q 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41 -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 823.985,566.9625 823.985,552 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525" />
   <path
-     style="fill:url(#linearGradient3833);stroke:none"
+     style="fill:url(#linearGradient3413);stroke:none"
      inkscape:connector-curvature="0"
      id="path481"
      d="m 860,512 q 16.55,0 28.25,11.7 Q 900,535.45 900,552 900,568.55 888.25,580.25 876.55,592 860,592 843.35,592 831.65,580.25 820,568.55 820,552 820,535.45 831.65,523.7 843.35,512 860,512 m 0,5.7 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 Q 874.25,517.7 860,517.7" />
   <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path483"
-     d="m 860,517.7 q 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05" />
-  <path
-     style="fill:#ffffff;fill-opacity:0.05098039;stroke:none"
      inkscape:connector-curvature="0"
-     id="path489"
-     d="m 326.2,232.9 0.3,0.65 -0.3,0.7 -5.05,5 0,0.05 -0.65,0.25 -0.4,-0.05 q -0.6,-0.25 -0.6,-0.9 l 0,-10.05 q 0,-0.65 0.6,-0.9 0.6,-0.25 1.05,0.2 l 5.05,5.05 m -132.4,0 5.05,-5.05 q 0.45,-0.45 1.05,-0.2 0.6,0.25 0.6,0.9 l 0,10.05 q 0,0.65 -0.6,0.9 l -0.4,0.05 -0.65,-0.25 0,-0.05 -5.05,-5 -0.3,-0.7 q 0,-0.35 0.3,-0.65 M 260,167.05 q 0.35,0 0.65,0.3 l 5.05,5.05 q 0.45,0.45 0.2,1.05 -0.25,0.6 -0.9,0.6 l -10.05,0 q -0.65,0 -0.9,-0.6 l -0.05,-0.4 q -0.05,-0.35 0.25,-0.65 l 0.05,0 5,-5.05 q 0.3,-0.3 0.7,-0.3 m 5.9,126.6 q 0.25,0.6 -0.2,1.05 l -5.05,5.05 -0.65,0.3 q -0.4,0 -0.7,-0.3 l -5,-5.05 -0.05,0 q -0.3,-0.3 -0.25,-0.65 l 0.05,-0.4 q 0.25,-0.6 0.9,-0.6 l 10.05,0 q 0.65,0 0.9,0.6" />
-  <path
-     style="fill:url(#linearGradient3824);stroke:none"
-     inkscape:connector-curvature="0"
-     id="path491"
-     d="m 370,552 q 0,-16.55 11.65,-28.3 11.7,-11.7 28.35,-11.7 16.55,0 28.25,11.7 Q 450,535.45 450,552 450,568.55 438.25,580.25 426.55,592 410,592 393.35,592 381.65,580.25 370,568.55 370,552 m 40,-34.3 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 Q 424.25,517.7 410,517.7" />
-  <path
-     style="fill:#383838;stroke:none"
-     inkscape:connector-curvature="0"
-     id="path493"
-     d="m 410,517.7 q 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05" />
-  <path
-     style="fill:#ffffff;stroke:none"
-     d="m 866.5,356.65 q 0.7,-0.75 1.95,-0.6 1.05,0.15 1.8,0.95 l 0.45,0.45 q 0.5,0.65 0.5,1.45 l 0.1,0 q 0.05,0.95 -0.4,1.65 l 4.2,4.2 q 1.25,1.25 0,2.45 l -0.95,0.95 -0.4,0.25 q -0.2,0 -0.4,-0.2 l -0.65,-0.65 -2.25,2.25 0.65,0.65 0.1,0.4 -0.15,0.4 -0.9,0.95 q -1.25,1.25 -2.5,0 l -4.2,-4.2 -4.05,4.1 q 1.2,2 1.65,4.3 l -0.05,0.1 q 0.75,4.25 -1.95,6.75 -2.6,2.75 -6.85,2.1 -3.4,-0.6 -6.15,-3.15 l -0.45,-0.4 q -2.9,-2.85 -3.45,-6.45 l 0,-0.05 q -0.25,-1.4 -0.05,-2.55 0.1,-2.6 2,-4.35 1.8,-1.9 4.4,-2.15 l 2.45,0.1 0.15,0 q 2.15,0.4 4.1,1.65 l 11.3,-11.35"
-     id="path4129" />
-  <path
-     style="fill:#ffffff;stroke:none"
-     d="m 770.05,354.45 6.75,8.45 10.2,3.75 -6,9.05 -0.55,10.75 -10.4,-2.85 -10.55,2.85 -0.5,-10.75 -6,-9.05 10.2,-3.75 6.85,-8.45"
-     id="path4127" />
-  <path
-     style="fill:#ffffff;stroke:none"
-     d="m 662.3,370.65 q 0.85,-2.4 3.7,-2.65 l 5.1,0 0,-12 q 0,-0.75 0.55,-1.35 0.5,-0.65 1.4,-0.65 l 12.9,0 q 0.8,0 1.4,0.6 0.6,0.6 0.6,1.4 l 0.05,12 5,0 q 2.7,0.15 3.75,2.55 l 0.05,0.3 q 0.75,2.2 -0.9,3.8 l 0.05,0 -13.8,14.15 -0.15,0.2 q -1.15,1 -2.5,1 -1.5,0 -2.6,-1.2 l 0,0.05 -13.7,-14.1 -0.2,-0.15 -0.05,-0.05 q -1.05,-1.2 -0.95,-2.5 l 0,-0.05 q 0,-0.7 0.3,-1.4 l 0,0.05"
-     id="path4125" />
-  <path
-     style="fill:#ffffff;stroke:none"
-     d="m 848.25,372.5 q -0.5,0.7 -0.35,1.8 0.35,1.8 1.85,3.35 l 0.45,0.4 q 1.3,1.2 2.95,1.45 l 0.1,0.05 q 1,0.15 1.65,-0.45 0.5,-0.6 0.35,-1.55 l 0,-0.2 q -0.3,-1.55 -1.45,-2.95 l -0.35,-0.35 -0.15,-0.15 q -1.5,-1.4 -3.25,-1.75 -1.05,-0.2 -1.8,0.35"
-     id="path4123" />
-  <path
-     style="fill:#ffffff;stroke:none"
-     d="M 849.3125 537 C 847.54583 537 846.29375 537.58333 845.59375 538.75 C 844.89375 539.68333 844.64583 541.07083 844.8125 542.9375 L 847.34375 566.1875 C 847.64375 568.92083 849.17292 570.3125 851.90625 570.3125 L 870.15625 570.3125 C 872.85625 570.3125 874.35625 568.92083 874.65625 566.1875 L 877.1875 542.9375 C 877.3875 541.07083 877.13958 539.68333 876.40625 538.75 C 875.70625 537.58333 874.45417 537 872.6875 537 L 849.3125 537 z M 853 543.9375 C 853.56667 543.9375 854.03958 544.1625 854.40625 544.5625 C 854.80625 544.9625 855 545.40417 855 545.9375 C 855 546.50417 854.80625 546.97708 854.40625 547.34375 C 854.03958 547.74375 853.56667 547.9375 853 547.9375 C 852.43333 547.9375 851.9625 547.74375 851.5625 547.34375 C 851.19583 546.97708 851 546.50417 851 545.9375 C 851 545.40417 851.19583 544.9625 851.5625 544.5625 C 851.9625 544.1625 852.43333 543.9375 853 543.9375 z M 861 543.9375 C 861.56667 543.9375 862.03958 544.1625 862.40625 544.5625 C 862.80625 544.9625 863 545.40417 863 545.9375 C 863 546.50417 862.80625 546.97708 862.40625 547.34375 C 862.03958 547.74375 861.56667 547.9375 861 547.9375 C 860.43333 547.9375 859.9625 547.74375 859.5625 547.34375 C 859.19583 546.97708 859 546.50417 859 545.9375 C 859 545.40417 859.19583 544.9625 859.5625 544.5625 C 859.9625 544.1625 860.43333 543.9375 861 543.9375 z M 869 543.9375 C 869.56667 543.9375 870.03958 544.1625 870.40625 544.5625 C 870.80625 544.9625 871 545.40417 871 545.9375 C 871 546.50417 870.80625 546.97708 870.40625 547.34375 C 870.03958 547.74375 869.56667 547.9375 869 547.9375 C 868.43333 547.9375 867.9625 547.74375 867.5625 547.34375 C 867.19583 546.97708 867 546.50417 867 545.9375 C 867 545.40417 867.19583 544.9625 867.5625 544.5625 C 867.9625 544.1625 868.43333 543.9375 869 543.9375 z M 853 551.9375 C 853.56667 551.9375 854.03958 552.1625 854.40625 552.5625 C 854.80625 552.9625 855 553.40417 855 553.9375 C 855 554.50417 854.80625 554.97708 854.40625 555.34375 C 854.03958 555.74375 853.56667 555.9375 853 555.9375 C 852.43333 555.9375 851.9625 555.74375 851.5625 555.34375 C 851.19583 554.97708 851 554.50417 851 553.9375 C 851 553.40417 851.19583 552.9625 851.5625 552.5625 C 851.9625 552.1625 852.43333 551.9375 853 551.9375 z M 861 551.9375 C 861.56667 551.9375 862.03958 552.1625 862.40625 552.5625 C 862.80625 552.9625 863 553.40417 863 553.9375 C 863 554.50417 862.80625 554.97708 862.40625 555.34375 C 862.03958 555.74375 861.56667 555.9375 861 555.9375 C 860.43333 555.9375 859.9625 555.74375 859.5625 555.34375 C 859.19583 554.97708 859 554.50417 859 553.9375 C 859 553.40417 859.19583 552.9625 859.5625 552.5625 C 859.9625 552.1625 860.43333 551.9375 861 551.9375 z M 869 551.9375 C 869.56667 551.9375 870.03958 552.1625 870.40625 552.5625 C 870.80625 552.9625 871 553.40417 871 553.9375 C 871 554.50417 870.80625 554.97708 870.40625 555.34375 C 870.03958 555.74375 869.56667 555.9375 869 555.9375 C 868.43333 555.9375 867.9625 555.74375 867.5625 555.34375 C 867.19583 554.97708 867 554.50417 867 553.9375 C 867 553.40417 867.19583 552.9625 867.5625 552.5625 C 867.9625 552.1625 868.43333 551.9375 869 551.9375 z M 853 559.9375 C 853.56667 559.9375 854.03958 560.1625 854.40625 560.5625 C 854.80625 560.9625 855 561.40417 855 561.9375 C 855 562.50417 854.80625 562.97708 854.40625 563.34375 C 854.03958 563.74375 853.56667 563.9375 853 563.9375 C 852.43333 563.9375 851.9625 563.74375 851.5625 563.34375 C 851.19583 562.97708 851 562.50417 851 561.9375 C 851 561.40417 851.19583 560.9625 851.5625 560.5625 C 851.9625 560.1625 852.43333 559.9375 853 559.9375 z M 861 559.9375 C 861.56667 559.9375 862.03958 560.1625 862.40625 560.5625 C 862.80625 560.9625 863 561.40417 863 561.9375 C 863 562.50417 862.80625 562.97708 862.40625 563.34375 C 862.03958 563.74375 861.56667 563.9375 861 563.9375 C 860.43333 563.9375 859.9625 563.74375 859.5625 563.34375 C 859.19583 562.97708 859 562.50417 859 561.9375 C 859 561.40417 859.19583 560.9625 859.5625 560.5625 C 859.9625 560.1625 860.43333 559.9375 861 559.9375 z M 869 559.9375 C 869.56667 559.9375 870.03958 560.1625 870.40625 560.5625 C 870.80625 560.9625 871 561.40417 871 561.9375 C 871 562.50417 870.80625 562.97708 870.40625 563.34375 C 870.03958 563.74375 869.56667 563.9375 869 563.9375 C 868.43333 563.9375 867.9625 563.74375 867.5625 563.34375 C 867.19583 562.97708 867 562.50417 867 561.9375 C 867 561.40417 867.19583 560.9625 867.5625 560.5625 C 867.9625 560.1625 868.43333 559.9375 869 559.9375 z "
+     style="fill:#868383;fill-opacity:1;stroke:none"
+     d="m 849.3125,537 c -1.76667,0 -3.01875,0.58333 -3.71875,1.75 -0.7,0.93333 -0.94792,2.32083 -0.78125,4.1875 l 2.53125,23.25 c 0.3,2.73333 1.82917,4.125 4.5625,4.125 l 18.25,0 c 2.7,0 4.2,-1.39167 4.5,-4.125 l 2.53125,-23.25 c 0.2,-1.86667 -0.0479,-3.25417 -0.78125,-4.1875 -0.7,-1.16667 -1.95208,-1.75 -3.71875,-1.75 l -23.375,0 z M 853,543.9375 c 0.56667,0 1.03958,0.225 1.40625,0.625 0.4,0.4 0.59375,0.84167 0.59375,1.375 0,0.56667 -0.19375,1.03958 -0.59375,1.40625 -0.36667,0.4 -0.83958,0.59375 -1.40625,0.59375 -0.56667,0 -1.0375,-0.19375 -1.4375,-0.59375 C 851.19583,546.97708 851,546.50417 851,545.9375 c 0,-0.53333 0.19583,-0.975 0.5625,-1.375 0.4,-0.4 0.87083,-0.625 1.4375,-0.625 z m 8,0 c 0.56667,0 1.03958,0.225 1.40625,0.625 0.4,0.4 0.59375,0.84167 0.59375,1.375 0,0.56667 -0.19375,1.03958 -0.59375,1.40625 -0.36667,0.4 -0.83958,0.59375 -1.40625,0.59375 -0.56667,0 -1.0375,-0.19375 -1.4375,-0.59375 C 859.19583,546.97708 859,546.50417 859,545.9375 c 0,-0.53333 0.19583,-0.975 0.5625,-1.375 0.4,-0.4 0.87083,-0.625 1.4375,-0.625 z m 8,0 c 0.56667,0 1.03958,0.225 1.40625,0.625 0.4,0.4 0.59375,0.84167 0.59375,1.375 0,0.56667 -0.19375,1.03958 -0.59375,1.40625 -0.36667,0.4 -0.83958,0.59375 -1.40625,0.59375 -0.56667,0 -1.0375,-0.19375 -1.4375,-0.59375 C 867.19583,546.97708 867,546.50417 867,545.9375 c 0,-0.53333 0.19583,-0.975 0.5625,-1.375 0.4,-0.4 0.87083,-0.625 1.4375,-0.625 z m -16,8 c 0.56667,0 1.03958,0.225 1.40625,0.625 0.4,0.4 0.59375,0.84167 0.59375,1.375 0,0.56667 -0.19375,1.03958 -0.59375,1.40625 -0.36667,0.4 -0.83958,0.59375 -1.40625,0.59375 -0.56667,0 -1.0375,-0.19375 -1.4375,-0.59375 C 851.19583,554.97708 851,554.50417 851,553.9375 c 0,-0.53333 0.19583,-0.975 0.5625,-1.375 0.4,-0.4 0.87083,-0.625 1.4375,-0.625 z m 8,0 c 0.56667,0 1.03958,0.225 1.40625,0.625 0.4,0.4 0.59375,0.84167 0.59375,1.375 0,0.56667 -0.19375,1.03958 -0.59375,1.40625 -0.36667,0.4 -0.83958,0.59375 -1.40625,0.59375 -0.56667,0 -1.0375,-0.19375 -1.4375,-0.59375 C 859.19583,554.97708 859,554.50417 859,553.9375 c 0,-0.53333 0.19583,-0.975 0.5625,-1.375 0.4,-0.4 0.87083,-0.625 1.4375,-0.625 z m 8,0 c 0.56667,0 1.03958,0.225 1.40625,0.625 0.4,0.4 0.59375,0.84167 0.59375,1.375 0,0.56667 -0.19375,1.03958 -0.59375,1.40625 -0.36667,0.4 -0.83958,0.59375 -1.40625,0.59375 -0.56667,0 -1.0375,-0.19375 -1.4375,-0.59375 C 867.19583,554.97708 867,554.50417 867,553.9375 c 0,-0.53333 0.19583,-0.975 0.5625,-1.375 0.4,-0.4 0.87083,-0.625 1.4375,-0.625 z m -16,8 c 0.56667,0 1.03958,0.225 1.40625,0.625 0.4,0.4 0.59375,0.84167 0.59375,1.375 0,0.56667 -0.19375,1.03958 -0.59375,1.40625 -0.36667,0.4 -0.83958,0.59375 -1.40625,0.59375 -0.56667,0 -1.0375,-0.19375 -1.4375,-0.59375 C 851.19583,562.97708 851,562.50417 851,561.9375 c 0,-0.53333 0.19583,-0.975 0.5625,-1.375 0.4,-0.4 0.87083,-0.625 1.4375,-0.625 z m 8,0 c 0.56667,0 1.03958,0.225 1.40625,0.625 0.4,0.4 0.59375,0.84167 0.59375,1.375 0,0.56667 -0.19375,1.03958 -0.59375,1.40625 -0.36667,0.4 -0.83958,0.59375 -1.40625,0.59375 -0.56667,0 -1.0375,-0.19375 -1.4375,-0.59375 C 859.19583,562.97708 859,562.50417 859,561.9375 c 0,-0.53333 0.19583,-0.975 0.5625,-1.375 0.4,-0.4 0.87083,-0.625 1.4375,-0.625 z m 8,0 c 0.56667,0 1.03958,0.225 1.40625,0.625 0.4,0.4 0.59375,0.84167 0.59375,1.375 0,0.56667 -0.19375,1.03958 -0.59375,1.40625 -0.36667,0.4 -0.83958,0.59375 -1.40625,0.59375 -0.56667,0 -1.0375,-0.19375 -1.4375,-0.59375 C 867.19583,562.97708 867,562.50417 867,561.9375 c 0,-0.53333 0.19583,-0.975 0.5625,-1.375 0.4,-0.4 0.87083,-0.625 1.4375,-0.625 z"
      id="path4121" />
   <g
      id="0fire"
      inkscape:label="#g4133">
     <path
+       d="m 795.41,577.41 q -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 733.985,566.9625 733.985,552 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41"
+       id="path487"
+       inkscape:connector-curvature="0"
+       style="fill:#383838;stroke:none" />
+    <path
        d="M 798.25,580.25 Q 786.55,592 770,592 753.35,592 741.65,580.25 730,568.55 730,552 730,535.45 741.65,523.7 753.35,512 770,512 q 16.55,0 28.25,11.7 11.75,11.75 11.75,28.3 0,16.55 -11.75,28.25 m -4.05,-4.05 q 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1"
        id="path485"
        inkscape:connector-curvature="0"
        style="fill:url(#linearGradient3829);stroke:none" />
     <path
-       d="m 794.2,576.2 q -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2"
-       id="path487"
-       inkscape:connector-curvature="0"
-       style="fill:#383838;stroke:none" />
-    <path
        id="path4103"
        d="m 791.55,551 0.4,0.8 0,0.2 0,0.2 -0.4,0.8 -0.7,0.45 -17.3,4.65 5.9,7.05 0.3,0.8 -0.25,0.9 -0.65,0.5 -0.9,0.05 -19.65,-5.7 -0.1,-0.05 q -8.4,-3.4 -8.35,-9.65 -0.05,-6.25 8.35,-9.65 l 0.1,-0.05 19.65,-5.7 0.9,0.05 0.65,0.5 q 0.3,0.4 0.25,0.9 l -0.3,0.8 -5.9,7.05 17.3,4.65 0.7,0.45"
-       style="fill:#666666;stroke:none;fill-opacity:1" />
+       style="fill:#868383;stroke:none;fill-opacity:1" />
   </g>
   <path
+     inkscape:connector-curvature="0"
      style="fill:#ffffff;stroke:none"
-     d="m 688.55,545.45 q -3.15,-3.1 -7.55,-3.1 -4.45,0 -7.55,3.1 -3.15,3.15 -3.15,7.55 0,4.45 3.15,7.55 3.1,3.15 7.55,3.15 4.4,0 7.5,-3.15 l 0.05,0 q 3.1,-3.1 3.1,-7.55 0,-4.4 -3.1,-7.55"
+     d="m 158.30406,522.89214 q -3.15,-3.1 -7.55,-3.1 -4.45,0 -7.55,3.1 -3.15,3.15 -3.15,7.55 0,4.45 3.15,7.55 3.1,3.15 7.55,3.15 4.4,0 7.5,-3.15 l 0.05,0 q 3.1,-3.1 3.1,-7.55 0,-4.4 -3.1,-7.55"
      id="path4099" />
   <path
+     inkscape:connector-curvature="0"
      style="fill:#ffffff;stroke:none"
-     d="m 693,541 q 5,5 5,12 0,7.05 -5,12.05 -5,4.95 -12,4.95 -7.05,0 -12.05,-4.95 -4.95,-5 -4.95,-12.05 0,-7 4.9,-12 l 0.05,0 0,-0.05 q 5,-4.95 12.05,-4.95 7,0 12,5"
+     d="m 162.75406,518.44214 q 5,5 5,12 0,7.05 -5,12.05 -5,4.95 -12,4.95 -7.05,0 -12.05,-4.95 -4.95,-5 -4.95,-12.05 0,-7 4.9,-12 l 0.05,0 0,-0.05 q 5,-4.95 12.05,-4.95 7,0 12,5"
      id="path4097" />
   <path
+     inkscape:connector-curvature="0"
      style="fill:#ffffff;stroke:none"
-     d="m 685.25,548.75 q 1.75,1.75 1.75,4.25 0,2.5 -1.75,4.25 -1.8,1.8 -4.25,1.8 -2.55,0 -4.3,-1.8 -1.75,-1.75 -1.75,-4.25 0,-2.5 1.75,-4.25 1.75,-1.75 4.3,-1.75 2.45,0 4.25,1.75"
+     d="m 155.00406,526.19214 q 1.75,1.75 1.75,4.25 0,2.5 -1.75,4.25 -1.8,1.8 -4.25,1.8 -2.55,0 -4.3,-1.8 -1.75,-1.75 -1.75,-4.25 0,-2.5 1.75,-4.25 1.75,-1.75 4.3,-1.75 2.45,0 4.25,1.75"
      id="path4095" />
   <path
      style="fill:#ffffff;stroke:none"
-     d="m 327.5,350.8 0,0.15 0,1 -0.15,1.15 7.3,7.15 q 1.15,1.05 1.3,2.55 l 0.05,0.65 q 0,1.95 -1.35,3.25 -1.25,1.3 -3.3,1.3 -1.85,0 -3.25,-1.3 l -4.65,-4.65 0.05,-0.1 -2.75,-2.65 q -1.05,0.3 -2.1,0 -2.55,-0.4 -4.35,-2.15 -2.55,-2.7 -2.25,-6 0.05,-1.05 0.45,-2.15 l 4.45,4.5 q 1.3,1.3 2.5,0 l 1.9,-1.95 q 0.9,-0.9 0.45,-1.9 l -0.45,-0.65 -4.55,-4.35 0.95,-0.4 3.45,-0.1 q 2.25,0.4 3.95,2.15 2,1.85 2.35,4.5"
+     d="M 321.1875 344.15625 L 317.75 344.25 L 316.8125 344.65625 L 321.34375 349 L 321.8125 349.65625 C 322.1125 350.32292 321.94375 350.9625 321.34375 351.5625 L 319.4375 353.5 C 318.6375 354.36667 317.80417 354.36667 316.9375 353.5 L 312.5 349 C 312.23333 349.73333 312.09583 350.45625 312.0625 351.15625 C 311.8625 353.35625 312.6125 355.35625 314.3125 357.15625 C 315.5125 358.32292 316.95625 359.04583 318.65625 359.3125 C 319.35625 359.5125 320.05 359.5125 320.75 359.3125 L 323.5 361.9375 L 323.4375 362.0625 L 328.09375 366.6875 C 329.02708 367.55417 330.11042 368 331.34375 368 C 332.71042 368 333.82292 367.55417 334.65625 366.6875 C 335.55625 365.82083 336 364.7375 336 363.4375 L 335.9375 362.8125 C 335.8375 361.8125 335.42292 360.95 334.65625 360.25 L 327.34375 353.09375 L 327.5 351.9375 L 327.5 350.9375 L 327.5 350.8125 C 327.26667 349.04583 326.48958 347.54583 325.15625 346.3125 C 324.02292 345.14583 322.6875 344.42292 321.1875 344.15625 z M 331.5 361.21875 C 332.06667 361.21875 332.62083 361.45417 333.1875 361.9375 L 333.84375 362.9375 L 333.9375 363.59375 C 333.9375 364.22708 333.6875 364.8125 333.1875 365.3125 C 332.72083 365.74583 332.16667 365.9375 331.5 365.9375 C 330.86667 365.9375 330.3125 365.74583 329.8125 365.3125 C 329.37917 364.8125 329.15625 364.22708 329.15625 363.59375 L 329.25 362.9375 C 329.31667 362.57083 329.5125 362.2375 329.8125 361.9375 C 330.37917 361.45417 330.93333 361.21875 331.5 361.21875 z "
      id="path4093" />
   <path
      style="fill:#ffffff;stroke:none"
      style="fill:#ffffff;stroke:none"
      d="m 94,344 q 2,0 2,2 l 0,20 q 0,2 -2,2 l -6,0 q -2,0 -2,-2 l 0,-20 q 0,-2 2,-2 l 6,0"
      id="path4089" />
-  <path
-     style="fill:#ffffff;stroke:none"
-     d="m 574.15,369.35 -0.05,0 13.8,-14.15 0.15,-0.2 q 1.15,-1 2.5,-1 1.5,0 2.6,1.2 l 0,-0.05 13.7,14.1 0.2,0.15 0.05,0.05 q 1.05,1.2 0.95,2.5 l 0,0.05 -0.3,1.4 0,-0.05 q -0.85,2.4 -3.7,2.65 l -5.1,0 0,12 q 0,0.75 -0.55,1.35 -0.5,0.65 -1.4,0.65 l -12.9,0 q -0.8,0 -1.4,-0.6 -0.6,-0.6 -0.6,-1.4 l -0.05,-12 -5,0 q -2.7,-0.15 -3.75,-2.55 l -0.05,-0.3 q -0.75,-2.2 0.9,-3.8"
-     id="path4087" />
-  <path
-     style="fill:#ffffff;stroke:none"
-     d="m 502.65,356.15 0,-0.05 14.15,13.8 0.2,0.15 q 1,1.15 1,2.5 0,1.5 -1.2,2.6 l 0.05,0 -14.1,13.7 -0.15,0.2 -0.05,0.05 q -1.2,1.05 -2.5,0.95 l -0.05,0 -1.4,-0.3 0.05,0 q -2.4,-0.85 -2.65,-3.7 l 0,-5.1 -12,0 q -0.75,0 -1.35,-0.55 Q 482,379.9 482,379 l 0,-12.9 q 0,-0.8 0.6,-1.4 0.6,-0.6 1.4,-0.6 l 12,-0.05 0,-5 q 0.15,-2.7 2.55,-3.75 l 0.3,-0.05 q 2.2,-0.75 3.8,0.9"
-     id="path4085" />
-  <path
-     style="fill:#ffffff;stroke:none"
-     d="m 407.25,356.2 0.15,-0.2 0.05,-0.05 q 1.2,-1.05 2.5,-0.95 l 0.05,0 1.4,0.3 -0.05,0 q 2.4,0.85 2.65,3.7 l 0,5.1 12,0 q 0.75,0 1.35,0.55 0.65,0.5 0.65,1.4 l 0,12.9 q 0,0.8 -0.6,1.4 -0.6,0.6 -1.4,0.6 l -12,0.05 0,5 q -0.15,2.7 -2.55,3.75 l -0.3,0.05 q -2.2,0.75 -3.8,-0.9 l 0,0.05 L 393.2,375.15 393,375 q -1,-1.15 -1,-2.5 0,-1.5 1.2,-2.6 l -0.05,0 14.1,-13.7"
-     id="path4083" />
-  <path
-     style="fill:#ffffff;stroke:none"
-     d="m 333.85,362.95 -0.65,-1 q -1.7,-1.45 -3.4,0 -0.45,0.45 -0.55,1 l -0.1,0.65 q 0,0.95 0.65,1.7 0.75,0.65 1.7,0.65 1,0 1.7,-0.65 0.75,-0.75 0.75,-1.7 l -0.1,-0.65"
-     id="path4081" />
+  <g
+     id="0up"
+     inkscape:label="#g3378">
+    <path
+       d="m 564.5375,346.5375 q 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41 -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 553.985,386.9625 553.985,372 q 0,-14.8575 10.5525,-25.4625"
+       id="path383"
+       inkscape:connector-curvature="0"
+       style="fill:#383838;stroke:none" />
+    <path
+       d="M 561.65,343.7 Q 573.35,332 590,332 q 16.55,0 28.25,11.7 Q 630,355.45 630,372 630,388.55 618.25,400.25 606.55,412 590,412 573.35,412 561.65,400.25 550,388.55 550,372 q 0,-16.55 11.65,-28.3 m 4.1,4.05 q -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05"
+       id="path381"
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3768);stroke:none" />
+    <path
+       id="path4087"
+       d="m 574.15,369.35 -0.05,0 13.8,-14.15 0.15,-0.2 q 1.15,-1 2.5,-1 1.5,0 2.6,1.2 l 0,-0.05 13.7,14.1 0.2,0.15 0.05,0.05 q 1.05,1.2 0.95,2.5 l 0,0.05 -0.3,1.4 0,-0.05 q -0.85,2.4 -3.7,2.65 l -5.1,0 0,12 q 0,0.75 -0.55,1.35 -0.5,0.65 -1.4,0.65 l -12.9,0 q -0.8,0 -1.4,-0.6 -0.6,-0.6 -0.6,-1.4 l -0.05,-12 -5,0 q -2.7,-0.15 -3.75,-2.55 l -0.05,-0.3 q -0.75,-2.2 0.9,-3.8"
+       style="fill:#868383;stroke:none;fill-opacity:1" />
+  </g>
+  <g
+     id="0right"
+     inkscape:label="#g3373">
+    <path
+       d="m 536.015,372 q 0,14.9625 -10.605,25.41 -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 463.985,386.9625 463.985,372 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625"
+       id="path387"
+       inkscape:connector-curvature="0"
+       style="fill:#383838;stroke:none" />
+    <path
+       d="m 540,372 q 0,16.55 -11.75,28.25 Q 516.55,412 500,412 483.35,412 471.65,400.25 460,388.55 460,372 460,355.45 471.65,343.7 483.35,332 500,332 q 16.55,0 28.25,11.7 Q 540,355.45 540,372 m -5.7,0 q 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2"
+       id="path385"
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3770);stroke:none" />
+    <path
+       id="path4085"
+       d="m 502.65,356.15 0,-0.05 14.15,13.8 0.2,0.15 q 1,1.15 1,2.5 0,1.5 -1.2,2.6 l 0.05,0 -14.1,13.7 -0.15,0.2 -0.05,0.05 q -1.2,1.05 -2.5,0.95 l -0.05,0 -1.4,-0.3 0.05,0 q -2.4,-0.85 -2.65,-3.7 l 0,-5.1 -12,0 q -0.75,0 -1.35,-0.55 Q 482,379.9 482,379 l 0,-12.9 q 0,-0.8 0.6,-1.4 0.6,-0.6 1.4,-0.6 l 12,-0.05 0,-5 q 0.15,-2.7 2.55,-3.75 l 0.3,-0.05 q 2.2,-0.75 3.8,0.9"
+       style="fill:#868383;stroke:none;fill-opacity:1" />
+  </g>
+  <g
+     id="0left"
+     inkscape:label="#g3368">
+    <path
+       d="m 446.015,372 q 0,14.9625 -10.605,25.41 -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 373.985,386.9625 373.985,372 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625"
+       id="path391"
+       inkscape:connector-curvature="0"
+       style="fill:#383838;stroke:none" />
+    <path
+       d="M 381.65,343.7 Q 393.35,332 410,332 q 16.55,0 28.25,11.7 Q 450,355.45 450,372 450,388.55 438.25,400.25 426.55,412 410,412 393.35,412 381.65,400.25 370,388.55 370,372 q 0,-16.55 11.65,-28.3 M 444.3,372 q 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2"
+       id="path389"
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3772);stroke:none" />
+    <path
+       id="path4083"
+       d="m 407.25,356.2 0.15,-0.2 0.05,-0.05 q 1.2,-1.05 2.5,-0.95 l 0.05,0 1.4,0.3 -0.05,0 q 2.4,0.85 2.65,3.7 l 0,5.1 12,0 q 0.75,0 1.35,0.55 0.65,0.5 0.65,1.4 l 0,12.9 q 0,0.8 -0.6,1.4 -0.6,0.6 -1.4,0.6 l -12,0.05 0,5 q -0.15,2.7 -2.55,3.75 l -0.3,0.05 q -2.2,0.75 -3.8,-0.9 l 0,0.05 L 393.2,375.15 393,375 q -1,-1.15 -1,-2.5 0,-1.5 1.2,-2.6 l -0.05,0 14.1,-13.7"
+       style="fill:#868383;stroke:none;fill-opacity:1" />
+  </g>
   <path
      style="fill:#ffffff;stroke:none"
      d="m 138.25,344.15 q 1.15,-0.45 2.05,0.4 l 9.9,9.65 0.05,0 q 0.55,0.6 0.55,1.3 0,0.8 -0.6,1.35 l -9.9,9.6 -0.05,0.05 q -0.6,0.55 -1.3,0.5 l -0.7,-0.15 Q 137,366.4 137,365.15 l 0,-19.25 q 0,-1.25 1.2,-1.75 l 0.05,0"
      style="fill:#ffffff;stroke:none"
      d="m 26.75,483.55 3.8,-3.8 2.35,2.35 2.05,-2.1 0,8 -7.95,0 2.1,-2.1 -2.35,-2.35"
      id="path4033" />
-  <path
-     style="fill:#ffffff;stroke:none"
-     d="m 498.25,551.55 11,-13.05 q 0.4,-0.5 1.05,-0.6 0.65,-0.05 1.15,0.4 l 6.55,5.6 q 0.5,0.4 0.55,1.05 l -0.35,1.2 -18.7,22.4 -0.75,0.5 -0.9,0 -0.8,-0.5 -13.25,-15.9 q -0.45,-0.5 -0.4,-1.15 0.05,-0.7 0.55,-1.1 l 6.5,-5.6 q 0.55,-0.45 1.2,-0.4 0.65,0.05 1.1,0.55 l 5.5,6.6"
-     id="path4031" />
+  <g
+     id="0ok"
+     inkscape:label="#g3418">
+    <path
+       d="m 500,515.985 q 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41 -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 463.985,566.9625 463.985,552 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525"
+       id="path479"
+       inkscape:connector-curvature="0"
+       style="fill:#383838;stroke:none" />
+    <path
+       d="m 500,512 q 16.55,0 28.25,11.7 Q 540,535.45 540,552 540,568.55 528.25,580.25 516.55,592 500,592 483.35,592 471.65,580.25 460,568.55 460,552 460,535.45 471.65,523.7 483.35,512 500,512 m 0,5.7 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 Q 514.25,517.7 500,517.7"
+       id="path477"
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3837);stroke:none" />
+    <path
+       id="path4031"
+       d="m 498.25,551.55 11,-13.05 q 0.4,-0.5 1.05,-0.6 0.65,-0.05 1.15,0.4 l 6.55,5.6 q 0.5,0.4 0.55,1.05 l -0.35,1.2 -18.7,22.4 -0.75,0.5 -0.9,0 -0.8,-0.5 -13.25,-15.9 q -0.45,-0.5 -0.4,-1.15 0.05,-0.7 0.55,-1.1 l 6.5,-5.6 q 0.55,-0.45 1.2,-0.4 0.65,0.05 1.1,0.55 l 5.5,6.6"
+       style="fill:#868383;stroke:none;fill-opacity:1" />
+  </g>
   <path
      style="fill:#ffffff;stroke:none"
      d="m 314.85,464.85 q 1.7,-1.65 3.35,0 l 6,6 5.65,-5.6 q 1.7,-1.7 3.35,0 l 1.75,1.65 q 1.7,1.75 0,3.4 l -5.65,5.6 5.9,5.85 q 1.65,1.7 0,3.35 l -1.7,1.7 q -1.75,1.7 -3.4,0.05 l -5.9,-5.85 -6.25,6.2 q -1.65,1.65 -3.35,-0.05 l -1.75,-1.7 q -1.65,-1.65 0,-3.3 l 6.25,-6.25 -6,-5.95 q -1.65,-1.65 0.05,-3.4 l 1.7,-1.7"
      style="fill:#ffffff;stroke:none"
      d="m 336,410 -13.45,16 -9.55,-11.35 4.7,-4 4.85,5.7 8.75,-10.35 4.7,4"
      id="path4027" />
-  <path
-     style="fill:#ffffff;stroke:none"
-     d="m 579.35,538.8 q 2.15,-2.1 4.25,0 l 7.65,7.65 7.2,-7.15 q 2.15,-2.2 4.3,0 l 2.2,2.1 q 2.2,2.25 0,4.35 l -7.2,7.1 7.55,7.5 q 2.1,2.15 0,4.25 l -2.2,2.15 -4.3,0.1 -7.55,-7.5 -7.95,7.95 -4.3,-0.1 -2.2,-2.15 q -2.1,-2.1 0,-4.2 l 7.95,-8 -7.65,-7.55 q -2.1,-2.1 0.05,-4.35 l 2.2,-2.15"
-     id="path4025" />
-  <path
-     style="fill:#ffffff;stroke:none"
-     d="m 411.45,535.2 q 0.55,-0.4 0.9,-0.2 l 18.1,8.25 0.5,0.55 -0.15,0.7 -0.05,0 -11.9,15 q -0.35,0.4 -0.9,0.25 -0.65,-0.1 -0.65,-0.65 l -0.85,-5.65 q -6.15,2.4 -9.8,7.75 -2.65,3.6 -3.45,8.05 l -0.4,0.55 -0.65,0.1 -10.4,-2.35 q -0.9,-0.15 -0.7,-0.95 1.4,-6.65 5.35,-12.3 6.4,-9.15 16.95,-12.7 l -2.15,-5.45 q -0.1,-0.5 0.25,-0.95"
-     id="path495" />
+  <g
+     id="0cancel"
+     inkscape:label="#g3413">
+    <path
+       d="m 615.41,526.5375 q 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41 -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 553.985,566.9625 553.985,552 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525"
+       id="path475"
+       inkscape:connector-curvature="0"
+       style="fill:#383838;stroke:none" />
+    <path
+       d="M 614.2,527.75 Q 604.25,517.7 590,517.7 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 m 4.05,-4.05 Q 630,535.45 630,552 630,568.55 618.25,580.25 606.55,592 590,592 573.35,592 561.65,580.25 550,568.55 550,552 550,535.45 561.65,523.7 573.35,512 590,512 q 16.55,0 28.25,11.7"
+       id="path473"
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3841);stroke:none" />
+    <path
+       id="path4025"
+       d="m 578.3,537.71019 c 1.43333,-1.4 2.85,-1.4 4.25,0 l 7.65,7.65 7.2,-7.15 c 1.43333,-1.46667 2.86667,-1.46667 4.3,0 l 2.2,2.1 c 1.46667,1.5 1.46667,2.95 0,4.35 l -7.2,7.1 7.55,7.5 c 1.4,1.43333 1.4,2.85 0,4.25 l -2.2,2.15 c -1.05197,1.17742 -2.21269,2.02859 -4.3,0.1 l -7.55,-7.5 -7.95,7.95 c -1.18534,1.36107 -2.59032,1.68076 -4.3,-0.1 l -2.2,-2.15 c -1.4,-1.4 -1.4,-2.8 0,-4.2 l 7.95,-8 -7.65,-7.55 c -1.4,-1.4 -1.38333,-2.85 0.05,-4.35 l 2.2,-2.15"
+       style="fill:#868383;stroke:none;fill-opacity:1"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="csccccccccccccccccccc" />
+  </g>
+  <g
+     id="0turn_right"
+     inkscape:label="#g3423">
+    <path
+       d="m 410,515.985 q 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41 -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 373.985,566.9625 373.985,552 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525"
+       id="path493"
+       inkscape:connector-curvature="0"
+       style="fill:#383838;stroke:none" />
+    <path
+       d="m 370,552 q 0,-16.55 11.65,-28.3 11.7,-11.7 28.35,-11.7 16.55,0 28.25,11.7 Q 450,535.45 450,552 450,568.55 438.25,580.25 426.55,592 410,592 393.35,592 381.65,580.25 370,568.55 370,552 m 40,-34.3 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 Q 424.25,517.7 410,517.7"
+       id="path491"
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3824);stroke:none" />
+    <path
+       id="path495"
+       d="m 411.45,535.2 q 0.55,-0.4 0.9,-0.2 l 18.1,8.25 0.5,0.55 -0.15,0.7 -0.05,0 -11.9,15 q -0.35,0.4 -0.9,0.25 -0.65,-0.1 -0.65,-0.65 l -0.85,-5.65 q -6.15,2.4 -9.8,7.75 -2.65,3.6 -3.45,8.05 l -0.4,0.55 -0.65,0.1 -10.4,-2.35 q -0.9,-0.15 -0.7,-0.95 1.4,-6.65 5.35,-12.3 6.4,-9.15 16.95,-12.7 l -2.15,-5.45 q -0.1,-0.5 0.25,-0.95"
+       style="fill:#868383;stroke:none;fill-opacity:1" />
+  </g>
   <path
      style="fill:#ffffff;fill-opacity:0.30196078;stroke:none"
      inkscape:connector-curvature="0"
      id="0joystick_down"
      transform="translate(-175.57949,-208.46581)">
     <path
-       style="fill:#1a1a1a;stroke:none;fill-opacity:1"
-       d="m 657,269.65 0,37.3 q 0,1 -1,1 l -51,0 q -1,0 -1,-1 l 0,-37.3 26.5,-26.5 26.5,26.5"
+       style="fill:#1a1a1a;fill-opacity:1;stroke:none"
+       d="m 660.19126,268.93949 0,41.79185 q 0,1.12043 -1.12043,1.12043 l -57.14166,0 q -1.12043,0 -1.12043,-1.12043 l 0,-41.79185 29.69126,-29.69126 29.69126,29.69126"
        id="path3366"
        inkscape:connector-curvature="0" />
     <path
        id="path3372"
        d="m 657,269.65 -26.5,-26.5 -26.5,26.5 0,37.3 q 0,1 1,1 l 51,0 q 1,0 1,-1 l 0,-37.3 M 630.5,237.5 661,268 l 0,38.95 q 0,5 -5,5 l -51,0 q -5,0 -5,-5 l 0,-38.95 30.5,-30.5" />
   </g>
+  <g
+     id="0turn_left"
+     transform="matrix(-1,0,0,1,820,-90)"
+     inkscape:label="#g3428">
+    <path
+       style="fill:#383838;stroke:none"
+       inkscape:connector-curvature="0"
+       id="path3432"
+       d="m 410,515.985 q 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41 -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 373.985,566.9625 373.985,552 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525" />
+    <path
+       style="fill:url(#linearGradient3436);stroke:none"
+       inkscape:connector-curvature="0"
+       id="path3430"
+       d="m 370,552 q 0,-16.55 11.65,-28.3 11.7,-11.7 28.35,-11.7 16.55,0 28.25,11.7 Q 450,535.45 450,552 450,568.55 438.25,580.25 426.55,592 410,592 393.35,592 381.65,580.25 370,568.55 370,552 m 40,-34.3 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 Q 424.25,517.7 410,517.7" />
+    <path
+       style="fill:#868383;stroke:none;fill-opacity:1"
+       d="m 411.45,535.2 q 0.55,-0.4 0.9,-0.2 l 18.1,8.25 0.5,0.55 -0.15,0.7 -0.05,0 -11.9,15 q -0.35,0.4 -0.9,0.25 -0.65,-0.1 -0.65,-0.65 l -0.85,-5.65 q -6.15,2.4 -9.8,7.75 -2.65,3.6 -3.45,8.05 l -0.4,0.55 -0.65,0.1 -10.4,-2.35 q -0.9,-0.15 -0.7,-0.95 1.4,-6.65 5.35,-12.3 6.4,-9.15 16.95,-12.7 l -2.15,-5.45 q -0.1,-0.5 0.25,-0.95"
+       id="path3434"
+       inkscape:connector-curvature="0" />
+  </g>
+  <path
+     inkscape:connector-curvature="0"
+     style="fill:#ffffff;stroke:none"
+     d="m 48.729682,524.82435 q 3.8,0.6 6.65,3.4 3.6,3.55 3.6,8.6 l -0.3,2.7 -0.3,0.5 -0.6,0.2 q -20.8,5.55 -37.9,0 l -0.45,-0.1 -0.35,-0.3 q -1.1,-1.7 -1.1,-3.85 0,-3 2.15,-5.1 1.5,-1.45 3.4,-1.95 0.4,-4.55 3.8,-7.9 3.85,-3.8 9.35,-3.8 5.45,0 9.35,3.8 1.75,1.75 2.7,3.8"
+     id="path3317" />
+  <path
+     style="fill:#383838;stroke:none"
+     inkscape:connector-curvature="0"
+     id="path463"
+     d="m 885.41,487.41 q -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 823.985,476.9625 823.985,462 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41" />
+  <path
+     style="fill:url(#linearGradient3420);stroke:none"
+     inkscape:connector-curvature="0"
+     id="path461"
+     d="m 884.2,486.2 q 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 M 900,462 q 0,16.55 -11.75,28.25 Q 876.55,502 860,502 843.35,502 831.65,490.25 820,478.55 820,462 820,445.45 831.65,433.7 843.35,422 860,422 q 16.55,0 28.25,11.7 Q 900,445.45 900,462" />
+  <g
+     transform="translate(136.89437,336.9)"
+     id="g3360">
+    <path
+       inkscape:connector-curvature="0"
+       id="path3309"
+       d="m 718.95,109.2 q 0.35,-0.05 0.65,0.2 10.85,7.25 22.5,8.35 0.4,0.05 0.65,0.35 l 0.25,0.65 0,0.6 -0.2,0.65 q -9.75,12.1 -23.8,10.9 -0.4,-0.05 -0.65,-0.3 -0.3,-0.3 -0.3,-0.7 l 0,-19.7 q 0,-0.35 0.25,-0.65 0.25,-0.3 0.65,-0.35"
+       style="fill:#868383;fill-opacity:1;stroke:none" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path3307"
+       d="m 716.05,109 0,32.2 -0.3,0.7 -0.7,0.3 -4.15,0 -0.7,-0.3 q -0.3,-0.3 -0.3,-0.7 l 0,-32.2 q 0,-0.4 0.3,-0.7 0.3,-0.3 0.7,-0.3 l 4.15,0 q 0.4,0 0.7,0.3 l 0.3,0.7"
+       style="fill:#868383;fill-opacity:1;stroke:none" />
+  </g>
+  <path
+     inkscape:connector-curvature="0"
+     style="fill:#ffffff;stroke:none"
+     d="m 84.898257,568.53213 q 1.35,1.35 2.45,3.8 2.45,5.5 2.5,13.25 l 0,0.1 q 0,2.05 -2.5,3.55 -2.45,1.5 -6,1.5 -3.55,0 -6.05,-1.5 -2.45,-1.5 -2.45,-3.55 l 0,-0.1 q 0.05,-7.75 2.45,-13.25 1.15,-2.45 2.5,-3.85 l -1,-0.8 q -1.9,-1.9 -1.9,-4.55 0,-2.65 1.9,-4.5 1.85,-1.9 4.55,-1.9 2.7,0 4.6,1.9 1.9,1.85 1.9,4.5 0,2.65 -1.9,4.55 l -1.05,0.85"
+     id="path3255" />
+  <path
+     inkscape:connector-curvature="0"
+     style="fill:#ffffff;stroke:none"
+     d="m 39.452971,562.48202 6.8,11.8 q 1.25,2.2 -0.65,5.25 -1.95,3.2 -6,5.55 -4.05,2.3 -7.65,2.4 -3.7,0.2 -4.9,-1.95 l -0.95,-1.55 -7.95,-2.25 q -1.75,-0.35 -2.65,-1.9 -0.75,-1.25 -0.5,-2.7 l 0.1,-0.4 0.1,-0.15 q 0.3,-1.1 1.2,-1.95 l 0.65,-0.55 q 1.5,-0.8 3.2,-0.35 l -6,-10.5 q -0.65,-1.15 -0.45,-2.35 l 0.1,-0.6 q 0.4,-1.5 1.7,-2.2 l 0.05,-0.1 q 1.35,-0.7 2.85,-0.4 1.5,0.4 2.3,1.8 l 3.15,5.6 0.05,0 q 1.2,-1.1 2.9,-2.05 4.05,-2.3 7.75,-2.5 3.55,-0.05 4.8,2.05"
+     id="path3241" />
+  <g
+     id="g4250"
+     transform="translate(4.7296549,-14.97724)">
+    <path
+       id="path3253"
+       d="m 112.24205,593.72109 q 1.35,-1.45 3.35,-1.45 1.95,0 3.45,1.4 l 0,0.05 q 1.4,1.45 1.4,3.4 l -0.05,0.85 q -0.3,1.5 -1.35,2.6 -1.45,1.35 -3.45,1.35 -2,0 -3.35,-1.35 -1.2,-1.2 -1.4,-2.7 l -0.05,-0.75 q 0,-2 1.45,-3.45 l 0,0.05"
+       style="fill:#ffffff;stroke:none"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path3251"
+       d="m 110.94205,592.47109 q -1.9,1.95 -1.9,4.65 l 0.05,0.95 -3.55,-0.1 0,-12.15 8.5,-0.9 4.6,-11 11.9,0 4.4,10.4 9.6,1.5 -0.65,12.85 -3.1,-0.05 0.1,-1.5 q 0,-2.7 -1.9,-4.65 -1.9,-1.9 -4.65,-1.9 -2.7,0 -4.6,1.9 -1.95,1.95 -1.95,4.65 l 0.15,1.3 -5.85,-0.15 0.05,-1.15 q 0,-2.7 -1.9,-4.65 -1.95,-1.9 -4.65,-1.9 -2.7,0 -4.65,1.9"
+       style="fill:#ffffff;stroke:none"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path3239"
+       d="m 130.99205,593.72109 q 1.4,-1.45 3.35,-1.45 2,0 3.45,1.45 l 0,-0.05 q 1.35,1.45 1.35,3.45 l -0.05,1.15 q -0.3,1.25 -1.3,2.3 -1.45,1.35 -3.45,1.35 -1.95,0 -3.35,-1.35 -1.05,-1.1 -1.35,-2.45 l 0,-0.05 -0.1,-0.95 q 0,-1.95 1.45,-3.4"
+       style="fill:#ffffff;stroke:none"
+       inkscape:connector-curvature="0" />
+  </g>
+  <path
+     style="fill:#383838;stroke:none"
+     inkscape:connector-curvature="0"
+     id="path471"
+     d="m 705.41,526.5375 q 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41 -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 643.985,566.9625 643.985,552 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525" />
+  <path
+     style="fill:url(#linearGradient3408);stroke:none"
+     inkscape:connector-curvature="0"
+     id="path469"
+     d="M 708.25,523.7 Q 720,535.45 720,552 720,568.55 708.25,580.25 696.55,592 680,592 663.35,592 651.65,580.25 640,568.55 640,552 640,535.45 651.65,523.7 663.35,512 680,512 q 16.55,0 28.25,11.7 m -4.05,4.05 Q 694.25,517.7 680,517.7 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25" />
+  <g
+     transform="matrix(1.1798049,0,0,1.1798049,651.43511,285.44816)"
+     id="g3353">
+    <path
+       inkscape:connector-curvature="0"
+       id="path3031"
+       d="M 26.95,216.35 24.3,219 19.05,213.65 21.7,211 l 5.25,5.35"
+       style="fill:#868383;fill-opacity:1;stroke:none" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path3029"
+       d="m 33.75,214.7 5.25,5.35 0.05,5.4 -2.65,2.65 2.6,2.65 -7.9,8.05 -5.2,0 -2.1,2.15 -3.85,-3.9 12.6,-12.85 -3,-3.05 -5.25,5.35 -2.6,-2.7 7.9,-8 4.15,-1.1"
+       style="fill:#868383;fill-opacity:1;stroke:none" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path3025"
+       d="m 18.55,235.6 -10.5,-10.7 2.6,-2.65 10.5,10.7 -2.6,2.65"
+       style="fill:#868383;fill-opacity:1;stroke:none" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path3023"
+       d="m 15.4,217.4 2.6,-2.65 5.25,5.35 -2.6,2.65 -5.25,-5.35"
+       style="fill:#868383;fill-opacity:1;stroke:none" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path3021"
+       d="m 11.7,221.15 2.65,-2.65 10.5,10.7 -2.65,2.65 -10.5,-10.7"
+       style="fill:#868383;fill-opacity:1;stroke:none" />
+  </g>
+  <path
+     inkscape:connector-curvature="0"
+     style="fill:#ffffff;stroke:none"
+     d="m 93.645491,516.31341 4.68602,0 q 0.937207,0 1.640107,0.7029 0.702902,0.70291 0.702902,1.64011 l 0,8.20055 8.20055,0 q 0.9372,0 1.64011,0.7029 0.7029,0.7029 0.7029,1.64011 l 0,4.68602 q 0,0.99578 -0.7029,1.69869 -0.70291,0.64432 -1.64011,0.64432 l -8.20055,0 0,8.20055 q 0,0.99578 -0.702902,1.69868 -0.7029,0.64433 -1.640107,0.64433 l -4.68602,0 q -0.99578,0 -1.69869,-0.64433 -0.64432,-0.7029 -0.64432,-1.69868 l 0,-8.20055 -8.200551,0 q -0.99578,0 -1.69868,-0.64432 -0.64433,-0.70291 -0.64433,-1.69869 l 0,-4.62745 q 0,-0.99578 0.64433,-1.69868 0.7029,-0.7029 1.69868,-0.7029 l 8.200551,0 0,-8.14197 q 0,-0.99578 0.64432,-1.69869 0.70291,-0.7029 1.69869,-0.7029"
+     id="path3007" />
+  <path
+     inkscape:connector-curvature="0"
+     style="fill:#ffffff;stroke:none"
+     d="m 192.08531,544.44213 -5.03627,0.13728 -1.37352,0.59519 6.63871,6.36401 0.68676,0.96147 c 0.43953,0.97674 0.1923,1.91378 -0.68676,2.79284 l -2.79284,2.83869 c -1.17207,1.26976 -2.39298,1.26976 -3.66273,0 l -6.50137,-6.59292 c -0.39069,1.07439 -0.59214,2.13354 -0.64097,3.15911 -0.29303,3.22321 0.8058,6.1534 3.29646,8.79057 1.75811,1.70928 3.87335,2.76841 6.36401,3.15911 1.02557,0.29302 2.04198,0.29302 3.06754,0 l 4.02901,3.84587 -0.0916,0.18314 6.82185,6.77608 c 1.36742,1.26974 2.95462,1.92293 4.76156,1.92293 2.00231,0 3.63222,-0.65319 4.85313,-1.92293 1.31858,-1.26976 1.96872,-2.85694 1.96872,-4.76157 l -0.0915,-0.91568 c -0.14651,-1.4651 -0.75392,-2.72874 -1.87716,-3.75431 l -10.7135,-10.48458 0.22891,-1.69403 0,-1.46509 0,-0.18313 c -0.34184,-2.58835 -1.48036,-4.78599 -3.43381,-6.59294 -1.66043,-1.70928 -3.61695,-2.76841 -5.8146,-3.15911 z m 15.1088,24.99819 c 0.83022,0 1.64212,0.34492 2.47235,1.05303 l 0.96146,1.4651 0.13729,0.96147 c 0,0.92789 -0.36628,1.78558 -1.09883,2.51813 -0.68372,0.63487 -1.49561,0.91569 -2.47235,0.91569 -0.92789,0 -1.7398,-0.28082 -2.47235,-0.91569 -0.63487,-0.73255 -0.96146,-1.59024 -0.96146,-2.51813 l 0.13727,-0.96147 c 0.0977,-0.5372 0.38459,-1.02556 0.82412,-1.4651 0.83023,-0.70811 1.64213,-1.05303 2.47235,-1.05303 z"
+     id="path4093-3" />
+  <g
+     id="0a"
+     inkscape:label="#g4255">
+    <path
+       d="m 525.41,487.41 q -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 463.985,476.9625 463.985,462 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41"
+       id="path363"
+       inkscape:connector-curvature="0"
+       style="fill:#383838;stroke:none" />
+    <path
+       d="m 500,422 q 16.55,0 28.25,11.7 Q 540,445.45 540,462 540,478.55 528.25,490.25 516.55,502 500,502 483.35,502 471.65,490.25 460,478.55 460,462 460,445.45 471.65,433.7 483.35,422 500,422 m 24.2,64.2 q 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1"
+       id="path361"
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3758);stroke:none" />
+    <path
+       d="m 505.69156,470.95738 -11.36425,0 -1.79337,5.13468 -7.3056,0 10.43925,-28.18412 8.66479,0 10.43928,28.18412 -7.3056,0 -1.7745,-5.13468 m -9.55201,-5.22907 7.72089,0 -3.85102,-11.21325 -3.86987,11.21325"
+       style="font-size:26.96194838999999988px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#868383;fill-opacity:1;stroke:none;font-family:Droid Sans Armenian;-inkscape-font-specification:Droid Sans Armenian Bold"
+       id="path4223"
+       inkscape:connector-curvature="0" />
+  </g>
+  <g
+     id="0b"
+     inkscape:label="#g4260">
+    <path
+       d="m 553.985,462 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41 -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 553.985,476.9625 553.985,462"
+       id="path359"
+       inkscape:connector-curvature="0"
+       style="fill:#383838;stroke:none" />
+    <path
+       d="M 618.25,433.7 Q 630,445.45 630,462 630,478.55 618.25,490.25 606.55,502 590,502 573.35,502 561.65,490.25 550,478.55 550,462 550,445.45 561.65,433.7 573.35,422 590,422 q 16.55,0 28.25,11.7 M 555.7,462 q 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25"
+       id="path357"
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3756);stroke:none" />
+    <path
+       d="m 591.37892,458.50174 c 1.14522,3e-5 2.01359,-0.25167 2.60509,-0.7551 0.59147,-0.50337 0.88724,-1.24588 0.88725,-2.22754 -10e-6,-0.96902 -0.29578,-1.70524 -0.88725,-2.20866 -0.5915,-0.51597 -1.45987,-0.77395 -2.60509,-0.77398 l -4.02091,0 0,5.96528 4.02091,0 m 0.24541,12.32704 c 1.45984,0 2.55473,-0.30833 3.28468,-0.925 0.7425,-0.61666 1.11376,-1.54795 1.11379,-2.79387 -3e-5,-1.22074 -0.365,-2.13315 -1.09491,-2.73725 -0.72996,-0.61665 -1.83113,-0.92498 -3.30356,-0.92499 l -4.26632,0 0,7.38111 4.26632,0 m 6.75814,-10.13723 c 1.56052,0.45309 2.76868,1.28997 3.62448,2.5107 0.85576,1.22078 1.28367,2.71839 1.28369,4.49286 -2e-5,2.71837 -0.91873,4.74454 -2.75613,6.07857 -1.83743,1.334 -4.6313,2.001 -8.3816,2.001 l -12.06276,0 0,-28.18412 10.91122,0 c 3.91391,2e-5 6.74555,0.59152 8.49489,1.77448 1.76188,1.18301 2.64281,3.07705 2.64285,5.68213 -4e-5,1.37178 -0.32094,2.54219 -0.96276,3.51122 -0.64185,0.95648 -1.57314,1.66753 -2.79388,2.13316"
+       style="font-size:26.96194838999999988px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#868383;fill-opacity:1;stroke:none;font-family:Droid Sans Armenian;-inkscape-font-specification:Droid Sans Armenian Bold"
+       id="path4225"
+       inkscape:connector-curvature="0" />
+  </g>
+  <g
+     id="0x"
+     inkscape:label="#g4265">
+    <path
+       d="m 643.985,462 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41 -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 643.985,476.9625 643.985,462"
+       id="path355"
+       inkscape:connector-curvature="0"
+       style="fill:#383838;stroke:none" />
+    <path
+       d="M 708.25,433.7 Q 720,445.45 720,462 720,478.55 708.25,490.25 696.55,502 680,502 663.35,502 651.65,490.25 640,478.55 640,462 640,445.45 651.65,433.7 663.35,422 680,422 q 16.55,0 28.25,11.7 M 645.7,462 q 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25"
+       id="path353"
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3754);stroke:none" />
+    <path
+       d="m 684.37015,461.7074 9.77855,14.38466 -7.5699,0 -6.58824,-9.62754 -6.53162,9.62754 -7.60765,0 9.77857,-14.38466 -9.40102,-13.79946 7.58876,0 6.17296,9.08008 6.15407,-9.08008 7.62652,0 -9.401,13.79946"
+       style="font-size:26.96194838999999988px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#868383;fill-opacity:1;stroke:none;font-family:Droid Sans Armenian;-inkscape-font-specification:Droid Sans Armenian Bold"
+       id="path4227"
+       inkscape:connector-curvature="0" />
+  </g>
+  <g
+     id="0y"
+     inkscape:label="#g4270">
+    <path
+       d="m 795.41,487.41 q -10.4475,10.605 -25.41,10.605 -14.9625,0 -25.4625,-10.605 Q 733.985,476.9625 733.985,462 q 0,-14.8575 10.5525,-25.4625 10.5,-10.5525 25.4625,-10.5525 14.9625,0 25.41,10.5525 10.605,10.605 10.605,25.4625 0,14.9625 -10.605,25.41"
+       id="path467"
+       inkscape:connector-curvature="0"
+       style="fill:#383838;stroke:none" />
+    <path
+       d="m 794.2,486.2 q 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 M 810,462 q 0,16.55 -11.75,28.25 Q 786.55,502 770,502 753.35,502 741.65,490.25 730,478.55 730,462 730,445.45 741.65,433.7 753.35,422 770,422 q 16.55,0 28.25,11.7 Q 810,445.45 810,462"
+       id="path465"
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3849);stroke:none" />
+    <path
+       d="m 755.62477,447.90794 7.94743,0 6.41836,10.04282 6.41835,-10.04282 7.96631,0 -10.7413,16.31017 0,11.87395 -7.26784,0 0,-11.87395 -10.74131,-16.31017"
+       style="font-size:26.96194838999999988px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#868383;fill-opacity:1;stroke:none;font-family:Droid Sans Armenian;-inkscape-font-specification:Droid Sans Armenian Bold"
+       id="path4229"
+       inkscape:connector-curvature="0" />
+  </g>
 </svg>
diff --git a/lib/gamnit/virtual_gamepad/assets/images/gamnit_touch_gamepad.png b/lib/gamnit/virtual_gamepad/assets/images/gamnit_touch_gamepad.png
new file mode 100644 (file)
index 0000000..69d885c
Binary files /dev/null and b/lib/gamnit/virtual_gamepad/assets/images/gamnit_touch_gamepad.png differ
diff --git a/lib/gamnit/virtual_gamepad/virtual_gamepad.nit b/lib/gamnit/virtual_gamepad/virtual_gamepad.nit
new file mode 100644 (file)
index 0000000..2ffb84e
--- /dev/null
@@ -0,0 +1,414 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Virtual gamepad mapped to keyboard keys for quick and dirty mobile support
+#
+# For Android, the texture is automatically added to the APK when this
+# module is imported. However, due to a limitation of the _app.nit_
+# framework on desktop OS, the texture must be copied manually to the assets
+# folder at `assets/images`, the texture is available at, from the repo root,
+# `lib/gamnit/virtual_gamepad/assets/images`.
+#
+# The texture was created by kenney.nl and modified by Alexis Laferrière.
+# It is published under CC0 and can be used and modified without attribution.
+#
+# ~~~
+# redef class App
+#     redef fun on_create
+#     do
+#         super
+#
+#         # Create the virtual gamepad
+#         var gamepad = new VirtualGamepad
+#
+#         # Configure it as needed
+#         gamepad.add_dpad(["w","a","s","d"])
+#         gamepad.add_button("x", gamepad_spritesheet.x)
+#         gamepad.add_button("space", gamepad_spritesheet.star)
+#
+#         # Assign it as the active gamepad
+#         self.gamepad = gamepad
+#    end
+#
+#    fun setup_play_ui
+#    do
+#        # Show the virtual gamepad
+#        var gamepad = self.gamepad
+#        if gamepad != null then gamepad.visible = true
+#    end
+# end
+# ~~~
+module virtual_gamepad is app_files
+
+import flat
+private import keys
+import virtual_gamepad_spritesheet
+
+redef class App
+
+       # Current touch gamepad, still may be invisible
+       var gamepad: nullable VirtualGamepad = null
+
+       # Textures used for `DPad` and available to clients
+       var gamepad_spritesheet = new VirtualGamepadSpritesheet
+
+       redef fun accept_event(event)
+       do
+               # Priority to the gamepad
+               var gamepad = gamepad
+               if gamepad != null and gamepad.accept_event(event) then return true
+
+               return super
+       end
+end
+
+# Gamepad on touch screen bound to keyboard keys
+#
+# Fires `VirtualGamepadEvent` which implement `KeyEvent` so it behaves like a keyboard.
+class VirtualGamepad
+
+       private var sprites = new Array[Sprite]
+
+       # Controls composing this gamepad
+       #
+       # Controls can be added directly to this array or using `add_dpad`
+       # and `add_button`.
+       var controls = new Array[RoundControl]
+
+       # Add a directional pad (`DPad`) to a default location
+       #
+       # The 4 buttons fire events with the corresponding name in `names`.
+       # Items in `names` should be in order of top, left, down and right.
+       # If `null`, defaults to WASD.
+       #
+       # If this method is called, it should be before `add_button` to
+       # avoid overlapping controls.
+       #
+       # A maximum of 2 `DPad` may be added using this method.
+       # The first `DPad` is placed on the left of the screen.
+       # The second `DPad` is on the right and replaces some buttons
+       # added by `add_button`.
+       #
+       # Require: `names == null or names.length == 4`
+       fun add_dpad(names: nullable Array[String])
+       do
+               if names == null then names = ["w","a","s","d"]
+               assert names.length == 4
+
+               if n_dpads == 0 then
+                       controls.add new DPad(app.ui_camera.bottom_left.offset(200.0, 100.0, 0.0), names)
+               else if n_dpads == 1 then
+                       controls.add new DPad(app.ui_camera.bottom_right.offset(-200.0, 100.0, 0.0), names)
+               else
+                       print_error "Too many DPad ({n_dpads}) in {self}"
+               end
+       end
+
+       # Number of `DPad` in `controls`
+       private fun n_dpads: Int
+       do
+               var n_dpads = 0
+               for c in controls do if c isa DPad then n_dpads += 1
+               return n_dpads
+       end
+
+       # Button positions for `add_button`, offsets from the bottom right
+       private var button_positions = new Array[Point[Float]].with_items(
+               new Point[Float](-150.0, 150.0),
+               new Point[Float](-150.0, 350.0),
+               new Point[Float](-150.0, 550.0),
+               new Point[Float](-350.0, 150.0),
+               new Point[Float](-350.0, 350.0),
+               new Point[Float](-350.0, 550.0))
+
+       # Add a round button to a default location
+       #
+       # Fired events use `name`, it should usually correspond to a
+       # keyboard key like "space" or "a".
+       # `texture` is displayed at the button position, it also sets the
+       # touchable surface of the button.
+       #
+       # If this method is called, it should be after `add_dpad` to
+       # avoid overlapping controls.
+       #
+       # A maximum of 6 buttons may be added using this method when
+       # there is less than 2 `DPad`. Otherwise, only 2 buttons can be added.
+       fun add_button(name: String, texture: Texture)
+       do
+               if n_dpads == 2 and button_positions.length == 6 then
+                       # Drop the bottom 4 buttons
+                       button_positions.remove_at 4
+                       button_positions.remove_at 3
+                       button_positions.remove_at 1
+                       button_positions.remove_at 0
+               end
+
+               assert button_positions.not_empty else print_error "Too many buttons in {self}"
+               var pos = button_positions.shift
+               controls.add new RoundButton(
+                       app.ui_camera.bottom_right.offset(pos.x, pos.y, 0.0), name, texture)
+       end
+
+       private fun prepare
+       do
+               var display = app.display
+               assert display != null
+
+               for control in controls do
+                       var sprites = control.sprites
+                       app.ui_sprites.add_all sprites
+               end
+       end
+
+       # Is this control visible?
+       var visible = false is private writable(visible_direct=)
+
+       # Set this control to visible or not
+       fun visible=(value: Bool)
+       do
+               visible_direct = value
+               if value then show else hide
+       end
+
+       private fun show
+       do
+               if sprites.is_empty then prepare
+               app.ui_sprites.add_all sprites
+       end
+
+       private fun hide do for s in sprites do app.ui_sprites.remove_all s
+
+       private var control_under_pointer = new Map[Int, RoundControl]
+
+       private fun accept_event(event: InputEvent): Bool
+       do
+               if not visible then return false
+
+               var display = app.display
+               if display == null then return false
+
+               if event isa PointerEvent then
+                       var ui_pos = app.ui_camera.camera_to_ui(event.x, event.y)
+
+                       for control in controls do
+                               if control.accept_event(event, ui_pos) then
+                                       var prev_control = control_under_pointer.get_or_null(event.pointer_id)
+                                       if prev_control != null and prev_control != control then
+                                               prev_control.depressed_down
+                                       end
+                                       control_under_pointer[event.pointer_id] = control
+                                       return true
+                               end
+                       end
+
+                       var prev_control = control_under_pointer.get_or_null(event.pointer_id)
+                       if prev_control != null then prev_control.depressed_down
+                       control_under_pointer.keys.remove event.pointer_id
+               end
+
+               return false
+       end
+end
+
+# Event fired by a `VirtualGamepad`
+class VirtualGamepadEvent
+       super KeyEvent
+
+       redef var name
+
+       redef var is_down is noautoinit
+end
+
+# Control composing a `VirtualGamepad`
+abstract class RoundControl
+       # Center position on the UI
+       var center: Point3d[Float]
+
+       # Radius in UI units/pixels of the  part of this control
+       fun radius: Float is abstract
+
+       private fun sprites: Array[Sprite] do return new Array[Sprite]
+
+       private fun accept_event(event: InputEvent, ui_pos: Point[Float]): Bool
+       do
+               if event isa PointerEvent and contains(ui_pos) then
+                       return hit(event, ui_pos)
+               end
+
+               return false
+       end
+
+       # Does `self` contain a pointer at `ui_pos`?
+       private fun contains(ui_pos: Point[Float]): Bool
+       do
+               var dx = center.x - ui_pos.x
+               var dy = center.y - ui_pos.y
+               return dx*dx + dy*dy < radius*radius
+       end
+
+       private fun hit(event: PointerEvent, ui_pos: Point[Float]): Bool
+       do return false
+
+       # Keys currently down, to be depressed if the pointer moves away
+       private var down_names = new Set[String]
+
+       # Depress/release keys kept down, listed by `down_names`
+       private fun depressed_down
+       do
+               for name in down_names do
+                       var e = new VirtualGamepadEvent(name)
+                       e.is_down = false
+                       app.accept_event e
+               end
+               down_names.clear
+       end
+end
+
+# Simple action button
+class RoundButton
+       super RoundControl
+
+       # Event name, should usually correspond to a keyboard key like "a" or "left"
+       var name: String
+
+       # Texture drawn for this button, may be from `app.gamepad_spritesheet`
+       var texture: Texture
+
+       redef fun radius do return 0.5*texture.height
+
+       redef fun hit(event, ui_pos)
+       do
+               if not event.is_move then
+                       var e = new VirtualGamepadEvent(name.to_s)
+                       e.is_down = event.pressed
+                       app.accept_event e
+
+                       if event.pressed then
+                               down_names.add name
+                       else down_names.clear
+               end
+               return true
+       end
+
+       redef var sprites = [new Sprite(texture, center)] is lazy
+end
+
+# Directional pad with up to 4 buttons
+#
+# Assumes that each pad is manipulated by at max a single pointer.
+class DPad
+       super RoundControl
+
+       # Event names for the keys, in order of top, left, down and right
+       var names: Array[String]
+
+       # Show the up button
+       var show_up = true is writable
+
+       # Show the down button
+       var show_down = true is writable
+
+       # Show the left button
+       var show_left = true is writable
+
+       # Show the right button
+       var show_right = true is writable
+
+       redef fun radius do return 200.0
+
+       redef fun contains(ui_pos)
+       do
+               if show_down then return super(new Point[Float](ui_pos.x+0.0, ui_pos.y-100.0))
+               return super
+       end
+
+       redef fun hit(event, ui_pos)
+       do
+               var display = app.display
+               if display == null then return false
+
+               var dx = ui_pos.x - center.x
+               var dy = ui_pos.y - center.y
+               if show_down then dy -= 100.0
+
+               # Angle (with 0.0 on the right) to index in WASD (0 -> W/up)
+               var indexes = new Set[Int]
+               var ao = atan2(dy, dx)
+               ao -= pi/4.0
+
+               # Look for 2 angles so 2 buttons can be pressed at the same time
+               for da in once [-pi/8.0, pi/8.0] do
+                       var a = ao+da
+                       while a < 0.0 do a += pi*2.0
+                       while a > 2.0*pi do a -= pi*2.0
+                       var index = (a * 2.0 / pi).floor.to_i
+                       if index < 0 then index += 4
+                       indexes.add index
+               end
+
+               var shows = [show_up, show_left, show_down, show_right]
+               var new_down_names = new Set[String]
+               for index in indexes do
+                       # Don't trigger events for hidden buttons/directions
+                       if not shows[index] then continue
+
+                       var name = names[index]
+                       # Simulate event
+                       var e = new VirtualGamepadEvent(name)
+                       e.is_down = event.pressed
+                       app.accept_event e
+
+                       if event.pressed then new_down_names.add name
+               end
+
+               # Depress released directions
+               for name in down_names do
+                       if not new_down_names.has(name) then
+                               var e = new VirtualGamepadEvent(name)
+                               e.is_down = false
+                               app.accept_event e
+                       end
+               end
+
+               down_names = new_down_names
+
+               return true
+       end
+
+       redef fun sprites
+       do
+               var dy = 0.0
+               if show_down then dy = 100.0
+
+               var sprites = new Array[Sprite]
+
+               # Interactive buttons
+               if show_up then sprites.add new Sprite(app.gamepad_spritesheet.dpad_up,
+                       center.offset(   0.0, 100.0+dy, 0.0))
+               if show_left then sprites.add new Sprite(app.gamepad_spritesheet.dpad_left,
+                       center.offset(-100.0,   0.0+dy, 0.0))
+               if show_right then sprites.add new Sprite(app.gamepad_spritesheet.dpad_right,
+                       center.offset( 100.0,   0.0+dy, 0.0))
+               if show_down then sprites.add new Sprite(app.gamepad_spritesheet.dpad_down,
+                       center.offset(   0.0,-100.0+dy, 0.0))
+
+               # Non-interactive joystick background
+               sprites.add new Sprite(app.gamepad_spritesheet.joystick_back,
+                       center.offset(0.0, 0.0+dy, -1.0)) # In the back
+               if not show_down then sprites.add new Sprite(app.gamepad_spritesheet.joystick_down,
+                       center.offset(0.0, -100.0+dy,  0.0))
+
+               return sprites
+       end
+end
diff --git a/lib/gamnit/virtual_gamepad/virtual_gamepad_spritesheet.nit b/lib/gamnit/virtual_gamepad/virtual_gamepad_spritesheet.nit
new file mode 100644 (file)
index 0000000..64c0048
--- /dev/null
@@ -0,0 +1,33 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# File generated by svg_to_png_and_nit, do not modify, redef instead
+
+import gamnit::textures
+
+class VirtualGamepadSpritesheet
+
+       private var root_texture = new Texture("images/virtual_gamepad.png")
+       var a: Texture = root_texture.subtexture(856, 816, 162, 162)
+       var b: Texture = root_texture.subtexture(1036, 816, 162, 162)
+       var cancel: Texture = root_texture.subtexture(1036, 996, 162, 162)
+       var down: Texture = root_texture.subtexture(1216, 636, 162, 162)
+       var dpad_down: Texture = root_texture.subtexture(1136, 446, 124, 152)
+       var dpad_left: Texture = root_texture.subtexture(1036, 296, 154, 124)
+       var dpad_right: Texture = root_texture.subtexture(1206, 296, 152, 124)
+       var dpad_up: Texture = root_texture.subtexture(1136, 116, 124, 154)
+       var fire: Texture = root_texture.subtexture(1396, 996, 162, 162)
+       var fist: Texture = root_texture.subtexture(1216, 996, 162, 162)
+       var flag: Texture = root_texture.subtexture(1576, 816, 162, 162)
+       var joystick_back: Texture = root_texture.subtexture(0, 0, 194, 194)
+       var joystick_down: Texture = root_texture.subtexture(784, 30, 124, 152)
+       var key: Texture = root_texture.subtexture(1576, 636, 162, 162)
+       var left: Texture = root_texture.subtexture(676, 636, 162, 162)
+       var ok: Texture = root_texture.subtexture(856, 996, 162, 162)
+       var pedal: Texture = root_texture.subtexture(1576, 996, 162, 162)
+       var right: Texture = root_texture.subtexture(856, 636, 162, 162)
+       var star: Texture = root_texture.subtexture(1396, 636, 162, 162)
+       var turn_left: Texture = root_texture.subtexture(676, 816, 162, 162)
+       var turn_right: Texture = root_texture.subtexture(676, 996, 162, 162)
+       var up: Texture = root_texture.subtexture(1036, 636, 162, 162)
+       var x: Texture = root_texture.subtexture(1216, 816, 162, 162)
+       var y: Texture = root_texture.subtexture(1396, 816, 162, 162)
+end
index e200d11..e332548 100644 (file)
@@ -41,6 +41,13 @@ interface PointerEvent
 
        # Is this a movement event?
        fun is_move: Bool is abstract
+
+       # Unique identifier of this pointer among other active pointers
+       #
+       # This value is useful to differentiate between pointers (or fingers) on
+       # multi-touch systems. This value does not change for the same pointer
+       # while it touches the screen.
+       fun pointer_id: Int do return 0
 end
 
 # A motion event on screen composed of many `PointerEvent`