changeset 0:f339a3903bc9

Initial import.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 21 May 2015 22:52:30 +0300
parents
children 7f6f64ca58f6
files LICENSE.txt Makefile README.txt assets/graffat.svg config.mak data/SetupData.txt data/SetupFont.dmf data/SetupImage.png data/SetupMenuBar.png data/ap.png data/aurinko.png data/auto.png data/bussi_logo.png data/dosa.png data/pas2.xm data/presents.png data/puu_pv_1.png data/puu_pv_2.png data/rengas.png data/tausta_pv.png demo.c file_id.diz
diffstat 22 files changed, 1628 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LICENSE.txt	Thu May 21 22:52:30 2015 +0300
@@ -0,0 +1,50 @@
+DMLIB - Demo engine / development and utility framework
+Programmed and designed by Matti Hämäläinen (ccr/TNSP)
+(C) Copyright 2002-2015 Tecnic Software productions (TNSP)
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+ 3. The name of the author may not be used to endorse or promote
+    products derived from this software without specific prior written
+    permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+-----------------------------------------------------------------------
+
+stb_image - public domain JPEG/PNG reader by various authors
+http://nothings.org/stb_image.c
+
+-----------------------------------------------------------------------
+
+The Simple DirectMedia Layer (SDL for short) is a cross-platfrom library
+designed to make it easy to write multi-media software, such as games and
+emulators.
+
+The Simple DirectMedia Layer library source code is available from:
+http://www.libsdl.org/
+
+This library is distributed under the terms of the GNU LGPL license:
+http://www.gnu.org/copyleft/lesser.html
+
+-----------------------------------------------------------------------
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile	Thu May 21 22:52:30 2015 +0300
@@ -0,0 +1,27 @@
+#
+# Generic build target
+#
+DMLIB = ./dmlib/
+MAKE ?= make
+
+export DMLIB
+
+unix:
+	$(MAKE) -f $(DMLIB)Makefile EXEEXT=.bin
+
+mingw-win32:
+	$(MAKE) -f $(DMLIB)Makefile.cross-mingw \
+	OBJPATH=./obj/win32/ \
+	MINGW_PREFIX=i686-w64-mingw32- \
+	MINGW_PATH=/usr/i686-w64-mingw32
+
+mingw-win64:
+	$(MAKE) -f $(DMLIB)Makefile.cross-mingw \
+	OBJPATH=./obj/win64/ \
+	MINGW_PREFIX=x86_64-w64-mingw32- \
+	MINGW_PATH=/usr/x86_64-w64-mingw32
+
+clean:
+	-$(MAKE) -f $(DMLIB)Makefile clean EXEEXT=.bin
+	-$(MAKE) -f $(DMLIB)Makefile.cross-mingw clean
+	
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.txt	Thu May 21 22:52:30 2015 +0300
@@ -0,0 +1,9 @@
+anciat productionz - bussi
+a modern platform demo @ simulaatio 6
+2015
+
+gfx & code by ccr
+musics by fgcl
+
+
+maybe works on linux 64, win 64?
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/assets/graffat.svg	Thu May 21 22:52:30 2015 +0300
@@ -0,0 +1,790 @@
+<?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="640"
+   height="480"
+   viewBox="0 0 640.00001 480"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="graffat.svg"
+   inkscape:export-filename="/usr/src/prj/demos/bussi/data/tausta_pv.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs4">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6291">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop6293" />
+      <stop
+         style="stop-color:#452b2b;stop-opacity:1"
+         offset="1"
+         id="stop6295" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6281">
+      <stop
+         style="stop-color:#ffdd29;stop-opacity:1"
+         offset="0"
+         id="stop6283" />
+      <stop
+         id="stop6289"
+         offset="0.5"
+         style="stop-color:#ff6672;stop-opacity:1;" />
+      <stop
+         style="stop-color:#8a003c;stop-opacity:1"
+         offset="1"
+         id="stop6285" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6273">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6275" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop6277" />
+    </linearGradient>
+    <filter
+       style="color-interpolation-filters:sRGB"
+       inkscape:label="Drop Shadow"
+       id="filter4947-1">
+      <feFlood
+         flood-opacity="1"
+         flood-color="rgb(111,6,6)"
+         result="flood"
+         id="feFlood4949-3" />
+      <feComposite
+         in="flood"
+         in2="SourceGraphic"
+         operator="in"
+         result="composite1"
+         id="feComposite4951-3" />
+      <feGaussianBlur
+         in="composite1"
+         stdDeviation="0.5"
+         result="blur"
+         id="feGaussianBlur4953-2" />
+      <feOffset
+         dx="2"
+         dy="2"
+         result="offset"
+         id="feOffset4955-6" />
+      <feComposite
+         in="SourceGraphic"
+         in2="offset"
+         operator="over"
+         result="composite2"
+         id="feComposite4957-1" />
+    </filter>
+    <filter
+       style="color-interpolation-filters:sRGB;"
+       inkscape:label="Drop Shadow"
+       id="filter5077">
+      <feFlood
+         flood-opacity="1"
+         flood-color="rgb(0,0,0)"
+         result="flood"
+         id="feFlood5079" />
+      <feComposite
+         in="flood"
+         in2="SourceGraphic"
+         operator="in"
+         result="composite1"
+         id="feComposite5081" />
+      <feGaussianBlur
+         in="composite1"
+         stdDeviation="0.2"
+         result="blur"
+         id="feGaussianBlur5083" />
+      <feOffset
+         dx="1"
+         dy="1"
+         result="offset"
+         id="feOffset5085" />
+      <feComposite
+         in="SourceGraphic"
+         in2="offset"
+         operator="over"
+         result="composite2"
+         id="feComposite5087" />
+    </filter>
+    <filter
+       style="color-interpolation-filters:sRGB;"
+       inkscape:label="Drop Shadow"
+       id="filter5089">
+      <feFlood
+         flood-opacity="1"
+         flood-color="rgb(0,0,0)"
+         result="flood"
+         id="feFlood5091" />
+      <feComposite
+         in="flood"
+         in2="SourceGraphic"
+         operator="in"
+         result="composite1"
+         id="feComposite5093" />
+      <feGaussianBlur
+         in="composite1"
+         stdDeviation="0.2"
+         result="blur"
+         id="feGaussianBlur5095" />
+      <feOffset
+         dx="1"
+         dy="1"
+         result="offset"
+         id="feOffset5097" />
+      <feComposite
+         in="SourceGraphic"
+         in2="offset"
+         operator="over"
+         result="composite2"
+         id="feComposite5099" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       style="color-interpolation-filters:sRGB"
+       id="filter6098"
+       x="-0.11021281"
+       width="1.2204256"
+       y="-0.11551158"
+       height="1.2310232">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="4.3323541"
+         id="feGaussianBlur6100" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6273"
+       id="linearGradient6279"
+       x1="80.621593"
+       y1="229.48217"
+       x2="557.79482"
+       y2="229.48217"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6281"
+       id="linearGradient6287"
+       x1="244.19302"
+       y1="130.19644"
+       x2="369.93765"
+       y2="287.33929"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6291"
+       id="radialGradient6297"
+       cx="92.216095"
+       cy="95.9478"
+       fx="92.216095"
+       fy="95.9478"
+       r="277.83355"
+       gradientTransform="matrix(2.206919,0.19977447,-0.04307567,0.28930687,-107.16434,122.8543)"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       style="color-interpolation-filters:sRGB;"
+       inkscape:label="Drop Shadow"
+       id="filter6335">
+      <feFlood
+         flood-opacity="1"
+         flood-color="rgb(0,0,0)"
+         result="flood"
+         id="feFlood6337" />
+      <feComposite
+         in="flood"
+         in2="SourceGraphic"
+         operator="in"
+         result="composite1"
+         id="feComposite6339" />
+      <feGaussianBlur
+         in="composite1"
+         stdDeviation="0.9"
+         result="blur"
+         id="feGaussianBlur6341" />
+      <feOffset
+         dx="1.3"
+         dy="1.7"
+         result="offset"
+         id="feOffset6343" />
+      <feComposite
+         in="SourceGraphic"
+         in2="offset"
+         operator="over"
+         result="composite2"
+         id="feComposite6345" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.7"
+     inkscape:cx="252.01978"
+     inkscape:cy="220.30674"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer5"
+     showgrid="false"
+     units="px"
+     inkscape:window-width="1278"
+     inkscape:window-height="992"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     fit-margin-bottom="-0.5" />
+  <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:groupmode="layer"
+     id="layer5"
+     inkscape:label="tausta päivä"
+     style="display:inline">
+    <rect
+       style="opacity:1;fill:#cdcdff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+       id="rect5602"
+       width="648.98187"
+       height="318.87228"
+       x="-0.15820791"
+       y="-3.0075693"
+       rx="3.6606297"
+       ry="3.66063" />
+    <path
+       style="opacity:1;fill:#008325;fill-opacity:1;fill-rule:nonzero;stroke:#363636;stroke-width:7.35969019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+       d="m -16.651945,307.50827 14.0914372,-0.0213 99.7554988,-1.63891 c 78.745479,-6.48624 200.862189,-1.58456 258.924359,-5.64518 125.14022,-8.75177 163.56406,7.31108 293.22981,7.31108 7.13934,0 11.01266,-0.006 18.40679,-0.006 2.1634,0 3.90502,1.81928 3.90502,4.0791 l 0,199.27124 c 0,2.25983 -1.74162,4.07911 -3.90502,4.07911 l -684.407895,0 c -2.163384,0 -3.905026,-1.81928 -3.905026,-4.07911 l 0,-199.27124 c 0,-2.25982 1.741733,-4.10014 3.905026,-4.0791 z"
+       id="rect5600"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccssssssssssc" />
+    <g
+       id="g6102"
+       inkscape:export-filename="/usr/src/prj/demos/bussi/data/aurinko.png"
+       inkscape:export-xdpi="90.154968"
+       inkscape:export-ydpi="90.154968"
+       transform="translate(-302.85714,-232.85714)">
+      <path
+         d="M 557.1981,56.744335 A 47.170788,45.006958 0 0 1 510.05119,101.75129 47.170788,45.006958 0 0 1 462.85655,56.789896 47.170788,45.006958 0 0 1 509.95569,11.737429 47.170788,45.006958 0 0 1 557.198,56.653214"
+         sodipodi:open="true"
+         sodipodi:end="6.2811607"
+         sodipodi:start="0"
+         sodipodi:ry="45.006958"
+         sodipodi:rx="47.170788"
+         sodipodi:cy="56.744335"
+         sodipodi:cx="510.02731"
+         sodipodi:type="arc"
+         id="path5605"
+         style="opacity:1;fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+      <path
+         style="opacity:1;fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1;filter:url(#filter6098)"
+         id="path5672"
+         sodipodi:type="arc"
+         sodipodi:cx="510.02731"
+         sodipodi:cy="56.744335"
+         sodipodi:rx="47.170788"
+         sodipodi:ry="45.006958"
+         sodipodi:start="0"
+         sodipodi:end="6.2811607"
+         sodipodi:open="true"
+         d="M 557.1981,56.744335 A 47.170788,45.006958 0 0 1 510.05119,101.75129 47.170788,45.006958 0 0 1 462.85655,56.789896 47.170788,45.006958 0 0 1 509.95569,11.737429 47.170788,45.006958 0 0 1 557.198,56.653214" />
+    </g>
+    <g
+       id="g6237"
+       transform="matrix(0.57468849,0,0,0.67705684,-65.691873,66.295383)"
+       inkscape:export-filename="/usr/src/prj/demos/bussi/data/puu_pv_1.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90">
+      <g
+         id="g6255">
+        <g
+           id="g6246">
+          <path
+             sodipodi:nodetypes="ccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="path6142"
+             d="m -264.30865,-7.3538841 c -17.3839,1.835498 -39.88532,-3.7117619 -52.26172,11.7597658 -12.87486,20.2443283 -8.22244,50.6980283 -31.40625,63.9980473 -15.39727,7.431279 -40.12346,-2.560103 -54.21717,8.22308 -16.24661,8.105521 19.96569,64.197641 22.28185,84.177981 -0.98231,18.16807 -20.26952,52.99142 -2.23506,59.78353 25.44982,12.6061 30.37972,-23.83982 56.61415,-15.18157 23.83664,5.61039 30.64699,32.99001 56.63637,31.24217 18.258,2.59451 36.62699,-33.91227 54.69336,-34.08467 20.76746,7.54819 40.34892,0.29678 50.60742,13.22852 24.91621,20.00379 59.37403,23.99789 90.177731,19.51367 19.086488,-1.97248 30.239605,-21.85752 27.478516,-39.76172 -2.418071,-17.96398 -3.435271,-39.12522 14.267578,-49.9414 C -16.07674,130.76698 0.66015517,111.45475 -4.1445312,88.15625 -6.034775,72.963501 -10.173315,54.841345 -26.490234,49.125 -61.688169,29.242601 -99.19414,9.7416657 -137.434,9.3290097 c -17.50452,-6.543462 -23.25477,-30.3286437 -43.60156,-33.1874997 -23.87587,-5.577331 -48.81104,-3.768255 -73.15235,-5.306641 -7.07776,-0.143705 -3.03963,21.7271041 -10.12074,21.8112469 z M -79.851968,9.8407287 c 3.660968,0.0219 -2.573987,0.04807 0,0 z"
+             style="opacity:1;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="path6106"
+             d="m -241.08594,81.003906 c -7.72577,0.01936 -16.76332,-0.270507 -22.58984,5.6875 -1.85659,1.571296 -22.3886,7.696826 -17.25335,6.503628 2.31478,0.02332 0,0 20.23437,-1.046596 l -1.64397,21.430522 c 5.25514,1.74833 2.98106,-17.578493 7.86412,-20.793804 3.36756,-5.637315 9.82912,-10.175046 16.63672,-8.642578 5.90171,1.101691 11.08238,4.293083 15.33398,8.441406 l -1.86328,0.03906 c 0.70456,5.258041 5.58486,8.052546 9.74024,10.451176 5.11183,3.47809 10.834,6.76964 14.16992,12.15039 2.47587,4.75111 -3.72889,7.42816 -5.65039,10.98828 -3.36644,4.278 -4.23041,9.69212 -3.66992,14.96875 -2.34857,2.93257 -4.6747,5.60919 -6.95704,7.55469 -1.30013,-2.93541 -2.83597,-5.90772 -3.9375,-8.25 -3.79527,-4.95114 -7.52249,-10.46173 -13.51171,-13 -10.90784,-4.65536 -23.14,-4.15823 -34.76758,-4.18555 -7.09274,-0.15308 -13.75776,3.25086 -20.86133,2.14844 -3.68998,-0.51114 -19.86543,-7.3921 -22.88281,-9.63421 l -0.84571,6.92327 c 6.92907,5.83153 16.49189,5.27413 24.97852,5.19922 -8.52586,4.08983 -15.2124,11.53741 -24.59375,13.95898 -10.58475,2.70533 -21.7556,3.56716 -32.57813,1.8711 -7.43711,-0.4079 -15.03861,-1.08258 -22.39062,0.44922 l 9.5,1.30664 c -3.98174,0.0127 -4.70286,0.0194 -0.3125,0.20703 16.86935,2.05883 34.03537,1.83515 50.89258,-0.24805 9.87422,-1.09635 18.4362,-6.47506 26.15234,-12.36719 4.30932,-2.42635 8.95405,-6.07773 14.1582,-4.86132 10.52025,1.50158 22.03862,2.35485 30.55665,9.39453 5.31532,9.31824 4.69769,20.63967 9.53711,30.18164 0.87002,1.90932 1.75998,3.85107 2.71289,5.76562 0.10577,1.89771 0.26577,3.80115 0.46289,5.70899 -8.47697,-2.21624 -17.25302,-2.12945 -25.99805,-1.96289 -4.40709,-0.22112 -8.7997,-0.7323 -13.16797,-1.3418 -5.72327,-0.65184 -16.91136,-10.21621 -21.67327,-13.45117 l 7.53488,13.62109 c -1.2751,0.22587 -16.49868,-4.93982 -13.70927,-3.90625 5.26412,3.69504 11.57488,5.45945 17.91211,6.10156 8.30467,1.26353 16.68637,1.27834 25.06446,1.17969 0.67598,0.0272 1.32224,0.0576 1.68359,0.0957 6.60563,0.70379 13.68088,1.63538 19.14258,5.74024 1.61412,1.41024 3.16108,2.89104 4.66601,4.41602 4.6784,27.56566 15.17083,55.1706 8.98829,76.5664 -3.96649,15.60448 -10.91208,30.24086 -17.33594,44.93945 -2.98414,5.93359 -7.65404,13.0587 -8.9668,18.60547 55.23011,6.96037 40.18885,2.27216 84.42774,1.52344 -2.8222,-14.37948 -13.67413,-27.13559 -11.05469,-42.46484 2.55306,-25.75794 2.54613,-50.13201 3.49219,-74.32422 4.46102,-9.16662 9.51247,-18.04675 13.80273,-27.3086 3.75667,-7.30548 6.85867,-15.00002 11.30859,-21.91796 2.65787,-2.67365 6.06525,-4.73252 9.31836,-6.62696 6.51761,-2.53677 13.72853,-0.22472 20.33594,-2.53906 4.18758,-1.15676 8.00912,-3.28892 11.531251,-5.79492 5.473117,-0.40986 10.211412,-3.34303 14.347656,-6.71875 3.085818,-3.12428 6.408901,0.87323 9.894531,-0.41797 l 10.4375,-1.27148 c -4.159251,-1.76062 -8.615148,-2.91056 -13.144531,-3.03321 -7.158284,0.52541 -15.439598,-1.25375 -21.265625,4.08789 -3.738852,3.84518 -8.897602,2.52123 -12.986332,4.97852 -9.37282,-0.38969 -19.38734,0.25853 -27.28711,5.89648 -4.45857,3.10149 -9.66522,5.08116 -13.50195,9.02539 -3.5285,1.22439 -6.42899,2.88967 -8.83594,4.85938 0.24233,-1.62712 0.49366,-3.256 0.76563,-4.88867 5.53786,-4.00372 7.54269,-10.90301 8.86328,-17.26758 1.56617,-4.75843 5.2694,-8.46906 10.10352,-9.80664 7.63724,-3.60172 15.36116,-8.74777 18.89257,-16.70313 3.63577,-4.72688 4.123,-10.66247 4.48047,-16.38086 0.91853,-6.413374 8.19782,-9.41519 13.97852,-9.283203 3.374153,-0.180569 6.535592,1.612119 9.779295,1.570312 l 12.042969,-1.332031 c -7.368073,-3.378431 -15.724073,-2.412316 -23.597654,-2.6875 -1.90564,-0.02069 -3.81097,-0.06159 -5.7168,-0.03711 -6.82989,0.05191 -15.12888,1.101668 -18.72656,7.773437 -0.11791,3.260595 -2.83618,2.148795 -5.01367,2.093755 -3.11494,3.85114 -1.52861,8.91022 -0.40235,13.17187 1.1328,4.47917 -2.68179,7.88342 -5.73828,10.47852 -5.4757,4.31442 -12.28678,6.68408 -17.3457,11.56836 -7.89109,3.1814 -18.43993,-3.50546 -24.54297,2.73437 -0.0545,0.051 -1.40975,-6.44026 -2.5,-11.5957 1.11145,-3.93062 1.64299,-7.97428 0.50195,-12.0293 -1.95335,-7.50046 -9.77963,-10.43334 -15.39843,-14.69335 -8.21674,-5.804005 -14.02679,-15.55057 -24.39844,-17.865243 -5.74578,-1.514356 -11.70247,-1.662892 -17.60938,-1.677731 z m 167.150393,60.259764 c 3.871731,0.221 -0.881519,0.1356 -2.25,0.1211 l 1.119141,-0.10157 z m -47.669923,16.09766 c 3.58804,0.0273 -2.38749,0.10874 0,0 z"
+             style="opacity:1;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="ccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="path6142-4"
+             d="m -296.78862,-14.063159 c -6.14361,0.648679 -14.09578,-1.311764 -18.46969,4.1559906 -4.55008,7.154496 -2.90587,17.917066 -11.09921,22.6173964 -5.44151,2.62627 -14.17993,-0.90476 -19.16076,2.9061 -5.74167,2.86455 7.05603,22.68794 7.87458,29.74914 -0.34716,6.42073 -7.16341,18.72757 -0.78989,21.12795 8.99416,4.4551 10.73642,-8.42517 20.00787,-5.36528 8.42405,1.98276 10.83088,11.65892 20.01572,11.04122 6.45252,0.91692 12.94426,-11.98485 19.32905,-12.04578 7.33938,2.66759 14.25962,0.10489 17.88505,4.67506 8.80558,7.06949 20.98323,8.48104 31.86949,6.89628 6.74531,-0.69709 10.68691,-7.72461 9.71112,-14.05209 -0.85456,-6.34861 -1.21405,-13.82715 5.04227,-17.64967 5.51144,-5.24335 11.42639,-12.06844 9.72837,-20.30231 -0.66802,-5.36923 -2.13061,-11.7737404 -7.89714,-13.7939404 -12.43922,-7.02659 -25.69411,-13.91837 -39.20837,-14.064205 -6.18623,-2.3125086 -8.21841,-10.7183726 -15.40912,-11.7287146 -8.43791,-1.971071 -17.25019,-1.33173 -25.8526,-1.875407 -2.50133,-0.05079 -1.07423,7.678524 -3.57674,7.70826 z m 65.18839,6.0767066 c 1.29381,0.008 -0.90967,0.017 0,0 z"
+             style="opacity:0.53899997;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="ccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="path6142-4-0"
+             d="m -167.48909,-5.8054488 c -6.14361,0.648679 -14.09578,-1.311764 -18.46969,4.1559908 -4.55008,7.154496 -2.90587,17.917066 -11.09921,22.617396 -5.44151,2.62627 -14.17994,-0.90476 -19.16077,2.9061 -5.74167,2.86455 7.05603,22.68794 7.87458,29.74914 -0.34716,6.42073 -7.16341,18.72757 -0.78989,21.12795 8.99417,4.4551 10.73643,-8.42517 20.00788,-5.36528 8.42405,1.98276 10.83088,11.65892 20.01572,11.04122 6.45252,0.91692 12.94426,-11.98485 19.32905,-12.04578 7.33938,2.66759 14.25962,0.10489 17.88505,4.67506 8.80558,7.06949 20.98323,8.48104 31.86949,6.89628 6.745306,-0.69709 10.686906,-7.72461 9.711116,-14.05209 -0.85456,-6.34861 -1.21405,-13.82715 5.04227,-17.64967 5.51144,-5.24335 11.42639,-12.06844 9.72837,-20.30231 -0.66802,-5.36923 -2.13061,-11.77374 -7.89714,-13.79394 C -95.881484,7.1280278 -109.13637,0.23624802 -122.65063,0.09041302 -128.83686,-2.222096 -130.86904,-10.62796 -138.05975,-11.638302 c -8.43791,-1.971071 -17.25019,-1.33173 -25.8526,-1.875407 -2.50133,-0.05079 -1.07423,7.6785242 -3.57674,7.7082602 z m 65.18839,6.07670682 c 1.29381,0.008 -0.90967,0.017 0,0 z"
+             style="opacity:0.53899997;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="ccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="path6142-4-5"
+             d="m -116.98147,122.48392 c -6.14361,0.64868 -14.09578,-1.31176 -18.46969,4.156 -4.55008,7.15449 -2.90587,17.91706 -11.09921,22.61739 -5.44151,2.62627 -14.17993,-0.90476 -19.16076,2.9061 -5.74167,2.86455 7.05603,22.68794 7.87458,29.74914 -0.34716,6.42073 -7.16341,18.72757 -0.78989,21.12795 8.99416,4.4551 10.73642,-8.42517 20.00787,-5.36528 8.42405,1.98276 10.83088,11.65892 20.01572,11.04122 6.45252,0.91692 12.94426,-11.98485 19.32905,-12.04578 7.33938,2.66759 14.25962,0.10489 17.88505,4.67506 8.80558,7.06949 20.98323,8.48104 31.86949,6.89628 6.74531,-0.69709 10.68691,-7.72461 9.71112,-14.05209 -0.85456,-6.34861 -1.21405,-13.82715 5.042273,-17.64967 5.51144,-5.24335 11.42639,-12.06844 9.72837,-20.30231 -0.66802,-5.36923 -2.13061,-11.77374 -7.89714,-13.79394 -12.439223,-7.02659 -25.694113,-13.91837 -39.208373,-14.0642 -6.18623,-2.31251 -8.21841,-10.71838 -15.40912,-11.72872 -8.43791,-1.97107 -17.25019,-1.33173 -25.8526,-1.87541 -2.50133,-0.0508 -1.07423,7.67853 -3.57674,7.70826 z m 65.18839,6.07671 c 1.29381,0.008 -0.90967,0.017 0,0 z"
+             style="opacity:0.53899997;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="ccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="path6142-4-5-7"
+             d="m -165.46879,19.448363 c -6.14361,0.64868 -14.09578,-1.31176 -18.46969,4.156 -4.55008,7.15449 -2.90587,17.91706 -11.09921,22.61739 -5.44151,2.62627 -14.17993,-0.90476 -19.16076,2.9061 -5.74167,2.86455 7.05603,22.68794 7.87458,29.74914 -0.34716,6.42073 -7.16341,18.72757 -0.78989,21.127947 8.99416,4.4551 10.73642,-8.425167 20.00787,-5.365277 8.42405,1.98276 10.83088,11.658917 20.01572,11.041217 6.45252,0.91692 12.94426,-11.984847 19.32905,-12.045777 7.33938,2.66759 14.25962,0.10489 17.88505,4.67506 8.80558,7.069487 20.98323,8.481037 31.869491,6.896277 6.74531,-0.69709 10.68691,-7.724607 9.71112,-14.052087 -0.85456,-6.34861 -1.21405,-13.82715 5.04227,-17.64967 5.51144,-5.24335 11.42639,-12.06844 9.72837,-20.30231 -0.66802,-5.36923 -2.13061,-11.77374 -7.89714,-13.79394 -12.43922,-7.02659 -25.694111,-13.91837 -39.208371,-14.0642 -6.18623,-2.31251 -8.21841,-10.71838 -15.40912,-11.72872 -8.43791,-1.97107 -17.25019,-1.33173 -25.8526,-1.87541 -2.50133,-0.0508 -1.07423,7.67853 -3.57674,7.70826 z m 65.18839,6.07671 c 1.293811,0.008 -0.90967,0.017 0,0 z"
+             style="opacity:0.53899997;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="ccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="path6142-4-5-7-0"
+             d="m -352.34701,132.58545 c -6.14361,0.64868 -14.09578,-1.31176 -18.46969,4.156 -4.55008,7.15449 -2.90587,17.91706 -11.09921,22.61739 -5.44151,2.62627 -14.17993,-0.90476 -19.16076,2.9061 -5.74167,2.86455 7.05603,22.68794 7.87458,29.74914 -0.34716,6.42073 -7.16341,18.72757 -0.78989,21.12795 8.99416,4.4551 10.73642,-8.42517 20.00787,-5.36528 8.42405,1.98276 10.83088,11.65892 20.01572,11.04122 6.45252,0.91692 12.94426,-11.98485 19.32905,-12.04578 7.33938,2.66759 14.25962,0.10489 17.88505,4.67506 8.80558,7.06949 20.98323,8.48104 31.86949,6.89628 6.74531,-0.69709 10.68691,-7.72461 9.71112,-14.05209 -0.85456,-6.34861 -1.21405,-13.82715 5.04227,-17.64967 5.51144,-5.24335 11.42639,-12.06844 9.72837,-20.30231 -0.66802,-5.36923 -2.13061,-11.77374 -7.89714,-13.79394 -12.43922,-7.02659 -25.69411,-13.91837 -39.20837,-14.0642 -6.18623,-2.31251 -8.21841,-10.71838 -15.40912,-11.72872 -8.43791,-1.97107 -17.25019,-1.33173 -25.8526,-1.87541 -2.50133,-0.0508 -1.07423,7.67853 -3.57674,7.70826 z m 65.18839,6.07671 c 1.29381,0.008 -0.90967,0.017 0,0 z"
+             style="opacity:0.53899997;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+        </g>
+      </g>
+    </g>
+    <g
+       style="display:inline"
+       id="g6237-2"
+       transform="matrix(-0.36912126,0,0,0.50086084,-308.46763,410.34937)"
+       inkscape:export-filename="/usr/src/prj/demos/bussi/data/puu_pv_2.png"
+       inkscape:export-xdpi="90.133705"
+       inkscape:export-ydpi="90.133705">
+      <g
+         id="g6255-3">
+        <g
+           id="g6246-9">
+          <path
+             sodipodi:nodetypes="ccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="path6142-3"
+             d="m -264.30865,-7.3538841 c -17.3839,1.835498 -39.88532,-3.7117619 -52.26172,11.7597658 -12.87486,20.2443283 -8.22244,50.6980283 -31.40625,63.9980473 -15.39727,7.431279 -40.12346,-2.560103 -54.21717,8.22308 -16.24661,8.105521 19.96569,64.197641 22.28185,84.177981 -0.98231,18.16807 -20.26952,52.99142 -2.23506,59.78353 25.44982,12.6061 30.37972,-23.83982 56.61415,-15.18157 23.83664,5.61039 30.64699,32.99001 56.63637,31.24217 18.258,2.59451 36.62699,-33.91227 54.69336,-34.08467 20.76746,7.54819 40.34892,0.29678 50.60742,13.22852 24.91621,20.00379 59.37403,23.99789 90.177731,19.51367 19.086488,-1.97248 30.239605,-21.85752 27.478516,-39.76172 -2.418071,-17.96398 -3.435271,-39.12522 14.267578,-49.9414 C -16.07674,130.76698 0.66015517,111.45475 -4.1445312,88.15625 -6.034775,72.963501 -10.173315,54.841345 -26.490234,49.125 -61.688169,29.242601 -99.19414,9.7416657 -137.434,9.3290097 c -17.50452,-6.543462 -23.25477,-30.3286437 -43.60156,-33.1874997 -23.87587,-5.577331 -48.81104,-3.768255 -73.15235,-5.306641 -7.07776,-0.143705 -3.03963,21.7271041 -10.12074,21.8112469 z M -79.851968,9.8407287 c 3.660968,0.0219 -2.573987,0.04807 0,0 z"
+             style="opacity:1;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="path6106-5"
+             d="m -241.08594,81.003906 c -7.72577,0.01936 -16.76332,-0.270507 -22.58984,5.6875 -1.85659,1.571296 -22.3886,7.696826 -17.25335,6.503628 2.31478,0.02332 0,0 20.23437,-1.046596 l -1.64397,21.430522 c 5.25514,1.74833 2.98106,-17.578493 7.86412,-20.793804 3.36756,-5.637315 9.82912,-10.175046 16.63672,-8.642578 5.90171,1.101691 11.08238,4.293083 15.33398,8.441406 l -1.86328,0.03906 c 0.70456,5.258041 5.58486,8.052546 9.74024,10.451176 5.11183,3.47809 10.834,6.76964 14.16992,12.15039 2.47587,4.75111 -3.72889,7.42816 -5.65039,10.98828 -3.36644,4.278 -4.23041,9.69212 -3.66992,14.96875 -2.34857,2.93257 -4.6747,5.60919 -6.95704,7.55469 -1.30013,-2.93541 -2.83597,-5.90772 -3.9375,-8.25 -3.79527,-4.95114 -7.52249,-10.46173 -13.51171,-13 -10.90784,-4.65536 -23.14,-4.15823 -34.76758,-4.18555 -7.09274,-0.15308 -13.75776,3.25086 -20.86133,2.14844 -3.68998,-0.51114 -19.86543,-7.3921 -22.88281,-9.63421 l -0.84571,6.92327 c 6.92907,5.83153 16.49189,5.27413 24.97852,5.19922 -8.52586,4.08983 -15.2124,11.53741 -24.59375,13.95898 -10.58475,2.70533 -21.7556,3.56716 -32.57813,1.8711 -7.43711,-0.4079 -15.03861,-1.08258 -22.39062,0.44922 l 9.5,1.30664 c -3.98174,0.0127 -4.70286,0.0194 -0.3125,0.20703 16.86935,2.05883 34.03537,1.83515 50.89258,-0.24805 9.87422,-1.09635 18.4362,-6.47506 26.15234,-12.36719 4.30932,-2.42635 8.95405,-6.07773 14.1582,-4.86132 10.52025,1.50158 22.03862,2.35485 30.55665,9.39453 5.31532,9.31824 4.69769,20.63967 9.53711,30.18164 0.87002,1.90932 1.75998,3.85107 2.71289,5.76562 0.10577,1.89771 0.26577,3.80115 0.46289,5.70899 -8.47697,-2.21624 -17.25302,-2.12945 -25.99805,-1.96289 -4.40709,-0.22112 -8.7997,-0.7323 -13.16797,-1.3418 -5.72327,-0.65184 -16.91136,-10.21621 -21.67327,-13.45117 l 7.53488,13.62109 c -1.2751,0.22587 -16.49868,-4.93982 -13.70927,-3.90625 5.26412,3.69504 11.57488,5.45945 17.91211,6.10156 8.30467,1.26353 16.68637,1.27834 25.06446,1.17969 0.67598,0.0272 1.32224,0.0576 1.68359,0.0957 6.60563,0.70379 13.68088,1.63538 19.14258,5.74024 1.61412,1.41024 3.16108,2.89104 4.66601,4.41602 4.6784,27.56566 15.17083,55.1706 8.98829,76.5664 -3.96649,15.60448 -10.91208,30.24086 -17.33594,44.93945 -2.98414,5.93359 -7.65404,13.0587 -8.9668,18.60547 55.23011,6.96037 40.18885,2.27216 84.42774,1.52344 -2.8222,-14.37948 -13.67413,-27.13559 -11.05469,-42.46484 2.55306,-25.75794 2.54613,-50.13201 3.49219,-74.32422 4.46102,-9.16662 9.51247,-18.04675 13.80273,-27.3086 3.75667,-7.30548 6.85867,-15.00002 11.30859,-21.91796 2.65787,-2.67365 6.06525,-4.73252 9.31836,-6.62696 6.51761,-2.53677 13.72853,-0.22472 20.33594,-2.53906 4.18758,-1.15676 8.00912,-3.28892 11.531251,-5.79492 5.473117,-0.40986 10.211412,-3.34303 14.347656,-6.71875 3.085818,-3.12428 6.408901,0.87323 9.894531,-0.41797 l 10.4375,-1.27148 c -4.159251,-1.76062 -8.615148,-2.91056 -13.144531,-3.03321 -7.158284,0.52541 -15.439598,-1.25375 -21.265625,4.08789 -3.738852,3.84518 -8.897602,2.52123 -12.986332,4.97852 -9.37282,-0.38969 -19.38734,0.25853 -27.28711,5.89648 -4.45857,3.10149 -9.66522,5.08116 -13.50195,9.02539 -3.5285,1.22439 -6.42899,2.88967 -8.83594,4.85938 0.24233,-1.62712 0.49366,-3.256 0.76563,-4.88867 5.53786,-4.00372 7.54269,-10.90301 8.86328,-17.26758 1.56617,-4.75843 5.2694,-8.46906 10.10352,-9.80664 7.63724,-3.60172 15.36116,-8.74777 18.89257,-16.70313 3.63577,-4.72688 4.123,-10.66247 4.48047,-16.38086 0.91853,-6.413374 8.19782,-9.41519 13.97852,-9.283203 3.374153,-0.180569 6.535592,1.612119 9.779295,1.570312 l 12.042969,-1.332031 c -7.368073,-3.378431 -15.724073,-2.412316 -23.597654,-2.6875 -1.90564,-0.02069 -3.81097,-0.06159 -5.7168,-0.03711 -6.82989,0.05191 -15.12888,1.101668 -18.72656,7.773437 -0.11791,3.260595 -2.83618,2.148795 -5.01367,2.093755 -3.11494,3.85114 -1.52861,8.91022 -0.40235,13.17187 1.1328,4.47917 -2.68179,7.88342 -5.73828,10.47852 -5.4757,4.31442 -12.28678,6.68408 -17.3457,11.56836 -7.89109,3.1814 -18.43993,-3.50546 -24.54297,2.73437 -0.0545,0.051 -1.40975,-6.44026 -2.5,-11.5957 1.11145,-3.93062 1.64299,-7.97428 0.50195,-12.0293 -1.95335,-7.50046 -9.77963,-10.43334 -15.39843,-14.69335 -8.21674,-5.804005 -14.02679,-15.55057 -24.39844,-17.865243 -5.74578,-1.514356 -11.70247,-1.662892 -17.60938,-1.677731 z m 167.150393,60.259764 c 3.871731,0.221 -0.881519,0.1356 -2.25,0.1211 l 1.119141,-0.10157 z m -47.669923,16.09766 c 3.58804,0.0273 -2.38749,0.10874 0,0 z"
+             style="opacity:1;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="ccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="path6142-4-6"
+             d="m -296.78862,-14.063159 c -6.14361,0.648679 -14.09578,-1.311764 -18.46969,4.1559906 -4.55008,7.154496 -2.90587,17.917066 -11.09921,22.6173964 -5.44151,2.62627 -14.17993,-0.90476 -19.16076,2.9061 -5.74167,2.86455 7.05603,22.68794 7.87458,29.74914 -0.34716,6.42073 -7.16341,18.72757 -0.78989,21.12795 8.99416,4.4551 10.73642,-8.42517 20.00787,-5.36528 8.42405,1.98276 10.83088,11.65892 20.01572,11.04122 6.45252,0.91692 12.94426,-11.98485 19.32905,-12.04578 7.33938,2.66759 14.25962,0.10489 17.88505,4.67506 8.80558,7.06949 20.98323,8.48104 31.86949,6.89628 6.74531,-0.69709 10.68691,-7.72461 9.71112,-14.05209 -0.85456,-6.34861 -1.21405,-13.82715 5.04227,-17.64967 5.51144,-5.24335 11.42639,-12.06844 9.72837,-20.30231 -0.66802,-5.36923 -2.13061,-11.7737404 -7.89714,-13.7939404 -12.43922,-7.02659 -25.69411,-13.91837 -39.20837,-14.064205 -6.18623,-2.3125086 -8.21841,-10.7183726 -15.40912,-11.7287146 -8.43791,-1.971071 -17.25019,-1.33173 -25.8526,-1.875407 -2.50133,-0.05079 -1.07423,7.678524 -3.57674,7.70826 z m 65.18839,6.0767066 c 1.29381,0.008 -0.90967,0.017 0,0 z"
+             style="opacity:0.53899997;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="ccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="path6142-4-0-3"
+             d="m -167.48909,-5.8054488 c -6.14361,0.648679 -14.09578,-1.311764 -18.46969,4.1559908 -4.55008,7.154496 -2.90587,17.917066 -11.09921,22.617396 -5.44151,2.62627 -14.17994,-0.90476 -19.16077,2.9061 -5.74167,2.86455 7.05603,22.68794 7.87458,29.74914 -0.34716,6.42073 -7.16341,18.72757 -0.78989,21.12795 8.99417,4.4551 10.73643,-8.42517 20.00788,-5.36528 8.42405,1.98276 10.83088,11.65892 20.01572,11.04122 6.45252,0.91692 12.94426,-11.98485 19.32905,-12.04578 7.33938,2.66759 14.25962,0.10489 17.88505,4.67506 8.80558,7.06949 20.98323,8.48104 31.86949,6.89628 6.745306,-0.69709 10.686906,-7.72461 9.711116,-14.05209 -0.85456,-6.34861 -1.21405,-13.82715 5.04227,-17.64967 5.51144,-5.24335 11.42639,-12.06844 9.72837,-20.30231 -0.66802,-5.36923 -2.13061,-11.77374 -7.89714,-13.79394 C -95.881484,7.1280278 -109.13637,0.23624802 -122.65063,0.09041302 -128.83686,-2.222096 -130.86904,-10.62796 -138.05975,-11.638302 c -8.43791,-1.971071 -17.25019,-1.33173 -25.8526,-1.875407 -2.50133,-0.05079 -1.07423,7.6785242 -3.57674,7.7082602 z m 65.18839,6.07670682 c 1.29381,0.008 -0.90967,0.017 0,0 z"
+             style="opacity:0.53899997;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="ccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="path6142-4-5-0"
+             d="m -116.98147,122.48392 c -6.14361,0.64868 -14.09578,-1.31176 -18.46969,4.156 -4.55008,7.15449 -2.90587,17.91706 -11.09921,22.61739 -5.44151,2.62627 -14.17993,-0.90476 -19.16076,2.9061 -5.74167,2.86455 7.05603,22.68794 7.87458,29.74914 -0.34716,6.42073 -7.16341,18.72757 -0.78989,21.12795 8.99416,4.4551 10.73642,-8.42517 20.00787,-5.36528 8.42405,1.98276 10.83088,11.65892 20.01572,11.04122 6.45252,0.91692 12.94426,-11.98485 19.32905,-12.04578 7.33938,2.66759 14.25962,0.10489 17.88505,4.67506 8.80558,7.06949 20.98323,8.48104 31.86949,6.89628 6.74531,-0.69709 10.68691,-7.72461 9.71112,-14.05209 -0.85456,-6.34861 -1.21405,-13.82715 5.042273,-17.64967 5.51144,-5.24335 11.42639,-12.06844 9.72837,-20.30231 -0.66802,-5.36923 -2.13061,-11.77374 -7.89714,-13.79394 -12.439223,-7.02659 -25.694113,-13.91837 -39.208373,-14.0642 -6.18623,-2.31251 -8.21841,-10.71838 -15.40912,-11.72872 -8.43791,-1.97107 -17.25019,-1.33173 -25.8526,-1.87541 -2.50133,-0.0508 -1.07423,7.67853 -3.57674,7.70826 z m 65.18839,6.07671 c 1.29381,0.008 -0.90967,0.017 0,0 z"
+             style="opacity:0.53899997;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="ccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="path6142-4-5-7-3"
+             d="m -165.46879,19.448363 c -6.14361,0.64868 -14.09578,-1.31176 -18.46969,4.156 -4.55008,7.15449 -2.90587,17.91706 -11.09921,22.61739 -5.44151,2.62627 -14.17993,-0.90476 -19.16076,2.9061 -5.74167,2.86455 7.05603,22.68794 7.87458,29.74914 -0.34716,6.42073 -7.16341,18.72757 -0.78989,21.127947 8.99416,4.4551 10.73642,-8.425167 20.00787,-5.365277 8.42405,1.98276 10.83088,11.658917 20.01572,11.041217 6.45252,0.91692 12.94426,-11.984847 19.32905,-12.045777 7.33938,2.66759 14.25962,0.10489 17.88505,4.67506 8.80558,7.069487 20.98323,8.481037 31.869491,6.896277 6.74531,-0.69709 10.68691,-7.724607 9.71112,-14.052087 -0.85456,-6.34861 -1.21405,-13.82715 5.04227,-17.64967 5.51144,-5.24335 11.42639,-12.06844 9.72837,-20.30231 -0.66802,-5.36923 -2.13061,-11.77374 -7.89714,-13.79394 -12.43922,-7.02659 -25.694111,-13.91837 -39.208371,-14.0642 -6.18623,-2.31251 -8.21841,-10.71838 -15.40912,-11.72872 -8.43791,-1.97107 -17.25019,-1.33173 -25.8526,-1.87541 -2.50133,-0.0508 -1.07423,7.67853 -3.57674,7.70826 z m 65.18839,6.07671 c 1.293811,0.008 -0.90967,0.017 0,0 z"
+             style="opacity:0.53899997;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="ccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="path6142-4-5-7-0-4"
+             d="m -352.34701,132.58545 c -6.14361,0.64868 -14.09578,-1.31176 -18.46969,4.156 -4.55008,7.15449 -2.90587,17.91706 -11.09921,22.61739 -5.44151,2.62627 -14.17993,-0.90476 -19.16076,2.9061 -5.74167,2.86455 7.05603,22.68794 7.87458,29.74914 -0.34716,6.42073 -7.16341,18.72757 -0.78989,21.12795 8.99416,4.4551 10.73642,-8.42517 20.00787,-5.36528 8.42405,1.98276 10.83088,11.65892 20.01572,11.04122 6.45252,0.91692 12.94426,-11.98485 19.32905,-12.04578 7.33938,2.66759 14.25962,0.10489 17.88505,4.67506 8.80558,7.06949 20.98323,8.48104 31.86949,6.89628 6.74531,-0.69709 10.68691,-7.72461 9.71112,-14.05209 -0.85456,-6.34861 -1.21405,-13.82715 5.04227,-17.64967 5.51144,-5.24335 11.42639,-12.06844 9.72837,-20.30231 -0.66802,-5.36923 -2.13061,-11.77374 -7.89714,-13.79394 -12.43922,-7.02659 -25.69411,-13.91837 -39.20837,-14.0642 -6.18623,-2.31251 -8.21841,-10.71838 -15.40912,-11.72872 -8.43791,-1.97107 -17.25019,-1.33173 -25.8526,-1.87541 -2.50133,-0.0508 -1.07423,7.67853 -3.57674,7.70826 z m 65.18839,6.07671 c 1.29381,0.008 -0.90967,0.017 0,0 z"
+             style="opacity:0.53899997;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+        </g>
+      </g>
+    </g>
+  </g>
+  <g
+     inkscape:label="bussi"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-572.36216)"
+     style="display:none"
+     sodipodi:insensitive="true">
+    <g
+       id="g5203">
+      <g
+         id="g5198">
+        <g
+           transform="matrix(0.93617981,0,0,0.93617981,268.1913,40.112675)"
+           id="g4209-1">
+          <path
+             sodipodi:open="true"
+             d="m 199.98711,868.14984 a 31.656208,31.656208 0 0 1 -31.64019,31.65621 31.656208,31.656208 0 0 1 -31.67221,-31.62417 31.656208,31.656208 0 0 1 31.60813,-31.68821 31.656208,31.656208 0 0 1 31.70421,31.59209"
+             sodipodi:end="6.281161"
+             sodipodi:start="0"
+             sodipodi:ry="31.656208"
+             sodipodi:rx="31.656208"
+             sodipodi:cy="868.14984"
+             sodipodi:cx="168.3309"
+             sodipodi:type="arc"
+             id="path4150-4"
+             style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.55186492;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+          <path
+             style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.47162512;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+             id="path4152-7-4-7"
+             sodipodi:type="arc"
+             sodipodi:cx="168.69548"
+             sodipodi:cy="869.01953"
+             sodipodi:rx="17.962099"
+             sodipodi:ry="17.962099"
+             sodipodi:start="0"
+             sodipodi:end="6.281161"
+             d="m 186.65758,869.01953 a 17.962099,17.962099 0 0 1 -17.95301,17.9621 17.962099,17.962099 0 0 1 -17.97118,-17.94392 17.962099,17.962099 0 0 1 17.93482,-17.98026 17.962099,17.962099 0 0 1 17.98933,17.92572"
+             sodipodi:open="true" />
+        </g>
+      </g>
+    </g>
+    <g
+       id="g4209"
+       transform="translate(-11.616754,-13.637059)"
+       inkscape:export-xdpi="89.555908"
+       inkscape:export-ydpi="89.555908"
+       inkscape:export-filename="/usr/src/prj/demos/bussi/data/rengas.png">
+      <path
+         sodipodi:open="true"
+         d="m 199.98711,868.14984 a 31.656208,31.656208 0 0 1 -31.64019,31.65621 31.656208,31.656208 0 0 1 -31.67221,-31.62417 31.656208,31.656208 0 0 1 31.60813,-31.68821 31.656208,31.656208 0 0 1 31.70421,31.59209"
+         sodipodi:end="6.281161"
+         sodipodi:start="0"
+         sodipodi:ry="31.656208"
+         sodipodi:rx="31.656208"
+         sodipodi:cy="868.14984"
+         sodipodi:cx="168.3309"
+         sodipodi:type="arc"
+         id="path4150"
+         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.55186492;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+      <path
+         style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.47162512;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+         id="path4152-7-4"
+         sodipodi:type="arc"
+         sodipodi:cx="168.69548"
+         sodipodi:cy="869.01953"
+         sodipodi:rx="17.962099"
+         sodipodi:ry="17.962099"
+         sodipodi:start="0"
+         sodipodi:end="6.281161"
+         d="m 186.65758,869.01953 a 17.962099,17.962099 0 0 1 -17.95301,17.9621 17.962099,17.962099 0 0 1 -17.97118,-17.94392 17.962099,17.962099 0 0 1 17.93482,-17.98026 17.962099,17.962099 0 0 1 17.98933,17.92572"
+         sodipodi:open="true" />
+    </g>
+    <g
+       id="g5252"
+       inkscape:export-xdpi="90.085808"
+       inkscape:export-ydpi="90.085808"
+       inkscape:export-filename="/usr/src/prj/demos/bussi/data/auto.png">
+      <rect
+         ry="3.66063"
+         rx="3.6606302"
+         y="845.7229"
+         x="97.921669"
+         height="14.836616"
+         width="12.500637"
+         id="rect5101"
+         style="opacity:1;fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+      <rect
+         ry="3.66063"
+         rx="3.6606302"
+         y="730.97583"
+         x="98.363602"
+         height="14.836616"
+         width="12.500637"
+         id="rect5101-6"
+         style="opacity:1;fill:#ff5555;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+      <path
+         id="rect4136"
+         transform="translate(0,572.36216)"
+         d="m 104.93359,157.23828 c -4.47761,0.0323 -3.93554,0.52281 -3.93554,6.3125 l 0,119.60156 c 0,6.61678 -1.242777,6.95704 3.5,6.95704 l 15.85909,0 c 2.31307,-2.1643 0.60848,-4.37944 4.92929,-5.14177 17.19306,-3.03345 47.19461,-3.04094 62.74798,-0.22812 3.29022,0.59503 1.59726,3.61683 3.03702,5.36989 l 203.64568,0 c 7.10269,-2.9299 52.53654,-3.26238 60.86169,0 l 17.263,0 c -0.47509,-40.30589 0.20459,-6.61496 -0.0723,-46.92188 1.18269,-7.14949 -18.32425,-85.94922 -31.00195,-85.94922 l -328.3418,0 -6.25,0 c -0.86073,0 -1.60253,-0.005 -2.24219,0 z m 8.31446,14.65039 35.71289,0 c 2.02799,0 3.66015,1.63217 3.66015,3.66016 l 0,34.35547 c 0,2.02799 -1.63216,3.66015 -3.66015,3.66015 l -35.71289,0 c -2.02799,0 -3.66016,-1.63216 -3.66016,-3.66015 l 0,-34.35547 c 0,-2.02799 1.63217,-3.66016 3.66016,-3.66016 z m 56.64648,0 35.71289,0 c 2.02799,0 3.66016,1.63217 3.66016,3.66016 l 0,34.35547 c 0,2.02799 -1.63217,3.66015 -3.66016,3.66015 l -35.71289,0 c -2.02799,0 -3.66018,-1.63216 -3.66015,-3.66015 l 0,-34.35547 c 0,-2.02799 1.63216,-3.66016 3.66015,-3.66016 z m 54.01172,0 35.71289,0 c 2.02799,0 3.66016,1.63217 3.66016,3.66016 l 0,34.35547 c 0,2.02799 -1.63217,3.66015 -3.66016,3.66015 l -35.71289,0 c -2.02799,0 -3.66016,-1.63216 -3.66016,-3.66015 l 0,-34.35547 c 0,-2.02799 1.63217,-3.66016 3.66016,-3.66016 z m 57.96289,0 35.71289,0 c 2.02799,0 3.66016,1.63217 3.66016,3.66016 l 0,34.35547 c 0,2.02799 -1.63217,3.66015 -3.66016,3.66015 l -35.71289,0 c -2.02799,0 -3.66016,-1.63216 -3.66016,-3.66015 l 0,-34.35547 c 0,-2.02799 1.63217,-3.66016 3.66016,-3.66016 z m 56.56836,0 35.71289,0 c 2.02799,0 3.66016,1.63217 3.66016,3.66016 l 0,34.35547 c 0,2.02799 -1.63217,3.66015 -3.66016,3.66015 l -35.71289,0 c -2.02799,0 -3.66016,-1.63216 -3.66016,-3.66015 l 0,-34.35547 c 0,-2.02799 1.63217,-3.66016 3.66016,-3.66016 z"
+         style="opacity:1;fill:#d40000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.66445178;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="sssscsscccccscssssssssssssssssscsssssssssssssssssssssssssssss" />
+      <path
+         sodipodi:nodetypes="sssssssss"
+         inkscape:connector-curvature="0"
+         id="rect4147"
+         d="m 403.69332,763.05131 23.14689,0 c 0.76662,0 19.10705,5.914 19.12621,14.59382 l 0.15363,69.61197 c 0.004,1.64915 -1.40457,2.97679 -3.14925,2.97679 l -39.27748,0 c -1.74467,0 -3.14923,-1.32764 -3.14923,-2.97679 l 0,-81.22899 c 0,-1.64914 1.40456,-2.9768 3.14923,-2.9768 z"
+         style="opacity:1;fill:#550000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.8956213;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="89.999998%"
+         id="text4234"
+         y="818.32178"
+         x="290.04675"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:28.8438549px;line-height:89.99999762%;font-family:'Arial Black';-inkscape-font-specification:'Arial Black, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter5077)"
+         xml:space="preserve"><tspan
+           y="818.32178"
+           x="290.04675"
+           id="tspan4236"
+           sodipodi:role="line">simulaatio 6</tspan></text>
+      <g
+         style="display:inline;opacity:1;filter:url(#filter4947-1)"
+         transform="matrix(0.60345607,0,0,0.60345607,108.06329,787.2865)"
+         id="g4707-3">
+        <path
+           style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:0.68000034"
+           d="m 25.837004,42.073124 c 12.50294,-8.536854 25.93082,-15.69318 39.684771,-21.984083 5.773888,-2.766362 12.223271,-3.075065 18.494436,-2.564463 4.3539,0.30233 8.92568,0.465998 13.03847,1.827715 10.479389,10.970616 20.958779,21.941232 31.438169,32.911848 -3.56271,3.148444 -7.12543,6.296888 -10.68814,9.445332 -10.60528,0 -21.210569,0 -31.815849,0 -1.82278,7.373988 -3.645569,14.747975 -5.468353,22.121963 -4.474105,4.474105 -8.948209,8.94821 -13.422314,13.422315 -12.345215,0.248561 -24.690431,0.497123 -37.035646,0.745684 -1.822783,-2.071345 -3.645567,-4.142689 -5.46835,-6.214034 2.632994,-8.24508 6.022592,-16.336439 8.172169,-24.681517 -0.07274,-1.963845 -0.14547,-3.927689 -0.218205,-5.891533 -3.231298,-0.579977 -6.462596,-1.159953 -9.693894,-1.73993 -1.574222,-1.822783 -3.148444,-3.645567 -4.722666,-5.46835 2.568467,-3.976982 5.136935,-7.953965 7.705402,-11.930947 z"
+           id="path4622-8"
+           inkscape:connector-curvature="0" />
+        <path
+           style="display:inline;opacity:1;fill:#ff0000;fill-opacity:1"
+           d="M 86.450321,12.303159 C 80.883839,12.428916 74.67325,13.860679 67.940555,16.592221 41.153364,27.46013 19.780488,41.144018 14.924931,50.533628 c -3.543861,6.85307 1.193611,13.330625 10.890625,14.890624 2.595156,0.417491 4.716797,0.963407 4.716797,1.212891 0,0.24946 -2.02761,5.356125 -4.507813,11.347656 -6.244292,15.084611 -5.04092,20.845522 4.830078,23.103521 2.244871,0.51349 12.394728,0.86788 22.552735,0.78515 23.597355,-0.19226 23.27177,0.0162 31.431638,-20.265624 3.29967,-8.201519 6.72894,-16.241821 7.61914,-16.80664 0.89021,-0.564826 8.242839,-0.167196 16.341799,-0.177735 15.54393,-0.02033 19.56557,-1.001695 22.36718,-5.457031 2.35215,-3.740619 1.6852,-11.865174 -1.38086,-16.826172 -3.37512,-5.461063 -21.48108,-22.181876 -28.69335,-26.498047 -4.153389,-2.485603 -9.076079,-3.66482 -14.642579,-3.539062 z m -0.55865,7.239285 c 0.69804,-0.02892 3.56844,0.378265 3.61911,0.979501 0.14737,1.748769 -2.310642,5.448638 -1.34562,6.32211 1.92111,0 -0.964894,0.321621 5.740396,0.321621 4.9079,0 6.690153,-0.07546 8.911873,1.671096 L 106.6593,31.86958 86.577271,31.644971 C 75.158649,31.518219 62.065079,31.265855 59.290165,31.223081 l -4.146484,-0.06445 3.482422,-2.418748 c 1.915079,-0.86506 7.664276,-1.574222 12.77539,-1.574222 6.117681,0 8.503416,-0.255877 10.129749,-0.255877 1.237137,-2.109663 0.772354,-4.89581 1.926968,-6.882981 0.21097,-0.352572 1.735421,-0.455442 2.433461,-0.484359 z m -4.992131,0.778293 c 0.586709,0.01557 0.607451,0.510259 0.115235,1.792969 -0.255599,0.666069 -0.854321,2.838461 -1.681642,3.173828 -0.975978,0.395632 -5.753633,0.308593 -7.710937,0.308594 -5.717027,0 -2.566654,-1.378952 4.097656,-3.607422 2.734814,-0.914495 4.42534,-1.687984 5.179688,-1.667969 z m 11.684535,0.62441 c 2.280539,1.298944 1.338746,0.64951 4.083046,2.725199 2.31901,1.754007 2.08722,1.937981 -1.4375,1.886719 -1.78201,-0.02592 -4.809405,0.111334 -5.026325,-0.361484 0.335189,-1.355948 1.69924,-3.808906 2.380779,-4.250434 z M 52.573368,33.22894 c 1.782168,0.02003 2.031441,1.176479 2.44336,5.746094 1.917584,21.27282 6.858785,21.206025 19.517577,21.216797 l 7.47461,0.0059 -5.416016,13.460938 c -2.978935,7.402438 -6.365572,14.902804 -7.523438,16.669921 l 0,0.002 c -2.087778,3.186392 -2.24293,3.211826 -18.748046,3.113282 -9.153606,-0.05462 -17.349789,-0.385304 -18.214843,-0.734375 -0.865051,-0.349053 -1.574219,-1.89433 -1.574219,-3.435547 0,-2.694518 4.591931,-15.56113 7.242187,-20.296875 1.208251,-2.159024 1.373953,-2.133387 2.984375,0.445312 1.074478,1.720508 2.977424,2.730469 5.144532,2.730469 4.885988,0 7.32806,-5.28448 7.09375,-15.349609 l -0.183594,-7.927735 -0.832031,9.017578 c -0.457749,4.959393 -1.576746,9.911831 -2.486328,11.007813 -4.031113,4.85719 -9.829625,0.06219 -8.423829,-6.966797 0.713165,-3.565822 0.633889,-3.624881 -5.220703,-3.771484 C 21.178449,57.795181 18.463788,54.742079 26.3429,47.467309 c 6.326046,-5.840825 18.809474,-13.14087 23.875,-13.96289 0.996932,-0.16178 1.761415,-0.282067 2.355468,-0.275391 z m 12.117187,0.302734 4.183594,0 c 0.350434,0 0.667808,0.311487 0.71289,0.699219 l 2.595704,22.318359 c 0.04508,0.387733 -0.200348,0.701172 -0.550782,0.701172 l -4.183594,0 c -0.350431,0 -0.669761,-0.313434 -0.714843,-0.701172 l -2.59375,-22.318359 c -0.04508,-0.387732 0.200347,-0.699219 0.550781,-0.699219 z m 7.384766,0 4.183593,0 c 0.350434,0 0.669762,0.311487 0.714844,0.699219 l 2.59375,22.318359 c 0.04508,0.387733 -0.200347,0.701172 -0.550781,0.701172 l -4.183594,0 c -0.350434,0 -0.667811,-0.313435 -0.71289,-0.701172 L 71.524539,34.230893 c -0.04508,-0.387732 0.200348,-0.699219 0.550782,-0.699219 z m 7.572266,0 4.183594,0 c 0.350434,0 0.66406,0.312694 0.70312,0.701172 l 2.24415,22.316406 c 0.0391,0.388479 -0.21207,0.701172 -0.5625,0.701172 l -4.183598,0 c -0.350434,0 -0.664063,-0.31269 -0.703125,-0.701172 L 79.085086,34.232846 c -0.03906,-0.388478 0.212066,-0.701172 0.562501,-0.701172 z m -22.537109,0.08008 c 0,0 2.573823,0.01953 5.306639,0.01953 0.890972,5.98874 1.883726,16.878368 2.705079,23.429687 -6.431989,0.212976 -8.011718,-15.154477 -8.011718,-23.449217 z m 29.923823,0.0078 4.18165,0 c 0.35043,0 0.66587,0.312708 0.70507,0.701172 l 2.24219,22.228515 c 0.0392,0.388464 -0.21011,0.701172 -0.56055,0.701172 l -4.18359,0 c -0.35043,0 -0.66392,-0.312706 -0.70312,-0.701172 l -2.24415,-22.228504 c -0.0392,-0.388464 0.21207,-0.701172 0.5625,-0.701172 z m 14.769529,0 3.78814,0 c 0.35043,0 0.66391,0.312708 0.70312,0.701172 l 2.6396,22.228515 c 0.0392,0.388464 -0.21207,0.701172 -0.5625,0.701172 l -4.18164,0 c -0.35043,0 -0.66587,-0.312708 -0.70508,-0.701172 l -2.24219,-22.228515 c -0.0392,-0.388464 0.21012,-0.701172 0.56055,-0.701172 z m -7.384759,0.08789 4.18359,0 c 0.35044,0 0.66378,0.312722 0.70313,0.701172 l 2.244139,22.140624 c 0.0393,0.38845 -0.21207,0.701172 -0.5625,0.701172 l -4.183589,0 c -0.35044,0 -0.66378,-0.312722 -0.70313,-0.701172 l -2.24414,-22.140624 c -0.0393,-0.38845 0.21207,-0.701172 0.5625,-0.701172 z m 14.126949,0.08398 c 0.12334,0.01111 0.24364,0.05662 0.3418,0.140625 2.77569,3.196448 3.74381,4.359958 5.75585,7.455078 0.8518,4.764032 1.336,14.667175 1.43946,14.646485 0.0554,0.497588 -0.31533,0.889626 -0.83203,0.898437 l -3.64453,0.0625 c -0.51678,0 -0.97782,-0.400849 -1.03321,-0.898437 L 107.8136,34.39494 c -0.0416,-0.373192 0.36239,-0.636855 0.73242,-0.603516 z m -58.61523,0.613281 c -1.806369,0 -2.481257,3.913274 -0.941406,5.453125 1.295034,1.295034 2.607202,0.99764 3.244141,-0.734375 0.86612,-2.355222 -0.287871,-4.71875 -2.302735,-4.71875 z m 66.58203,8.328125 c 0.34539,-0.188189 3.32162,3.156737 5.46289,7.822266 0.45495,1.811816 1.23382,4.984987 0.043,6.175781 -1.23349,0.08857 -2.16111,0.03906 -4.22656,0.03906 -0.44209,-4.840273 -1.25866,-12.215835 -1.3125,-13.951172 -0.001,-0.0446 0.0102,-0.07339 0.0332,-0.08594 z"
+           id="path4140-5-8"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="sssssscsssssssszscsccccccscczsssssscssccsscccccscsssscccssssssssccssccsssccssccsscssssssscsccssccssccsssscssccsssccssccsscscccccssscsccccccccc" />
+      </g>
+      <text
+         sodipodi:linespacing="89.999998%"
+         id="text4977"
+         y="838.6604"
+         x="286.90036"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.14336014px;line-height:89.99999762%;font-family:'Arial Black';-inkscape-font-specification:'Arial Black, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter5089)"
+         xml:space="preserve"><tspan
+           y="838.6604"
+           x="286.90036"
+           id="tspan4979"
+           sodipodi:role="line">partybus</tspan></text>
+      <rect
+         ry="3.66063"
+         rx="3.6606302"
+         y="846.01526"
+         x="463.03537"
+         height="14.836616"
+         width="12.500637"
+         id="rect5101-6-6"
+         style="opacity:1;fill:#e3dbdb;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+      <rect
+         ry="1.8749303"
+         rx="1.8749303"
+         y="848.51532"
+         x="452.32111"
+         height="10.597798"
+         width="8.9292088"
+         id="rect5101-6-6-6"
+         style="opacity:1;fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1" />
+    </g>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="anciat prodz"
+     style="display:none"
+     sodipodi:insensitive="true">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.31172562px;line-height:89.99999762%;font-family:'Arial Black';-inkscape-font-specification:'Arial Black, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="288.35004"
+       y="479.40714"
+       id="text5311-2-5-9"
+       sodipodi:linespacing="89.999998%"
+       transform="scale(1.1820549,0.84598439)"
+       inkscape:export-xdpi="91.234283"
+       inkscape:export-ydpi="91.234283"
+       inkscape:export-filename="/usr/src/prj/demos/bussi/data/presents.png"><tspan
+         sodipodi:role="line"
+         id="tspan5313-8-7-5"
+         x="288.35004"
+         y="479.40714">presents</tspan></text>
+    <g
+       id="g4263"
+       inkscape:export-filename="/usr/src/prj/demos/bussi/data/ap.png"
+       inkscape:export-xdpi="89.909584"
+       inkscape:export-ydpi="89.909584">
+      <g
+         inkscape:export-ydpi="300.27301"
+         inkscape:export-xdpi="300.27301"
+         id="g5526"
+         style="display:inline;stroke:#000000;stroke-width:6.80000019;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         transform="translate(12.121829,3.0304569)">
+        <path
+           style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+           d="m 161.33125,128.3596 c -4.23833,47.93019 -13.52158,56.51519 -27.74921,90.23072 -9.69892,27.56932 -22.70458,53.79877 -34.836732,80.33959 -6.598361,-0.0175 -18.172905,2.20688 -6.183845,2.6902 10.569247,-0.4965 -3.987566,12.25331 -4.201002,17.50802 -4.743096,9.76687 -12.684171,22.94882 -3.535078,32.58694 7.769559,6.05753 17.775287,8.40943 26.266517,13.38592 5.73303,3.3249 11.12943,6.40667 17.84872,4.59187 2.67216,-0.88424 12.57762,0.54155 9.40821,-2.20826 -10.78426,-6.32464 -22.63197,-10.72719 -33.63569,-16.56598 -10.700577,-8.09393 -1.85612,-21.68752 2.46602,-30.92631 4.94491,-9.65627 7.89221,-22.39268 21.49737,-19.2835 46.67352,-2.76629 93.0376,-9.0627 139.53316,-13.76527 7.0843,-0.67352 10.47322,-1.26477 1.88338,-2.07085 -7.1528,-1.12969 -14.31045,-2.57683 -21.47959,-0.42092 -43.36263,4.27128 -86.57621,10.20212 -130.08106,12.93712 10.79928,-24.1599 22.51632,-47.96459 31.63281,-72.83593 -0.9876,22.30585 1.67049,44.55582 4.84571,66.59179 l 18.6875,-0.28711 c -4.92272,-29.15474 -6.63597,-58.86653 -3.69821,-88.32998 1.88586,-24.30427 6.23083,-48.30154 10.34274,-72.29111 -1.00134,-3.10683 -15.09518,-1.87695 -19.01172,-1.87695 z"
+           id="path5270-5"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccccccccccccccccccccc" />
+        <path
+           style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+           d="m 262.00923,96.95118 c -5.95065,0.16183 -11.5535,0.10097 -13.07438,2.43624 -23.59246,25.72762 -34.1838,89.55984 -42.6633,123.25848 0.15008,-22.80312 1.90226,-45.65706 3.24153,-68.40129 0.19772,-6.16978 4.65615,-49.60151 4.44888,-55.63586 -4.6644,-0.58403 -14.09569,-0.65123 -18.229,-0.37248 -3.56994,20.22993 -5.75169,78.3626 -7.17986,98.86591 -0.72942,20.38175 -1.8977,41.15861 1.03235,61.30973 4.75509,0.56257 12.50343,0.42226 16.89964,0.30184 2.95135,-0.90565 3.52927,-3.50657 4.85827,-7.59247 2.04233,-9.51465 4.61688,-19.17816 6.33857,-28.93938 6.77472,-32.82353 14.53971,-66.01434 31.19673,-95.43331 -9.55084,51.07704 -17.18541,102.49854 -22.95723,154.13891 2.62189,3.93854 9.58899,0.93085 13.9471,1.95551 5.83022,0.21164 5.21612,-7.34141 5.23236,-11.3012 4.77737,-40.20443 10.33558,-80.34184 17.9384,-120.12291 2.86811,-17.40041 7.71584,-34.69274 9.01817,-52.34615 -1.00109,-4.28235 -5.97672,-2.2323 -10.04823,-2.12157 z"
+           id="path5276-9"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="sccccccccccccccccs" />
+        <path
+           style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+           d="m 294.57748,109.58513 c -22.32051,53.05854 -37.11084,126.89446 -8.48652,174.71795 5.01141,7.89182 13.37368,14.4747 23.19542,13.75625 8.1988,-0.53654 17.94283,1.39352 24.23849,-5.29373 13.97749,-14.42706 18.29809,-35.03255 20.80437,-54.29846 -6.26953,-0.0658 -12.53906,-0.13151 -18.80859,-0.19727 -2.3411,18.41982 -0.28794,33.53139 -13.70029,47.2986 -5.18382,3.93693 -16.14721,-1.95594 -19.15644,-5.7501 -18.63353,-43.53145 -19.25202,-96.08897 -3.79828,-140.35387 6.43924,-17.57348 7.72306,-30.88373 18.20691,-30.7627 10.48384,0.12103 8.92183,3.30422 9.76042,8.31417 l 15.27557,0 c -1.52776,-7.55681 -4.91496,-16.70843 -15.39453,-16.83789 -10.47957,-0.12946 -24.8386,-2.3197 -32.13653,9.40705 z"
+           id="path5282-1"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccccccccczcczc" />
+        <path
+           style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+           d="m 328.09887,139.47268 c -1.86539,27.20645 3.45317,52.84426 3.73523,78.59485 8.20649,-0.0237 16.413,-0.0475 24.6195,-0.0712 -3.15025,-26.55051 -3.92378,-53.03122 -3.43794,-78.52371 l -24.91679,0 z"
+           id="path5284-3"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccccc" />
+        <path
+           style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+           d="m 402.31378,88.73262 c -8.60611,25.36144 -14.09854,56.02647 -17.65676,80.44559 -4.27162,-7.59602 -8.56385,-15.18073 -12.75067,-22.824 l -15.25499,0.77869 c 8.09627,14.35221 16.13305,28.73763 24.21314,43.09883 0.0749,6.61929 -21.37811,76.84147 -20.60803,79.69811 l 14.03233,1.30493 c 4.27404,-9.34705 8.73914,-57.45085 16.19127,-68.78942 19.18619,32.82019 50.75138,86.92977 68.47151,120.59658 3.83687,0.48334 17.64054,2.82081 17.63112,1.84098 -12.83135,-27.65174 -18.45992,-57.88611 -29.73942,-86.13294 -11.91275,-32.44627 -21.15185,-66.10049 -23.91429,-100.66294 -2.2049,-15.62172 -2.2283,-31.65908 -6.20781,-46.96225 -4.888,-0.19172 -9.74197,-0.90324 -14.4074,-2.39216 z m 4.55999,41.40365 c 2.46589,25.15553 6.14617,50.26359 13.57103,74.49004 5.57095,20.05954 13.26721,39.43327 19.65315,59.23024 -15.25007,-24.23849 -29.58165,-49.03103 -43.79259,-73.88759 3.96526,-19.86717 5.97809,-40.07931 10.56841,-59.83269 z"
+           id="path5286-6"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccccccccccccccccccc" />
+        <path
+           style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:6.80000019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+           d="m 520.13383,171.03931 c -0.37061,12.7895 -4.84137,28.47882 -4.0535,41.17635 13.29632,4.77475 30.10148,5.30785 41.52106,13.84827 2.45255,2.54126 -19.19791,6.64365 -20.81013,6.74744 -6.05808,-4.98239 -13.34377,-8.21847 -20.50781,-11.30274 0.39862,23.29843 1.19742,46.61717 0.23828,69.91016 l -18.62304,-0.0684 c 1.21554,-25.60603 0.2124,-51.25857 -0.36914,-76.87109 -37.51723,-12.504 -23.98398,-0.54975 -62.17969,-10.64461 l -0.0466,-22.66594 c 31.90101,8.3969 30.244,15.74575 61.90989,25.01953 -0.79859,-10.775 -3.85419,-30.79921 -4.18661,-41.58873 8.69953,0.43229 17.44355,6.62141 27.1073,6.43976 z"
+           id="path5288-4"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccccccccccccc" />
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.31172562px;line-height:89.99999762%;font-family:'Arial Black';-inkscape-font-specification:'Arial Black, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:6.80000019;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           x="245.23929"
+           y="397.45227"
+           id="text5311-2"
+           sodipodi:linespacing="89.999998%"
+           transform="scale(1.1820549,0.84598438)"><tspan
+             sodipodi:role="line"
+             id="tspan5313-8"
+             x="245.23929"
+             y="397.45227">productions</tspan></text>
+      </g>
+      <g
+         inkscape:export-ydpi="89.840431"
+         inkscape:export-xdpi="89.840431"
+         inkscape:export-filename="/usr/src/prj/demos/bussi/data/ap.png"
+         id="g5526-7"
+         style="display:inline;fill:url(#linearGradient6287);fill-opacity:1;stroke:none"
+         transform="translate(10.101525,1.0101519)">
+        <path
+           style="opacity:1;fill:url(#linearGradient6287);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+           d="m 161.33125,128.3596 c -4.23833,47.93019 -13.52158,56.51519 -27.74921,90.23072 -9.69892,27.56932 -22.70458,53.79877 -34.836732,80.33959 -6.598361,-0.0175 -18.172905,2.20688 -6.183845,2.6902 10.569247,-0.4965 -3.987566,12.25331 -4.201002,17.50802 -4.743096,9.76687 -12.684171,22.94882 -3.535078,32.58694 7.769559,6.05753 17.775287,8.40943 26.266517,13.38592 5.73303,3.3249 11.12943,6.40667 17.84872,4.59187 2.67216,-0.88424 12.57762,0.54155 9.40821,-2.20826 -10.78426,-6.32464 -22.63197,-10.72719 -33.63569,-16.56598 -10.700577,-8.09393 -1.85612,-21.68752 2.46602,-30.92631 4.94491,-9.65627 7.89221,-22.39268 21.49737,-19.2835 46.67352,-2.76629 93.0376,-9.0627 139.53316,-13.76527 7.0843,-0.67352 10.47322,-1.26477 1.88338,-2.07085 -7.1528,-1.12969 -14.31045,-2.57683 -21.47959,-0.42092 -43.36263,4.27128 -86.57621,10.20212 -130.08106,12.93712 10.79928,-24.1599 22.51632,-47.96459 31.63281,-72.83593 -0.9876,22.30585 1.67049,44.55582 4.84571,66.59179 l 18.6875,-0.28711 c -4.92272,-29.15474 -6.63597,-58.86653 -3.69821,-88.32998 1.88586,-24.30427 6.23083,-48.30154 10.34274,-72.29111 -1.00134,-3.10683 -15.09518,-1.87695 -19.01172,-1.87695 z"
+           id="path5270-5-8"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccccccccccccccccccccc" />
+        <path
+           style="opacity:1;fill:url(#linearGradient6287);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+           d="m 262.00923,96.95118 c -5.95065,0.16183 -11.5535,0.10097 -13.07438,2.43624 -23.59246,25.72762 -34.1838,89.55984 -42.6633,123.25848 0.15008,-22.80312 1.90226,-45.65706 3.24153,-68.40129 0.19772,-6.16978 4.65615,-49.60151 4.44888,-55.63586 -4.6644,-0.58403 -14.09569,-0.65123 -18.229,-0.37248 -3.56994,20.22993 -5.75169,78.3626 -7.17986,98.86591 -0.72942,20.38175 -1.8977,41.15861 1.03235,61.30973 4.75509,0.56257 12.50343,0.42226 16.89964,0.30184 2.95135,-0.90565 3.52927,-3.50657 4.85827,-7.59247 2.04233,-9.51465 4.61688,-19.17816 6.33857,-28.93938 6.77472,-32.82353 14.53971,-66.01434 31.19673,-95.43331 -9.55084,51.07704 -17.18541,102.49854 -22.95723,154.13891 2.62189,3.93854 9.58899,0.93085 13.9471,1.95551 5.83022,0.21164 5.21612,-7.34141 5.23236,-11.3012 4.77737,-40.20443 10.33558,-80.34184 17.9384,-120.12291 2.86811,-17.40041 7.71584,-34.69274 9.01817,-52.34615 -1.00109,-4.28235 -5.97672,-2.2323 -10.04823,-2.12157 z"
+           id="path5276-9-3"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="sccccccccccccccccs" />
+        <path
+           style="opacity:1;fill:url(#linearGradient6287);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+           d="m 294.57748,109.58513 c -22.32051,53.05854 -37.11084,126.89446 -8.48652,174.71795 5.01141,7.89182 13.37368,14.4747 23.19542,13.75625 8.1988,-0.53654 17.94283,1.39352 24.23849,-5.29373 13.97749,-14.42706 18.29809,-35.03255 20.80437,-54.29846 -6.26953,-0.0658 -12.53906,-0.13151 -18.80859,-0.19727 -2.3411,18.41982 -0.28794,33.53139 -13.70029,47.2986 -5.18382,3.93693 -16.14721,-1.95594 -19.15644,-5.7501 -18.63353,-43.53145 -19.25202,-96.08897 -3.79828,-140.35387 6.43924,-17.57348 7.72306,-30.88373 18.20691,-30.7627 10.48384,0.12103 8.92183,3.30422 9.76042,8.31417 l 15.27557,0 c -1.52776,-7.55681 -4.91496,-16.70843 -15.39453,-16.83789 -10.47957,-0.12946 -24.8386,-2.3197 -32.13653,9.40705 z"
+           id="path5282-1-7"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccccccccczcczc" />
+        <path
+           style="opacity:1;fill:url(#linearGradient6287);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+           d="m 328.09887,139.47268 c -1.86539,27.20645 3.45317,52.84426 3.73523,78.59485 8.20649,-0.0237 16.413,-0.0475 24.6195,-0.0712 -3.15025,-26.55051 -3.92378,-53.03122 -3.43794,-78.52371 l -24.91679,0 z"
+           id="path5284-3-1"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccccc" />
+        <path
+           style="opacity:1;fill:url(#linearGradient6287);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+           d="m 402.31378,88.73262 c -8.60611,25.36144 -14.09854,56.02647 -17.65676,80.44559 -4.27162,-7.59602 -8.56385,-15.18073 -12.75067,-22.824 l -15.25499,0.77869 c 8.09627,14.35221 16.13305,28.73763 24.21314,43.09883 0.0749,6.61929 -21.37811,76.84147 -20.60803,79.69811 l 14.03233,1.30493 c 4.27404,-9.34705 8.73914,-57.45085 16.19127,-68.78942 19.18619,32.82019 50.75138,86.92977 68.47151,120.59658 3.83687,0.48334 17.64054,2.82081 17.63112,1.84098 -12.83135,-27.65174 -18.45992,-57.88611 -29.73942,-86.13294 -11.91275,-32.44627 -21.15185,-66.10049 -23.91429,-100.66294 -2.2049,-15.62172 -2.2283,-31.65908 -6.20781,-46.96225 -4.888,-0.19172 -9.74197,-0.90324 -14.4074,-2.39216 z m 4.55999,41.40365 c 2.46589,25.15553 6.14617,50.26359 13.57103,74.49004 5.57095,20.05954 13.26721,39.43327 19.65315,59.23024 -15.25007,-24.23849 -29.58165,-49.03103 -43.79259,-73.88759 3.96526,-19.86717 5.97809,-40.07931 10.56841,-59.83269 z"
+           id="path5286-6-1"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccccccccccccccccccc" />
+        <path
+           style="opacity:1;fill:url(#linearGradient6287);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:20;stroke-opacity:1"
+           d="m 520.13383,171.03931 c -0.37061,12.7895 -4.84137,28.47882 -4.0535,41.17635 13.29632,4.77475 30.10148,5.30785 41.52106,13.84827 2.45255,2.54126 -19.19791,6.64365 -20.81013,6.74744 -6.05808,-4.98239 -13.34377,-8.21847 -20.50781,-11.30274 0.39862,23.29843 1.19742,46.61717 0.23828,69.91016 l -18.62304,-0.0684 c 1.21554,-25.60603 0.2124,-51.25857 -0.36914,-76.87109 -37.51723,-12.504 -23.98398,-0.54975 -62.17969,-10.64461 l -0.0466,-22.66594 c 31.90101,8.3969 30.244,15.74575 61.90989,25.01953 -0.79859,-10.775 -3.85419,-30.79921 -4.18661,-41.58873 8.69953,0.43229 17.44355,6.62141 27.1073,6.43976 z"
+           id="path5288-4-6"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccccccccccccc" />
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.31172562px;line-height:89.99999762%;font-family:'Arial Black';-inkscape-font-specification:'Arial Black, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:url(#linearGradient6287);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="245.23929"
+           y="397.45227"
+           id="text5311-2-8"
+           sodipodi:linespacing="89.999998%"
+           transform="scale(1.1820549,0.84598438)"><tspan
+             style="fill:url(#linearGradient6287);fill-opacity:1;stroke:none"
+             sodipodi:role="line"
+             id="tspan5313-8-2"
+             x="245.23929"
+             y="397.45227">productions</tspan></text>
+      </g>
+    </g>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer4"
+     inkscape:label="logo"
+     style="display:none"
+     sodipodi:insensitive="true">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:41.97342682px;line-height:89.99999762%;font-family:'Arial Black';-inkscape-font-specification:'Arial Black, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter6335)"
+       x="502.11761"
+       y="325.43094"
+       id="text5466"
+       sodipodi:linespacing="89.999998%"
+       transform="scale(0.88518958,1.1297015)"
+       inkscape:export-xdpi="89.743538"
+       inkscape:export-ydpi="89.743538"
+       inkscape:export-filename="/usr/src/prj/demos/bussi/data/dosa.png"><tspan
+         sodipodi:role="line"
+         id="tspan5468"
+         x="502.11761"
+         y="325.43094">&quot;dösä 2&quot;</tspan></text>
+    <g
+       id="g6347"
+       inkscape:export-xdpi="90.103607"
+       inkscape:export-ydpi="90.103607"
+       inkscape:export-filename="/usr/src/prj/demos/bussi/data/bussi_logo.png">
+      <text
+         transform="scale(0.88301905,1.1324784)"
+         sodipodi:linespacing="89.999998%"
+         id="text5462"
+         y="283.18753"
+         x="363.21094"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:233.38017273px;line-height:89.99999762%;font-family:'Mister Pixel 16 pt - Old Style Figure';-inkscape-font-specification:'Mister Pixel 16 pt - Old Style Figure';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:9.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           y="283.18753"
+           x="363.21094"
+           id="tspan5464"
+           sodipodi:role="line">BUSSI</tspan></text>
+      <text
+         transform="scale(0.88301905,1.1324784)"
+         sodipodi:linespacing="89.999998%"
+         id="text5462-2"
+         y="279.29361"
+         x="362.35492"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:233.38017273px;line-height:89.99999762%;font-family:'Mister Pixel 16 pt - Old Style Figure';-inkscape-font-specification:'Mister Pixel 16 pt - Old Style Figure';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:url(#radialGradient6297);fill-opacity:1;stroke:none;stroke-width:9.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:url(#radialGradient6297);fill-opacity:1"
+           y="279.29361"
+           x="362.35492"
+           id="tspan5464-0"
+           sodipodi:role="line">BUSSI</tspan></text>
+    </g>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/config.mak	Thu May 21 22:52:30 2015 +0300
@@ -0,0 +1,88 @@
+# Additional binaries (aka the demo)
+DEMO_BIN=demo
+DEMO_OBJS=demo.o dmsimple.o
+
+TOOL_BINPATH=bin/
+TESTS_BINPATH=$(TOOL_BINPATH)
+
+DM_CFLAGS += -fopenmp
+DM_LDFLAGS += -lgomp
+
+#DM_DEBUG=yes
+
+# Build engine tests and tools? (Please notice that what
+# actually gets built it also affected by other options)
+DM_BUILD_TESTS=no
+DM_BUILD_TOOLS=no
+
+# Timeline support? (required for editor and complex demos)
+DM_USE_TIMELINE=no
+
+# Build Qt based demo editor?
+DM_BUILD_EDITOR=no
+
+# Build with runtime asserts?
+DM_USE_ASSERTS=yes
+
+# Use plain C routines?
+DM_USE_C=yes
+
+# Use MMX/SSE SIMD assembler routines?
+DM_USE_SIMD=yes
+
+DM_USE_TREMOR=no
+
+DM_USE_PACKFS=yes
+DM_USE_STDIO=yes
+DM_USE_MEMIO=no
+
+DM_GFX_BM_TEXT=yes
+DM_GFX_TTF_TEXT=no
+DM_GFX_LINES=no
+DM_GFX_BLITS=yes
+DM_GFX_MISC=yes
+
+DM_GFX_8BIT=yes
+DM_GFX_32BIT=yes
+
+
+###
+### General build options for miniJSS
+###
+JSS=yes
+
+# Build a special "light"/minimized version by removing all
+# error messages and few other things. (disabled by DM_DEBUG=yes)
+JSS_LIGHT=yes
+
+# Build with extra debugging code? (disabled by JSS_LIGHT=yes)
+JSS_DEBUG=yes
+
+
+### Support loading of XM-format module files
+JSS_SUP_XM=yes
+#JSS_SUP_JSSMOD=yes
+
+# Enable support for different pattern storage modes
+# in the JSSMOD _loader_. Saving in xm2jss is not affected.
+#JSSMOD_FLAGS = -DJM_SUP_PATMODE_ALL
+
+# If SUP_PATMODE_ALL is not defined, then you can enable modes individually
+# by uncommenting lines below. Refer to 'xm2jss --help' for mode information.
+#JSSMOD_FLAGS += -DJM_SUP_PATMODE_1
+#JSSMOD_FLAGS += -DJM_SUP_PATMODE_2
+#JSSMOD_FLAGS += -DJM_SUP_PATMODE_3
+JSSMOD_FLAGS += -DJM_SUP_PATMODE_4
+#JSSMOD_FLAGS += -DJM_SUP_PATMODE_5
+
+# Enable ext. instrument, instrument header and sampledata loading:
+# (if you disable these, you better know what you are doing.)
+JSSMOD_FLAGS += -DJM_SUP_EXT_INSTR
+JSSMOD_FLAGS += -DJM_SUP_INSTR
+JSSMOD_FLAGS += -DJM_SUP_SAMPLES
+
+
+###
+### Locking/thread support
+###
+JSS_SUP_THREADS=yes
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/SetupData.txt	Thu May 21 22:52:30 2015 +0300
@@ -0,0 +1,31 @@
+# Tässä määritellään videomoodikonfiguraatiovalikon elementit.
+# Taustakuvat on aina SetupImage.png, jonka PITÄÄ olla kokoa 640x480
+# Haluttu fontti on SetupFont.dmf, jonka voi luoda fontconv-ohjelmalla
+# esim. Truetype TTF-fonttitiedostosta (kaikki TTF-fontit eivät kyllä
+# konvertoidu kauniisti.)
+
+# Koot ja koordinaatit määritetään desimaalilukuina, esim.
+# X (vaaka)-koordinaatti 0.5 on ruudun puoliväli. Koossa 0.5
+# tarkoittaa luonnollisesti puolta (50%) koko ruudusta.
+
+# Resoluutiovalikon sijainti 
+menuPos 0.1 0.35
+
+# Resoluutiovalikon koko
+menuDim 0.8 0.4
+
+menuBarOffs 0 -0.002
+
+menuBarDimAdj 0 0.01
+
+# Fullscreen/windowed -tekstin sijainti
+text1Pos 0.04 0.9
+
+# "Enter to start" tekstin sijainti
+text2Pos 0.25 0.85
+
+# Keskitetäänkö valikon tekstit (0 = ei, 1 = kyllä)
+menuCenter 1
+
+# Tiivistetäänkö fontti:
+textCondensed 1
Binary file data/SetupFont.dmf has changed
Binary file data/SetupImage.png has changed
Binary file data/SetupMenuBar.png has changed
Binary file data/ap.png has changed
Binary file data/aurinko.png has changed
Binary file data/auto.png has changed
Binary file data/bussi_logo.png has changed
Binary file data/dosa.png has changed
Binary file data/pas2.xm has changed
Binary file data/presents.png has changed
Binary file data/puu_pv_1.png has changed
Binary file data/puu_pv_2.png has changed
Binary file data/rengas.png has changed
Binary file data/tausta_pv.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/demo.c	Thu May 21 22:52:30 2015 +0300
@@ -0,0 +1,628 @@
+#include "dmengine.h"
+#include "dmtext.h"
+#include "dmfft.h"
+#include "dmvecmat.h"
+#include <math.h>
+
+static int demoInit(DMEngineData *engine);
+static void demoShutdown(DMEngineData *engine);
+static int demoRender(DMEngineData *engine);
+
+
+int demoPreInit(DMEngineData *engine)
+{
+    dmInitProg("bussi",
+        "Bussi by AnCiat ProDz",
+        "0", "ENGINE INITTIALISSSIZING!!!!!", NULL);
+
+    engine->optPackFilename  = "bussi.dat";
+    engine->optDataPath      = NULL;
+    engine->optResFlags      = DRF_USE_PACK | DRF_PRELOAD_RES | DRF_USE_STDIO;
+
+    engine->optAudioSetup    = DM_ASETUP_JSS;
+
+    engine->optVidSetup      = DM_VSETUP_ASPECT;
+    engine->optVidWidth      = 640;
+    engine->optVidHeight     = 480;
+    engine->optVidDepth      = 32;
+    engine->optVFlags        = SDL_SWSURFACE;
+
+    engine->demoInit = demoInit;
+    engine->demoRender = demoRender;
+    engine->demoShutdown = demoShutdown;
+
+    return DMERR_OK;
+}
+
+
+#define FFT_SIZE 128
+DMFFTContext fft;
+
+
+static int demoInit(DMEngineData *engine)
+{
+    int i;
+    JSSModule *mod = NULL;
+
+    dmInitializeFFT(&fft, FFT_SIZE);
+
+    engineGetResModule(engine, mod, "pas2.xm");
+
+    if ((i = jssConvertModuleForPlaying(mod)) != DMERR_OK)
+    {
+        dmErrorMsg("Could not convert module for playing, %d: %s\n",
+            i, dmErrorStr(i));
+        return DMERR_INIT_FAIL;
+    }
+    
+    jvmSetCallback(engine->jssDev, jmpExec, engine->jssPlr);
+    jmpSetModule(engine->jssPlr, mod);
+    jmpPlayOrder(engine->jssPlr, 0);
+    jvmSetGlobalVol(engine->jssDev, 55);
+
+    // Jne
+    srand(15);
+
+    return DMERR_OK;
+}
+
+
+static void demoShutdown(DMEngineData *engine)
+{
+    (void) engine;
+    dmEndFFT(&fft);
+}
+
+
+static inline float dmCX(DMEngineData *engine, const float x)
+{
+    return (x * engine->screen->w);
+}
+
+
+static inline float dmCY(DMEngineData *engine, const float y)
+{
+    return (y * engine->screen->h);
+}
+
+
+static inline float dmQX(DMEngineData *engine, SDL_Surface *img, const float x)
+{
+    return engine->optVidNative ? (img->w * x) : (img->w * engine->screen->w * x) / 640.0f;
+}
+
+
+static inline float dmQY(DMEngineData *engine, SDL_Surface *img, const float y)
+{
+    return engine->optVidNative ? (img->h * y) : (img->h * engine->screen->h * y) / 480.0f;
+}
+
+
+typedef struct
+{
+    char *filename;
+    float xc, yc;
+    SDL_Surface *img;
+} DMTextItem;
+
+
+static DMTextItem textItems[] =
+{
+    { "text01.png", 0.05, 0.10, NULL },
+    { "text02.png", 0.10, 0.30, NULL },
+    { "text03.png", 0.60, 0.30, NULL },
+    { "text04.png", 0.20, 0.60, NULL },
+    { "text05.png", 0.30, 0.70, NULL },
+};
+
+static const int ntextItems = sizeof(textItems) / sizeof(textItems[0]);
+
+
+static DMTextItem textItems2[] =
+{
+    { "text11.png", 0.05, 0.10, NULL },
+    { "text02.png", 0.30, 0.25, NULL },
+    { "text12.png", 0.10, 0.40, NULL },
+    { "text13.png", 0.20, 0.60, NULL },
+    { "text14.png", 0.30, 0.70, NULL },
+};
+
+static const int ntextItems2 = sizeof(textItems2) / sizeof(textItems2[0]);
+
+
+static DMTextItem textItems3[] =
+{
+    { "teki.png"   , 0.25, 0.20, NULL },
+    { "mitvit.png" , 0.05, 0.40, NULL },
+    { "ja.png"     , 0.05, 0.65, NULL },
+    { "kemisti.png", 0.15, 0.65, NULL },
+};
+
+static const int ntextItems3 = sizeof(textItems3) / sizeof(textItems3[0]);
+
+
+
+
+#define DM_RADIAL_BLUR(YC, XC) \
+        DMVector p1 = { xc, yc, 0, 0 }, p2 = { cx, cy, 0, 0 }, v; \
+        dm_vector_sub_r(&v, &p2, &p1); \
+        dm_vector_scale(&v, scale); \
+        dm_vector_add(&v, &p1); \
+        if (v.y YC || v.x XC) continue; \
+        DMColor *dp = pix + xc, \
+                 *q = ((DMColor *)img->pixels) + ((int)(v.y) * pitch) + (int)v.x; \
+        dp->r = (q->r + dp->r) / 2; \
+        dp->g = (q->g + dp->g) / 2; \
+        dp->b = (q->b + dp->b) / 2;
+
+
+
+void dmRadialBlur(SDL_Surface *img, const int cx, const int cy, const DMFloat scale)
+{
+    const int pitch = img->pitch / sizeof(DMColor);
+    int xc, yc;
+
+#pragma omp parallel private(yc, xc) shared(img)
+    {
+#pragma omp sections nowait
+        {
+#pragma omp section
+            for (yc = cy; yc >= 0; yc--)
+            {
+                DMColor *pix = ((DMColor *)img->pixels) + yc * pitch;
+                for (xc = cx + 1; xc < img->w; xc++)
+                {
+                    DM_RADIAL_BLUR(< 0, >= img->w)
+                }
+            }
+
+#pragma omp section
+            for (yc = cy; yc >= 0; yc--)
+            {
+                DMColor *pix = ((DMColor *)img->pixels) + yc * pitch;
+                for (xc = cx; xc > 0; xc--)
+                {
+                    DM_RADIAL_BLUR(< 0, < 0)
+                }    
+            }
+
+#pragma omp section
+            for (yc = cy + 1; yc < img->h; yc++)
+            {
+                DMColor *pix = ((DMColor *)img->pixels) + yc * pitch;
+                for (xc = cx; xc > 0; xc--)
+                {
+                    DM_RADIAL_BLUR(>= img->h, < 0)
+                }    
+            }
+
+#pragma omp section
+            for (yc = cy + 1; yc < img->h; yc++)
+            {
+                DMColor *pix = ((DMColor *)img->pixels) + yc * pitch;
+                for (xc = cx + 1; xc < img->w; xc++)
+                {
+                    DM_RADIAL_BLUR(>= img->h, >= img->w)
+                }    
+            }
+        }
+    }
+}
+
+
+static int hitlerText(DMEngineData *engine, const int dt, float fftPow, DMTextItem *items, const int nitems, BOOL *nollattu)
+{
+    int i, vis;
+    if (!(*nollattu))
+    {
+        for (i = 0; i < nitems; i++)
+            engineGetResImage(engine, items[i].img, items[i].filename);
+
+        *nollattu = TRUE;
+    }
+    
+    float q = fftPow * 0.05f;
+    vis = dt / 1000;
+    for (i = 0; i < nitems; i++)
+    {
+        DMTextItem *item = &items[i];
+        if (i < vis)
+        {
+            dmScaledBlitSurface32to32TransparentGA(
+                item->img,
+                dmCX(engine, item->xc - q),
+                dmCY(engine, item->yc - q),
+                
+                dmQX(engine, item->img, 1.0f + q * 2.0f),
+                dmQY(engine, item->img, 1.0f + q * 2.0f),
+                
+                engine->screen,
+                
+                100 + 80 * fftPow);
+        }
+    }
+    
+    return DMERR_OK;
+}
+
+
+static int demoRender(DMEngineData *engine)
+{
+    float t = engineGetTimeDT(engine);
+    static DMScaledBlitFunc cblit = NULL;
+
+    // Do FFT
+    DMFFTType fftPow = 0;
+    BOOL fftOK = FALSE;
+    static DMFFTType fftAmp[FFT_SIZE / 2];
+    static DMFFTType fftData[FFT_SIZE];
+
+    dmMutexLock(engine->audioStreamMutex);
+    if (engine->audioStreamBuf != 0 && engine->audioStreamLen > FFT_SIZE)
+    {
+        int i;
+        Sint16 *buf = (Sint16 *) engine->audioStreamBuf;
+        for (i = 0; i < FFT_SIZE; i++)
+        {
+            fftData[i] = *buf;
+            buf += 2;
+        }
+        fftOK = TRUE;
+    }
+    dmMutexUnlock(engine->audioStreamMutex);
+
+    if (fftOK)
+    {
+        dmRealFFT(&fft, fftData);
+        dmConvertFFTtoPowerAndSum(&fft, fftData, fftAmp, 1.0, &fftPow, 0.00004f);
+    }
+
+
+#if 1
+    // Demokoodi
+    if (t < 5)
+    {
+        // Alkufeidi sisään
+        int dt = engineGetTime(engine, 0);
+        static DMLerpContext fadeLerp;
+        static SDL_Surface *tausta = NULL;
+        static BOOL nollattu = FALSE;
+        if (!nollattu)
+        {
+            engineGetResImage(engine, tausta, "tausta.jpg");
+            cblit = dmGetScaledBlitFunc(tausta->format, engine->screen->format, DMD_NONE);
+
+            dmLerpInit(&fadeLerp, 0, 255, 5000);
+            nollattu = TRUE;
+        }
+
+        dmClearSurface(engine->screen, dmMapRGB(engine->screen, 0,0,0));
+
+        dmScaledBlitSurface32to32TransparentGA(tausta,
+            0,
+            0,
+
+            dmQX(engine, tausta, 1.0f),
+            dmQX(engine, tausta, 1.0f),
+
+            engine->screen,
+            dmLerpSCurveClamp(&fadeLerp, dt + 150500 * fftPow));
+    }
+#endif
+#if 0
+    else
+    if (t < 25)
+    {
+        static BOOL nollattu = FALSE;
+        static SDL_Surface *tausta = NULL;
+        if (!nollattu)
+        {
+            engineGetResImage(engine, tausta, "tausta.jpg");
+        }
+
+        cblit(tausta,
+            0,
+            0,
+
+            dmQX(engine, tausta, 1.0f),
+            dmQX(engine, tausta, 1.0f),
+
+            engine->screen);
+    }
+    
+    if (t <= 7)
+    {
+        int dt = engineGetTime(engine, 2);
+        static DMLerpContext fadeLerp;
+        static SDL_Surface *logo1 = NULL, *logo2 = NULL;
+        static BOOL nollattu = FALSE;
+        if (!nollattu)
+        {
+            engineGetResImage(engine, logo1, "iso.png");
+            engineGetResImage(engine, logo2, "forevisar.png");
+
+            dmLerpInit(&fadeLerp, 0, 255, 2500);
+            nollattu = TRUE;
+        }
+    
+        int fade;
+        if (dt < 2500)
+        {
+            fade = dmLerpSCurveClamp(&fadeLerp, dt + fftPow * 1000);
+        }
+        else
+        if (dt > 4500)
+        {
+            fade = 255 - dmLerpSCurveClamp(&fadeLerp, dt - 4500 + fftPow * 1000);
+        }
+        else
+        {
+            fade = 255;
+        }
+        
+        float d = fftPow * 0.1f;
+
+        dmScaledBlitSurface32to32TransparentGA(logo1,
+            dmCX(engine, 0.1f),
+            dmCY(engine, 0.22f),
+
+            dmQX(engine, logo1, 1.0f),
+            dmQY(engine, logo1, 1.0f),
+
+            engine->screen,
+            fade);
+
+        dmScaledBlitSurface32to32TransparentGA(logo2,
+            dmCX(engine, 0.2f - d),
+            dmCY(engine, 0.72f - d),
+
+            dmQX(engine, logo2, 1.0f + d * 2.0f),
+            dmQY(engine, logo2, 1.0f + d * 2.0f),
+
+            engine->screen,
+            fade);
+    }
+    else
+    if (t <= 15)
+    {
+        int dt = engineGetTime(engine, 7);
+        static DMLerpContext fadeLerp;
+        static SDL_Surface *logo1 = NULL, *logo2 = NULL;
+        static BOOL nollattu = FALSE;
+        if (!nollattu)
+        {
+            engineGetResImage(engine, logo1, "hitler_on_kiva.png");
+            engineGetResImage(engine, logo2, "hitler.png");
+
+            dmLerpInit(&fadeLerp, 0, 255, 2500);
+            nollattu = TRUE;
+        }
+    
+        int fade;
+        if (dt < 2500)
+        {
+            fade = dmLerpSCurveClamp(&fadeLerp, dt + fftPow * 1000);
+        }
+        else
+        if (dt > 4500)
+        {
+            fade = 255 - dmLerpSCurveClamp(&fadeLerp, dt - 4500 + fftPow * 1000);
+        }
+        else
+        {
+            fade = 255;
+        }
+        
+        dmScaledBlitSurface32to32TransparentGA(logo1,
+            dmCX(engine, 0.1f),
+            dmCY(engine, 0.22f),
+
+            dmQX(engine, logo1, 1.0f),
+            dmQY(engine, logo1, 1.0f),
+
+            engine->screen,
+            fade);
+
+        float q = fftPow * 0.2;
+        dmScaledBlitSurface32to32TransparentGA(logo2,
+            dmCX(engine, 0.15f),
+            dmCY(engine, 0.47f - q),
+
+            dmQX(engine, logo2, 1.0f + q),
+            dmQY(engine, logo2, 1.0f + q),
+
+            engine->screen,
+            fade);
+    }
+    
+    if (t <= 15)
+    {
+        int dt = engineGetTime(engine, 0);
+        static DMLerpContext posLerp, posLerp2;
+        static SDL_Surface *mainos = NULL;
+        static BOOL nollattu = FALSE;
+        if (!nollattu)
+        {
+            engineGetResImage(engine, mainos, "radio.png");
+
+            dmLerpInit(&posLerp, 1, -1, 15000);
+            dmLerpInit(&posLerp2, 0.3, 0.7, 15000);
+            nollattu = TRUE;
+        }
+
+        dmScaledBlitSurface32to32TransparentGA(mainos,
+            dmCX(engine, dmLerpSCurveClamp(&posLerp2, dt)),
+            dmCY(engine, dmLerpSCurveClamp(&posLerp, dt)),
+
+            dmQX(engine, mainos, 1.0f),
+            dmQY(engine, mainos, 1.0f),
+
+            engine->screen,
+            50);
+    }
+    else
+    if (t <= 25)
+    {
+        int dt = engineGetTime(engine, 15);
+        static DMLerpContext posLerp, posLerp2;
+        static DMScaledBlitFunc qblit = NULL;
+        static SDL_Surface *mainos = NULL, *mainos2 = NULL, *hitler = NULL, *sydan = NULL;
+        static BOOL nollattu = FALSE;
+        if (!nollattu)
+        {
+            engineGetResImage(engine, mainos, "lasi.jpg");
+            engineGetResImage(engine, mainos2, "nigrolin.jpg");
+            engineGetResImage(engine, hitler, "hitler2.png");
+            engineGetResImage(engine, sydan, "sydan.png");
+
+            qblit = dmGetScaledBlitFunc(hitler->format, engine->screen->format, DMD_TRANSPARENT);
+
+            dmLerpInit(&posLerp, 1, -1, 20000);
+            dmLerpInit(&posLerp2, -0.5, -0.2, 20000);
+
+            nollattu = TRUE;
+        }
+
+        dmScaledBlitSurface32to32TransparentGA(mainos,
+            dmCX(engine, dmLerpSCurveClamp(&posLerp2, dt)),
+            dmCY(engine, dmLerpSCurveClamp(&posLerp, dt + fftPow * 250)),
+
+            dmQX(engine, mainos, 1.0f),
+            dmQY(engine, mainos, 1.0f),
+
+            engine->screen,
+            50);
+
+        dmScaledBlitSurface32to32TransparentGA(mainos2,
+            dmCX(engine, dmLerpSCurveClamp(&posLerp, dt)),
+            dmCY(engine, dmLerpSCurveClamp(&posLerp2, dt + fftPow * 250)),
+
+            dmQX(engine, mainos2, 1.0f),
+            dmQY(engine, mainos2, 1.0f),
+
+            engine->screen,
+            50);
+
+        float d = fftPow * 0.1f;
+
+        qblit(hitler,
+            dmCX(engine, 0.4 - d),
+            dmCY(engine, 0.3 - d),
+
+            dmQX(engine, hitler, 1.0f + d * 2.0f),
+            dmQY(engine, hitler, 1.0f + d * 2.0f),
+
+            engine->screen);
+
+
+
+        if (t > 17)
+        {
+            static BOOL xnollattu = FALSE;
+
+            if (t > 19)
+            {
+            float z = sin(t * 2.0f + fftPow) * 0.1f;
+            qblit(sydan,
+                dmCX(engine, 0.7) + dmQX(engine, sydan, 0.5f - z),
+                dmCY(engine, 0.55) + dmQX(engine, sydan, 0.5f - z),
+
+                dmQX(engine, sydan, 1.0f + z * 2.0f),
+                dmQY(engine, sydan, 1.0f + z * 2.0f),
+
+                engine->screen);
+            }
+
+            hitlerText(engine, engineGetTime(engine, 17), fftPow, textItems, ntextItems, &xnollattu);
+        }
+    }
+    else
+    if (t <= 60)
+    {
+        int dt = engineGetTime(engine, 25);
+        static SDL_Surface *tekstur, *poni1, *poni2;
+        static BOOL nollattu = FALSE;
+        static DMScaledBlitFunc qblit = NULL;
+        if (!nollattu)
+        {
+            engineGetResImage(engine, tekstur, "disco.jpg");
+            engineGetResImage(engine, poni1, "poni1.png");
+            engineGetResImage(engine, poni2, "poni2.png");
+
+            qblit = dmGetScaledBlitFunc(poni1->format, engine->screen->format, DMD_TRANSPARENT);
+
+            nollattu = TRUE;
+        }
+
+        float m = t*2.0f;
+        float q = sin(m) * 0.3f,
+              q2 = sin(m + 0.2) * 0.4f,
+              z = sin(m) * 0.3f + 2.0f,
+              z2 = sin(m + 0.1f) * 0.3f + 2.0f;
+        
+        dmScaledBlitSurface32to32TransparentGA(tekstur,
+            dmCX(engine, sin(q) * 0.1f - 0.2f),
+            dmCY(engine, cos(q) * 0.1f - 0.2f),
+
+            dmQX(engine, tekstur, z),
+            dmQY(engine, tekstur, z),
+
+            engine->screen,
+            130);
+
+        dmScaledBlitSurface32to32TransparentGA(tekstur,
+            dmCX(engine, sin(q2) * 0.1f - 0.2f),
+            dmCY(engine, cos(q2) * 0.1f - 0.2f),
+
+            dmQX(engine, tekstur, z2),
+            dmQY(engine, tekstur, z2),
+
+            engine->screen,
+            130);
+
+
+        qblit(poni1,
+            dmCX(engine, 0.2f),
+            dmCY(engine, 0.07f),
+
+            dmQX(engine, poni1, 1.0f),
+            dmQY(engine, poni1, 1.0f),
+
+            engine->screen);
+
+
+        dmScaledBlitSurface32to32TransparentGA(poni2,
+            dmCX(engine, 0.2f),
+            dmCY(engine, 0.07f),
+
+            dmQX(engine, poni2, 1.0f),
+            dmQY(engine, poni2, 1.0f),
+
+            engine->screen,
+            50 + fftPow * 400);
+          
+        dmRadialBlur(engine->screen,
+            dmCX(engine, 0.5f + sin(m) * 0.1f),
+            dmCY(engine, 0.5f + cos(m) * 0.1f),
+            0.035f);
+
+        if (t >= 30 && t <= 37)
+        {
+            static BOOL xnollattu = FALSE;
+            hitlerText(engine, engineGetTime(engine, 30), fftPow + 0.2, textItems2, ntextItems2, &xnollattu);
+        }
+        else
+        if (t >= 38 && t <= 47)
+        {
+            static BOOL xnollattu = FALSE;
+            hitlerText(engine, engineGetTime(engine, 38), fftPow + 0.2, textItems3, ntextItems3, &xnollattu);
+        }
+        else
+        if (t > 50)
+            return 1;
+    } 
+
+#endif
+
+    return DMERR_OK;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/file_id.diz	Thu May 21 22:52:30 2015 +0300
@@ -0,0 +1,5 @@
+ anciat productionz
+   B  U  S  S  I
+  @ simulaatio 6 @
+   win64/linux/src
+   bussilla pääsee