[gnome-boxes/introduce-welcome-tutorial-dialog: 2/2] welcome-tutorial: Introduce Welcome Tutorial dialog



commit 9a1eb7a7036b012e2006cac639360026aa1264a8
Author: Felipe Borges <felipeborges gnome org>
Date:   Tue Dec 10 15:04:42 2019 +0100

    welcome-tutorial: Introduce Welcome Tutorial dialog
    
    This dialog runs the first time the user starts Boxes. To reset
    this setting, run:
    
      $ gsetting set org.gnome.boxes first-run true
    
    For more details, see https://gitlab.gnome.org/GNOME/gnome-boxes/wikis/welcome-tutorial
    
    Fixes #282

 data/gnome-boxes.gresource.xml            |    7 +
 data/gtk-style.css                        |    7 +
 data/ui/welcome-tutorial-page.ui          |   37 +
 data/ui/welcome-tutorial.ui               |  125 +++
 data/welcome-tutorial/drag-and-drop.svg   |  251 ++++++
 data/welcome-tutorial/easy-downloads.svg  |  327 +++++++
 data/welcome-tutorial/express-install.svg |  310 +++++++
 data/welcome-tutorial/welcome.svg         | 1373 +++++++++++++++++++++++++++++
 src/app-window.vala                       |    5 +
 src/meson.build                           |    2 +
 src/welcome-tutorial-page.vala            |   46 +
 src/welcome-tutorial.vala                 |   62 ++
 12 files changed, 2552 insertions(+)
---
diff --git a/data/gnome-boxes.gresource.xml b/data/gnome-boxes.gresource.xml
index 4db4ad80..a47e13ca 100644
--- a/data/gnome-boxes.gresource.xml
+++ b/data/gnome-boxes.gresource.xml
@@ -57,5 +57,12 @@
     <file preprocess="xml-stripblanks">ui/assistant/pages/preparation-page.ui</file>
     <file preprocess="xml-stripblanks">ui/assistant/pages/setup-page.ui</file>
     <file preprocess="xml-stripblanks">ui/assistant/pages/review-page.ui</file>
+    <!-- Welcome Tutorial -->
+    <file preprocess="xml-stripblanks">ui/welcome-tutorial.ui</file>
+    <file preprocess="xml-stripblanks">ui/welcome-tutorial-page.ui</file>
+    <file>welcome-tutorial/welcome.svg</file>
+    <file>welcome-tutorial/express-install.svg</file>
+    <file>welcome-tutorial/easy-downloads.svg</file>
+    <file>welcome-tutorial/drag-and-drop.svg</file>
   </gresource>
 </gresources>
diff --git a/data/gtk-style.css b/data/gtk-style.css
index 622f14d4..7e4162ce 100644
--- a/data/gtk-style.css
+++ b/data/gtk-style.css
@@ -126,3 +126,10 @@ separator {
     padding: 25px;
     border-radius: 5px;
 }
+
+/* Welcome Tutorial */
+.tutorial-page {
+    background-repeat: no-repeat;
+    background-size: 60%;
+    background-position: center 15%;
+}
diff --git a/data/ui/welcome-tutorial-page.ui b/data/ui/welcome-tutorial-page.ui
new file mode 100644
index 00000000..a7a0d49f
--- /dev/null
+++ b/data/ui/welcome-tutorial-page.ui
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <template class="BoxesWelcomeTutorialPage" parent="GtkBox">
+    <property name="visible">True</property>
+    <property name="orientation">vertical</property>
+    <property name="spacing">10</property>
+    <signal name="map" handler="load_css"/>
+    <style>
+      <class name="tutorial-page"/>
+    </style>
+
+    <child>
+      <object class="GtkLabel" id="title_label">
+        <property name="visible">True</property>
+        <property name="margin-top">275</property>
+        <attributes>
+          <attribute name="scale" value="1.8"/>
+          <attribute name="weight" value="PANGO_WEIGHT_BOLD"/>
+        </attributes>
+      </object>
+    </child>
+
+    <child>
+      <object class="GtkLabel" id="description_label">
+        <property name="visible">True</property>
+        <property name="wrap">True</property>
+        <property name="max-width-chars">60</property>
+        <property name="justify">center</property>
+        <property name="halign">center</property>
+        <style>
+          <class name="dim-label"/>
+        </style>
+      </object>
+    </child>
+
+  </template>
+</interface>
diff --git a/data/ui/welcome-tutorial.ui b/data/ui/welcome-tutorial.ui
new file mode 100644
index 00000000..a2bd1e9c
--- /dev/null
+++ b/data/ui/welcome-tutorial.ui
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <template class="BoxesWelcomeTutorial" parent="GtkDialog">
+    <property name="modal">True</property>
+    <property name="type-hint">dialog</property>
+    <property name="title" translatable="yes">Welcome Tutorial</property>
+    <property name="height-request">420</property>
+    <signal name="delete-event" handler="gtk_widget_hide_on_delete"/>
+
+    <child internal-child="vbox">
+      <object class="GtkBox">
+        <property name="visible">True</property>
+
+        <child>
+          <object class="GtkOverlay">
+            <property name="visible">True</property>
+            <property name="expand">True</property>
+
+            <child>
+              <object class="GtkStack" id="stack">
+                <property name="visible">True</property>
+                <property name="transition-duration">400</property>
+                <property name="transition-type">slide-left-right</property>
+                <signal name="notify::visible-child" handler="on_stack_page_changed"/>
+
+                <child>
+                  <object class="BoxesWelcomeTutorialPage">
+                    <property name="title" translatable="yes">Welcome to Boxes</property>
+                    <property name="description" translatable="yes">Boxes makes it easy to install and run 
virtual machines. You can also use it to remotely access other computers, using SPICE, VNC, RDP or Secure 
Shell connections.</property>
+                    <property name="color">613583</property>
+                    <property name="image">/org/gnome/Boxes/welcome-tutorial/welcome.svg</property>
+                  </object>
+                </child>
+
+                <child>
+                  <object class="BoxesWelcomeTutorialPage">
+                    <property name="title" translatable="yes">Express Installation</property>
+                    <property name="description" translatable="yes">With express installation, Boxes will 
set the install options for a new virtual machine. Just start the installation and everything will be taken 
care of for you.</property>
+                    <property name="color">26a269</property>
+                    <property name="image">/org/gnome/Boxes/welcome-tutorial/express-install.svg</property>
+                  </object>
+                </child>
+
+                <child>
+                  <object class="BoxesWelcomeTutorialPage">
+                    <property name="title" translatable="yes">Easy Downloads</property>
+                    <property name="description" translatable="yes">With Boxes, you don't need to download 
an operating system to create a virtual machine. Instead, just pick the operating system you want to setup, 
and Boxes will automatically download it for you.</property>
+                    <property name="color">e66100</property>
+                    <property name="image">/org/gnome/Boxes/welcome-tutorial/easy-downloads.svg</property>
+                  </object>
+                </child>
+
+                <child>
+                  <object class="BoxesWelcomeTutorialPage">
+                    <property name="title" translatable="yes">Drag and Drop</property>
+                    <property name="description" translatable="yes">Sharing files is as simple as dropping 
them onto your virtual machine. They will appear in your Downloads folder.</property>
+                    <property name="color">1c71d8</property>
+                    <property name="image">/org/gnome/Boxes/welcome-tutorial/drag-and-drop.svg</property>
+                  </object>
+                </child>
+              </object>
+            </child>
+
+            <child type="overlay">
+              <object class="GtkBox">
+                <property name="visible">True</property>
+                <property name="orientation">horizontal</property>
+                <property name="border-width">20</property>
+
+                <child>
+                  <object class="GtkButton" id="go_back_button">
+                    <property name="visible">False</property>
+                    <property name="can-focus">True</property>
+                    <property name="valign">center</property>
+                    <signal name="clicked" handler="on_back_button_clicked"/>
+                    <style>
+                      <class name="circular"/>
+                    </style>
+                    <child>
+                      <object class="GtkImage">
+                        <property name="visible">True</property>
+                        <property name="can-focus">False</property>
+                        <property name="icon-size">3</property>
+                        <property name="icon-name">go-previous-symbolic</property>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="pack-type">start</property>
+                  </packing>
+                </child>
+
+                <child>
+                  <object class="GtkButton" id="go_next_button">
+                    <property name="visible">True</property>
+                    <property name="can-focus">True</property>
+                    <property name="valign">center</property>
+                    <signal name="clicked" handler="on_next_button_clicked"/>
+                    <style>
+                      <class name="circular"/>
+                    </style>
+                    <child>
+                      <object class="GtkImage">
+                        <property name="visible">True</property>
+                        <property name="can-focus">False</property>
+                        <property name="icon-size">3</property>
+                        <property name="icon-name">go-next-symbolic</property>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="pack-type">end</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="passthrough">True</property>
+              </packing>
+            </child>
+          </object>
+        </child>
+      </object>
+    </child>
+  </template>
+</interface>
diff --git a/data/welcome-tutorial/drag-and-drop.svg b/data/welcome-tutorial/drag-and-drop.svg
new file mode 100644
index 00000000..aead00e4
--- /dev/null
+++ b/data/welcome-tutorial/drag-and-drop.svg
@@ -0,0 +1,251 @@
+<?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="800"
+   height="600"
+   viewBox="0 0 800 600.00002"
+   version="1.1"
+   id="svg1707"
+   inkscape:version="0.92.4 5da689c313, 2019-01-14"
+   sodipodi:docname="drag-and-drop.svg">
+  <defs
+     id="defs1701">
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath11821">
+      <rect
+         y="-162.03279"
+         x="896.33704"
+         height="408.8541"
+         width="439.22842"
+         id="rect11823"
+         
style="opacity:1;vector-effect:none;fill:#e7d5c7;fill-opacity:1;stroke:none;stroke-width:8.51448345;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1880"
+       id="linearGradient4968"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3,0,0,1,-19.2,-4)"
+       x1="64"
+       y1="254"
+       x2="64"
+       y2="292" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1880">
+      <stop
+         style="stop-color:#cdab8f;stop-opacity:1;"
+         offset="0"
+         id="stop1876" />
+      <stop
+         style="stop-color:#d3b69d;stop-opacity:1"
+         offset="1"
+         id="stop1878" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1888"
+       id="linearGradient4970"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3,0,0,0.83333333,-19.2,34)"
+       x1="63.999992"
+       y1="180"
+       x2="63.999992"
+       y2="250" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1888">
+      <stop
+         style="stop-color:#e3cfbf;stop-opacity:1;"
+         offset="0"
+         id="stop1884" />
+      <stop
+         style="stop-color:#e7d5c7;stop-opacity:1"
+         offset="1"
+         id="stop1886" />
+    </linearGradient>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="-96.714286"
+     inkscape:cy="335.14286"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     units="px"
+     inkscape:pagecheckerboard="true"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-width="3440"
+     inkscape:window-height="1376"
+     inkscape:window-x="0"
+     inkscape:window-y="639"
+     inkscape:window-maximized="1">
+    <sodipodi:guide
+       position="237,566.00002"
+       orientation="0,1"
+       id="guide2926"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="394,30.000001"
+       orientation="0,1"
+       id="guide2928"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="34,372.00001"
+       orientation="1,0"
+       id="guide2930"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="768,281.00001"
+       orientation="1,0"
+       id="guide2932"
+       inkscape:locked="false" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata1704">
+    <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:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-522.51965)">
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-2.1279254"
+       inkscape:original="M 1381.5117 958.99805 A 10.000999 10.000999 0 0 0 1381.3789 959 L 1326.627 959 A 
10.000999 10.000999 0 0 0 1322.0723 978 L 1303.9199 978 A 10.000999 10.000999 0 0 0 1295.0547 993 L 1270.127 
993 A 10.000999 10.000999 0 1 0 1270.127 1012.998 L 1299.6445 1012.998 A 10.002463 10.002463 0 0 0 1305.627 
1031.002 L 1360.377 1031.002 A 10.002463 10.002463 0 1 0 1360.377 1010.998 L 1331.0742 1010.998 A 10.000999 
10.000999 0 0 0 1333.7422 997.99805 L 1385.0781 997.99805 A 10.000999 10.000999 0 0 0 1385.8887 978.01758 A 
10.000999 10.000999 0 0 0 1381.5117 958.99805 z "
+       
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:0.56299217;fill-rule:nonzero;stroke:non
 e;stroke
 
-width:13.70118237;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path5025"
+       d="m 1381.5234,961.125 c -0.033,6.5e-4 -0.1295,0.002 -0.1445,0.002 h -54.7519 a 2.1281382,2.1281382 0 
0 1 -0.041,0 c -3.5554,-0.0695 -6.9815,2.57894 -7.8105,6.03711 -0.829,3.45817 1.0241,7.36984 4.2246,8.91992 a 
2.1281382,2.1281382 0 0 1 -0.9277,4.04297 h -18.1524 a 2.1281382,2.1281382 0 0 1 -0.043,0 c -2.7746,-0.0567 
-5.5275,1.47616 -6.9395,3.86524 -1.412,2.38907 -1.4268,5.54012 -0.039,7.94336 a 2.1281382,2.1281382 0 0 1 
-1.8437,3.1914 h -24.9277 a 2.1281382,2.1281382 0 0 1 -0.043,0 c -2.087,-0.0417 -4.1773,0.78882 -5.668,2.25 
-1.4907,1.46119 -2.3613,3.53365 -2.3613,5.62105 0,2.0874 0.8706,4.1619 2.3613,5.6231 1.4907,1.4612 
3.581,2.2917 5.668,2.25 a 2.1281382,2.1281382 0 0 1 0.043,-0 h 29.5175 a 2.1281382,2.1281382 0 0 1 
1.2774,3.8321 c -2.6206,1.9657 -3.7811,5.6725 -2.7481,8.7812 1.0326,3.1076 4.1787,5.3844 7.4532,5.3926 h 
54.75 a 2.1281382,2.1281382 0 0 1 0.021,0 c 2.0741,0.02 4.1416,-0.8197 5.6153,-2.2793 1.4737,-1.4596 
2.334,-3.5215 2.334,-5.5957 0,-2.0742 -0.860
 3,-4.136
 1 -2.334,-5.5957 -1.4737,-1.4596 -3.5412,-2.2993 -5.6153,-2.2793 a 2.1281382,2.1281382 0 0 1 -0.021,0 h 
-29.3028 a 2.1281382,2.1281382 0 0 1 -1.2754,-3.8301 c 3.0475,-2.2828 4.0017,-6.9357 2.0996,-10.23435 a 
2.1281382,2.1281382 0 0 1 1.8438,-3.18946 h 51.3359 a 2.1281382,2.1281382 0 0 1 0.039,0 c 2.0312,0.0365 
4.065,-0.75065 5.543,-2.14453 1.4779,-1.39388 2.3824,-3.37831 2.4648,-5.4082 0.082,-2.02989 -0.6594,-4.08278 
-2.0195,-5.5918 -1.3602,-1.50902 -3.3241,-2.4578 -5.3516,-2.58594 a 2.1281382,2.1281382 0 0 1 
-0.7851,-4.04101 c 3.195,-1.5313 5.0641,-5.4144 4.2695,-8.86719 -0.7942,-3.45089 -4.1681,-6.12379 
-7.709,-6.10742 z"
+       transform="matrix(2.6453507,0,0,2.6453507,-2910.0386,-1848.0678)" />
+    <g
+       id="g5023"
+       transform="matrix(5.3288638,0,0,5.3288638,-946.00645,-1428.3478)"
+       style="stroke-width:0.78262895">
+      <path
+         sodipodi:nodetypes="ccccccccccccccc"
+         inkscape:connector-curvature="0"
+         id="path4880"
+         d="m 256.32031,373.6158 c -13.29108,0.0157 -24.37849,10.19735 -25.19243,23.46348 l 0.2586,-0.0109 c 
0.77289,-2.92617 2.94976,-5.29726 5.70313,-5.38544 1.26143,-0.0403 2.57436,0.29833 3.81827,0.98476 
2.331,1.28774 4.1961,3.91407 5.03067,6.62587 l 0.24846,0.0234 c 1.81089,-2.99048 4.95265,-4.68795 
8.44868,-4.69295 5.52762,0 9.75139,4.73827 9.75139,10.26589 -0.004,0.1493 0.1754,-0.006 0.16463,0.14345 
2.1303,-2.2008 5.15842,-3.47208 7.96839,-3.47266 4.68325,-4e-5 7.8349,2.63483 6.72206,7.0679 0,0 
0.17585,0.0995 0.15744,0.16087 1.67299,-3.42116 2.08011,-6.19514 2.09095,-10.00344 0,-13.90114 
-11.26909,-25.17024 -25.17024,-25.17024 z"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.27745017;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <g
+         id="g5078"
+         transform="translate(1.933682,-7.1822475)"
+         style="stroke-width:0.78262895">
+        <g
+           transform="matrix(0.24496564,0.06563834,-0.06563834,0.24496564,238.19688,402.07719)"
+           id="g9588-3"
+           style="stroke-width:0.78262895">
+          <rect
+             
style="display:inline;opacity:1;fill:url(#linearGradient4968);fill-opacity:1;stroke:none;stroke-width:25.04412651;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:3.13051583,
 1.56525792;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+             id="rect9578-5"
+             width="104"
+             height="76"
+             x="12"
+             y="212" />
+          <rect
+             
style="display:inline;opacity:1;fill:url(#linearGradient4970);fill-opacity:1;stroke:none;stroke-width:25.04412651;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:3.13051583,
 1.56525792;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+             id="rect9580-6"
+             width="104"
+             height="68"
+             x="12"
+             y="184" />
+          <rect
+             y="252"
+             x="12"
+             height="2"
+             width="104"
+             id="rect9582-2"
+             
style="display:inline;opacity:0.05;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.56525791;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+        </g>
+        <rect
+           transform="rotate(105)"
+           y="-363.56418"
+           x="380.49146"
+           height="26.375132"
+           width="1.6563063"
+           id="rect11911-2"
+           
style="opacity:1;vector-effect:none;fill:#9a9996;fill-opacity:1;stroke:none;stroke-width:2.62413764;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+        <rect
+           y="390.63577"
+           x="349.54849"
+           height="9.1096849"
+           width="1.6563063"
+           id="rect11913-7"
+           
style="opacity:1;vector-effect:none;fill:#77767b;fill-opacity:1;stroke:none;stroke-width:1.54220092;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+           transform="rotate(15)" />
+        <rect
+           
style="opacity:1;vector-effect:none;fill:#9a9996;fill-opacity:1;stroke:none;stroke-width:2.12045074;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+           id="rect11915-0"
+           width="1.6563063"
+           height="17.221769"
+           x="349.54849"
+           y="373.414"
+           transform="rotate(15)" />
+      </g>
+      <path
+         inkscape:connector-curvature="0"
+         id="path4905"
+         d="m 231.27928,397.06137 10.20226,54.8999"
+         
style="fill:none;stroke:#ffffff;stroke-width:0.20707059;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.37401578"
+         sodipodi:nodetypes="cc" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4907"
+         d="m 279.31046,408.69559 -37.82892,43.26568"
+         
style="fill:none;stroke:#ffffff;stroke-width:0.20707059;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.37401578"
+         sodipodi:nodetypes="cc" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4909"
+         d="m 264.44614,404.92995 -22.9646,47.03132"
+         
style="fill:none;stroke:#ffffff;stroke-width:0.20707059;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.37401578"
+         sodipodi:nodetypes="cc" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4987"
+         d="m 246.15876,399.20226 -4.67722,52.75901"
+         
style="fill:none;stroke:#ffffff;stroke-width:0.20707059;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.37401578"
+         sodipodi:nodetypes="cc" />
+      <path
+         
style="opacity:1;vector-effect:none;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:0.27745017;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         d="m 256.32031,373.6158 c 1.22413,-0.48965 17.89846,10.98674 8.06677,31.27411 -0.004,0.1493 
0.1754,-0.006 0.16463,0.14345 2.1303,-2.2008 5.15842,-3.47208 7.96839,-3.47266 4.68325,-4e-5 7.8349,2.63483 
6.72206,7.0679 0,0 0.17585,0.0995 0.15744,0.16087 1.67299,-3.42116 2.08011,-6.19514 2.09095,-10.00344 
0,-13.90114 -11.26909,-25.17024 -25.17024,-25.17024 8.97781,5.52481 0,10e-6 0,10e-6 z"
+         id="path5069"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccccccc" />
+    </g>
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-2"
+       inkscape:original="M 992 974 A 10.000999 10.000999 0 1 0 992 993.99805 L 1016.3223 993.99805 A 
10.000999 10.000999 0 0 0 1023.668 1010.998 L 1069.332 1010.998 A 10.000999 10.000999 0 1 0 1069.332 991 L 
1067.3438 991 A 10.000999 10.000999 0 0 0 1060.002 974 L 992 974 z "
+       
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:0.56299217;fill-rule:nonzero;stroke:non
 e;stroke
 
-width:14.2307291;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path5044"
+       d="m 991.96094,976 c -2.12074,-0.0421 -4.24506,0.80025 -5.75977,2.28516 -1.51471,1.4849 
-2.40039,3.59369 -2.40039,5.71484 0,2.12115 0.88568,4.22798 2.40039,5.71289 1.51471,1.48491 3.63903,2.3273 
5.75977,2.28516 a 2.0002,2.0002 0 0 1 0.0391,0 h 24.3223 a 2.0002,2.0002 0 0 1 1.4277,3.40039 c 
-2.2092,2.25366 -2.8827,5.87646 -1.6309,8.77346 1.2518,2.897 4.3526,4.8905 7.5079,4.8261 a 2.0002,2.0002 0 0 
1 0.041,0 h 45.664 a 2.0002,2.0002 0 0 1 0.039,0 c 2.1209,0.042 4.2468,-0.8002 5.7617,-2.2851 1.5149,-1.4849 
2.4004,-3.5935 2.4004,-5.7149 0,-2.12127 -0.8855,-4.22792 -2.4004,-5.71284 -1.5149,-1.48493 -3.6408,-2.32757 
-5.7617,-2.28516 a 2.0002,2.0002 0 0 1 -0.039,0 h -1.9882 a 2.0002,2.0002 0 0 1 -1.4278,-3.40039 c 
2.2089,-2.25329 2.8819,-5.87667 1.6309,-8.77344 -1.2511,-2.89677 -4.3511,-4.88926 -7.5059,-4.82617 a 
2.0002,2.0002 0 0 1 -0.039,0 H 992 a 2.0002,2.0002 0 0 1 -0.0391,0 z"
+       transform="matrix(-2.5469131,0,0,2.5469131,2773.1015,-1864.8297)" />
+  </g>
+</svg>
diff --git a/data/welcome-tutorial/easy-downloads.svg b/data/welcome-tutorial/easy-downloads.svg
new file mode 100644
index 00000000..2ca1b7c7
--- /dev/null
+++ b/data/welcome-tutorial/easy-downloads.svg
@@ -0,0 +1,327 @@
+<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="800"
+   height="600"
+   viewBox="0 0 800 600.00002"
+   version="1.1"
+   id="svg1707"
+   inkscape:version="0.92.4 5da689c313, 2019-01-14"
+   sodipodi:docname="easy-downloads.svg">
+  <defs
+     id="defs1701">
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath11821">
+      <rect
+         y="-162.03279"
+         x="896.33704"
+         height="408.8541"
+         width="439.22842"
+         id="rect11823"
+         
style="opacity:1;vector-effect:none;fill:#e7d5c7;fill-opacity:1;stroke:none;stroke-width:8.51448345;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+    </clipPath>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="-96.714286"
+     inkscape:cy="335.14286"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     units="px"
+     inkscape:pagecheckerboard="true"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-width="3440"
+     inkscape:window-height="1376"
+     inkscape:window-x="0"
+     inkscape:window-y="639"
+     inkscape:window-maximized="1">
+    <sodipodi:guide
+       position="237,566.00002"
+       orientation="0,1"
+       id="guide2926"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="394,30.000001"
+       orientation="0,1"
+       id="guide2928"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="34,372.00001"
+       orientation="1,0"
+       id="guide2930"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="768,281.00001"
+       orientation="1,0"
+       id="guide2932"
+       inkscape:locked="false" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata1704">
+    <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:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-522.51965)">
+    <path
+       
style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:0.06299211;stroke:none;stroke-width:5.36276245;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+       d="m 278.44562,578.22268 c -38.53259,0 -68.90931,30.3728 -68.90931,68.90395 0,38.53095 
30.37833,68.90953 68.90931,68.90953 30.34473,0 29.82626,41.36216 0,41.36216 H 106.85301 c -38.532494,0 
-68.903963,30.37172 -68.903963,68.90419 0,38.53265 30.371469,68.90401 68.903963,68.90401 h 122.45834 c 
22.67797,0.0212 28.80141,31.2495 7.80838,39.82792 -25.0984,10.23553 -42.74997,34.61904 -42.74997,63.80245 
0,38.53471 30.37308,68.91051 68.90417,68.91051 h 412.38759 c 38.53144,0 68.90435,-30.3758 68.90435,-68.91051 
0,-38.53156 -30.37154,-68.90343 -68.90435,-68.90343 h -122.4584 c -22.67798,-0.0211 -28.8011,-31.24932 
-7.80828,-39.82791 25.0972,-10.23585 42.75023,-34.62131 42.75023,-63.80304 0,-38.53117 -30.37672,-68.90419 
-68.90933,-68.90419 -11.33535,-0.12214 -20.45928,-9.34569 -20.45928,-20.68114 0,-11.33546 9.12393,-20.55885 
20.45928,-20.68102 h 171.5927 c 38.531,0 68.9039,-30.37685 68.9039,-68.90953 0,-38.53268 -30.3714,-68.90395 
-68.9039,-68.90395 z"
+       id="rect20255"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ssccsssccsssssccscscssss" />
+    <rect
+       width="290.72638"
+       height="290.72638"
+       x="764.32776"
+       y="-521.46649"
+       id="rect5452"
+       
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:2.27574182;marker:none;enable-background:new"
+       transform="rotate(90)" />
+    <rect
+       width="290.72638"
+       height="290.72638"
+       x="764.51099"
+       y="230.1711"
+       id="rect5456"
+       
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:2.27574182;marker:none;enable-background:new"
+       transform="matrix(0,1,1,0,0,0)" />
+    <g
+       id="g20186"
+       transform="matrix(2.488839,0,0,2.488839,-206.69004,11.796929)">
+      <circle
+         inkscape:transform-center-y="-35.000001"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="circle1321"
+         cx="291.30557"
+         cy="269.76114"
+         r="6.4822917" />
+      <circle
+         inkscape:transform-center-x="-30.31078"
+         transform="rotate(60)"
+         r="6.4822917"
+         cy="-122.02768"
+         cx="387.29251"
+         id="circle1323"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         inkscape:transform-center-y="-17.500005" />
+      <circle
+         inkscape:transform-center-y="17.499904"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="circle1325"
+         cx="95.986961"
+         cy="-401.04913"
+         r="6.4822917"
+         transform="rotate(120)"
+         inkscape:transform-center-x="-30.310841" />
+      <circle
+         transform="scale(-1)"
+         r="6.4822917"
+         cy="-288.28195"
+         cx="-291.30557"
+         id="circle1327"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         inkscape:transform-center-y="34.999907" />
+      <circle
+         inkscape:transform-center-x="30.31079"
+         inkscape:transform-center-y="17.499875"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="circle1329"
+         cx="-387.29254"
+         cy="103.50691"
+         r="6.4822917"
+         transform="rotate(-120)" />
+      <circle
+         transform="rotate(-60)"
+         r="6.4822917"
+         cy="382.52838"
+         cx="-95.986961"
+         id="circle1331"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         inkscape:transform-center-y="-17.499975"
+         inkscape:transform-center-x="30.310729" />
+      <circle
+         r="6.4822917"
+         cy="278.75696"
+         cx="291.30557"
+         id="path1319"
+         
style="opacity:1;vector-effect:none;fill:#f5c211;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+    </g>
+    <g
+       transform="matrix(1.8071873,0,0,1.8071873,-235.01714,124.75129)"
+       id="g20202">
+      <circle
+         r="6.4822917"
+         cy="269.76114"
+         cx="291.30557"
+         id="circle20188"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         inkscape:transform-center-y="-35.000001" />
+      <circle
+         inkscape:transform-center-y="-17.500005"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="circle20190"
+         cx="387.29251"
+         cy="-122.02768"
+         r="6.4822917"
+         transform="rotate(60)"
+         inkscape:transform-center-x="-30.31078" />
+      <circle
+         inkscape:transform-center-x="-30.310841"
+         transform="rotate(120)"
+         r="6.4822917"
+         cy="-401.04913"
+         cx="95.986961"
+         id="circle20192"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         inkscape:transform-center-y="17.499904" />
+      <circle
+         inkscape:transform-center-y="34.999907"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="circle20194"
+         cx="-291.30557"
+         cy="-288.28195"
+         r="6.4822917"
+         transform="scale(-1)" />
+      <circle
+         transform="rotate(-120)"
+         r="6.4822917"
+         cy="103.50691"
+         cx="-387.29254"
+         id="circle20196"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         inkscape:transform-center-y="17.499875"
+         inkscape:transform-center-x="30.31079" />
+      <circle
+         inkscape:transform-center-x="30.310729"
+         inkscape:transform-center-y="-17.499975"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="circle20198"
+         cx="-95.986961"
+         cy="382.52838"
+         r="6.4822917"
+         transform="rotate(-60)" />
+      <circle
+         
style="opacity:1;vector-effect:none;fill:#f5c211;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="circle20200"
+         cx="291.30557"
+         cy="278.75696"
+         r="6.4822917" />
+    </g>
+    <g
+       id="g20218"
+       transform="matrix(2.9975921,0,0,2.9975921,-675.51244,26.649709)">
+      <circle
+         inkscape:transform-center-y="-35.000001"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="circle20204"
+         cx="291.30557"
+         cy="269.76114"
+         r="6.4822917" />
+      <circle
+         inkscape:transform-center-x="-30.31078"
+         transform="rotate(60)"
+         r="6.4822917"
+         cy="-122.02768"
+         cx="387.29251"
+         id="circle20206"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         inkscape:transform-center-y="-17.500005" />
+      <circle
+         inkscape:transform-center-y="17.499904"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="circle20208"
+         cx="95.986961"
+         cy="-401.04913"
+         r="6.4822917"
+         transform="rotate(120)"
+         inkscape:transform-center-x="-30.310841" />
+      <circle
+         transform="scale(-1)"
+         r="6.4822917"
+         cy="-288.28195"
+         cx="-291.30557"
+         id="circle20210"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         inkscape:transform-center-y="34.999907" />
+      <circle
+         inkscape:transform-center-x="30.31079"
+         inkscape:transform-center-y="17.499875"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="circle20212"
+         cx="-387.29254"
+         cy="103.50691"
+         r="6.4822917"
+         transform="rotate(-120)" />
+      <circle
+         transform="rotate(-60)"
+         r="6.4822917"
+         cy="382.52838"
+         cx="-95.986961"
+         id="circle20214"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         inkscape:transform-center-y="-17.499975"
+         inkscape:transform-center-x="30.310729" />
+      <circle
+         r="6.4822917"
+         cy="278.75696"
+         cx="291.30557"
+         id="circle20216"
+         
style="opacity:1;vector-effect:none;fill:#f5c211;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+    </g>
+    <g
+       id="g20606"
+       transform="matrix(8.6012342,0,0,8.6012342,-1511.747,-1648.5553)">
+      <rect
+         ry="0.9921875"
+         rx="0.9921875"
+         y="300.39236"
+         x="210.76886"
+         height="6.9453125"
+         width="20.042189"
+         id="rect20220"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <path
+         inkscape:connector-curvature="0"
+         id="path20222"
+         transform="matrix(0.26458334,0,0,0.26458334,-92.226204,169.62204)"
+         d="m 1182.8496,396.86133 a 10.000999,10.000999 0 0 0 -9.8457,10.13476 v 49.28125 l 
-13.0586,-12.04687 a 10.001582,10.001582 0 1 0 -13.5605,14.70508 l 36.6132,33.77929 36.6153,-33.77929 a 
10.000999,10.000999 0 0 0 -6.5703,-17.45117 10.000999,10.000999 0 0 0 -6.9903,2.74609 L 1193,456.27148 v 
-49.27539 a 10.000999,10.000999 0 0 0 -10.1504,-10.13476 z"
+         
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;strok
 e-width:
 
20;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+      <rect
+         ry="0.49609375"
+         rx="0.49609375"
+         y="301.19153"
+         x="211.52028"
+         height="5.238483"
+         width="13.330069"
+         id="rect20253"
+         
style="opacity:1;vector-effect:none;fill:#1c71d8;fill-opacity:1;stroke:none;stroke-width:0.5291667;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+    </g>
+  </g>
+</svg>
diff --git a/data/welcome-tutorial/express-install.svg b/data/welcome-tutorial/express-install.svg
new file mode 100644
index 00000000..c9824431
--- /dev/null
+++ b/data/welcome-tutorial/express-install.svg
@@ -0,0 +1,310 @@
+<?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="800"
+   height="600"
+   viewBox="0 0 800 600.00002"
+   version="1.1"
+   id="svg1707"
+   inkscape:version="0.92.4 5da689c313, 2019-01-14"
+   sodipodi:docname="quick-install.svg">
+  <defs
+     id="defs1701">
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath11821">
+      <rect
+         y="-162.03279"
+         x="896.33704"
+         height="408.8541"
+         width="439.22842"
+         id="rect11823"
+         
style="opacity:1;vector-effect:none;fill:#e7d5c7;fill-opacity:1;stroke:none;stroke-width:8.51448345;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+    </clipPath>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="-96.714286"
+     inkscape:cy="335.14286"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     units="px"
+     inkscape:pagecheckerboard="true"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-width="3440"
+     inkscape:window-height="1376"
+     inkscape:window-x="0"
+     inkscape:window-y="639"
+     inkscape:window-maximized="1">
+    <sodipodi:guide
+       position="237,566.00002"
+       orientation="0,1"
+       id="guide2926"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="394,30.000001"
+       orientation="0,1"
+       id="guide2928"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="34,372.00001"
+       orientation="1,0"
+       id="guide2930"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="768,281.00001"
+       orientation="1,0"
+       id="guide2932"
+       inkscape:locked="false" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata1704">
+    <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:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-522.51965)">
+    <path
+       id="path20640"
+       
style="fill:none;stroke:#2ec27e;stroke-width:39.55816269;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 49.804987,916.37548 h -1.54212 m 154.687953,0 h -53.98936 m 257.48469,0 H 283.22632 M 
128.82547,826.86561 h -1.54231 m 135.10797,0 H 191.6187 m 366.57477,0 H 334.27509 M 88.266194,733.85924 h 
-1.542079 m 124.618165,0 h -23.91953 m 416.2249,0 h -320.4214"
+       inkscape:connector-curvature="0" />
+    <g
+       transform="matrix(1.1621954,0,0,1.1621954,-222.7544,385.54285)"
+       id="g1146">
+      <circle
+         
style="opacity:1;vector-effect:none;fill:#63452c;fill-opacity:1;stroke:none;stroke-width:31.23349571;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="circle20285-3"
+         cx="760.58972"
+         cy="270.26196"
+         r="16.397585" />
+      <g
+         transform="matrix(7.0828714,0,0,7.0828714,-2284.0738,-1604.3872)"
+         id="g20334-6">
+        <circle
+           
style="opacity:1;vector-effect:none;fill:#f6f5f4;fill-opacity:1;stroke:none;stroke-width:5.29166698;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+           id="path20329-7"
+           cx="436.72025"
+           cy="303.10919"
+           r="5.3787994" />
+        <circle
+           r="3.5079126"
+           cy="303.10919"
+           cx="436.72025"
+           id="circle20338-5"
+           
style="opacity:1;vector-effect:none;fill:#9a9996;fill-opacity:1;stroke:none;stroke-width:3.45108724;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+        <circle
+           
style="opacity:1;vector-effect:none;fill:#3d3846;fill-opacity:1;stroke:none;stroke-width:1.28840601;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+           id="circle20340-3"
+           cx="436.72025"
+           cy="303.10919"
+           r="1.3096209" />
+      </g>
+      <path
+         inkscape:connector-curvature="0"
+         id="path20378-5"
+         d="m 801.54017,513.67488 7.95066,28.8214"
+         
style="fill:none;stroke:#e5a50a;stroke-width:7.49603939;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path20380-6"
+         d="m 816.90079,529.12928 -7.92672,13.46907"
+         
style="fill:#9a9996;stroke:#c0bfbc;stroke-width:11.24405861;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         id="path20308-2"
+         d="m 813.57043,498.03448 c -23.92878,-3.87738 -47.5323,8.56185 -57.85998,30.49261 l 
92.16586,0.17566 c 2.9418,0.16998 4.98904,-2.3972 3.35778,-5.22256 -8.18128,-13.49131 -21.90116,-22.85621 
-37.66366,-25.44366 z"
+         
style="opacity:1;vector-effect:none;fill:#f5c211;fill-opacity:1;stroke:none;stroke-width:37.48020172;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-x="2.4295648"
+         inkscape:transform-center-y="-44.219644"
+         sodipodi:nodetypes="cccccc" />
+      <path
+         sodipodi:nodetypes="ccccc"
+         inkscape:connector-curvature="0"
+         id="path20376-9"
+         d="m 679.62865,505.06147 c 5.47577,26.17524 17.30884,36.12717 29.15275,41.41015 l -45.71689,0.66224 
-2.31893,-35.44708 z"
+         
style="fill:#e5a50a;fill-opacity:1;stroke:none;stroke-width:1.87400985px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+      <path
+         inkscape:connector-curvature="0"
+         id="rect20296-1"
+         d="m 633.2998,452.04086 c -19.0634,0 -34.40943,13.37296 -34.40943,29.98413 h -2.24733 c -5.20754,0 
-9.39932,4.19193 -9.39932,9.39933 v 6.96898 c 0,5.20747 4.19178,9.39932 9.39932,9.39932 h 15.87059 c 
0.87084,0 1.69692,-0.1537 2.49622,-0.37327 5.2965,2.89499 11.55046,4.58992 18.28995,4.58992 h 30.5514 c 
19.06334,0 34.41298,-13.37296 34.41298,-29.9842 0,-16.61118 -15.34964,-29.98414 -34.41298,-29.98414 z"
+         
style="opacity:1;vector-effect:none;fill:#63452c;fill-opacity:1;stroke:none;stroke-width:34.43283844;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;opacity:0.51464431;fill:none;stroke:none;stroke-width:5.6220293;marker:none;enable-background:accumulate"
+         id="rect1555-2"
+         width="239.87323"
+         height="239.87323"
+         x="574.59412"
+         y="382.11548" />
+      <ellipse
+         ry="10.397467"
+         rx="10.775557"
+         cy="498.04434"
+         cx="589.58618"
+         id="path20298-7"
+         
style="opacity:1;vector-effect:none;fill:#e01b24;fill-opacity:1;stroke:none;stroke-width:30.24717712;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <path
+         
style="fill:none;stroke:#63452c;stroke-width:37.48019409;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 737.55266,519.54254 -15.38024,-54.38363 -59.96827,-20.1456"
+         id="path20273-0"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccc" />
+      <circle
+         r="19.677103"
+         cy="252.92723"
+         cx="715.14484"
+         id="path20283-9"
+         
style="opacity:1;vector-effect:none;fill:#63452c;fill-opacity:1;stroke:none;stroke-width:37.48019791;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <path
+         sodipodi:nodetypes="sccss"
+         inkscape:connector-curvature="0"
+         id="rect20289-3"
+         d="m 629.40897,446.88729 c -16.4023,0 -30.22176,10.57686 -35.10469,25.29917 H 719.3285 c 
-4.88293,-14.72231 -18.70246,-25.29917 -35.10469,-25.29917 z"
+         
style="opacity:1;vector-effect:none;fill:#77767b;fill-opacity:1;stroke:none;stroke-width:37.48019791;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <path
+         sodipodi:nodetypes="ccc"
+         
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#63452c;stroke-width:28.11014557;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 702.02682,373.33238 c 0,0 3.9754,26.22235 17.56198,32.31291 13.58657,6.09049 36.81761,4.68504 
36.81761,4.68504"
+         id="path20360-6"
+         inkscape:connector-curvature="0" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path20267-0"
+         d="M 728.26298,292.28153 659.86163,431.89526"
+         
style="fill:none;stroke:#865e3c;stroke-width:93.70048523;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path20269-6"
+         d="M 747.94004,337.25776 735.37085,362.3863"
+         
style="fill:#deddda;stroke:#deddda;stroke-width:37.48019409;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="ccc"
+         inkscape:connector-curvature="0"
+         id="path20271-2"
+         d="m 719.22417,527.56396 -5.0163,-55.3775 -64.6533,-14.99203"
+         
style="fill:none;stroke:#865e3c;stroke-width:37.48019409;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <circle
+         r="5.8562803"
+         cy="293.92133"
+         cx="741.84955"
+         id="path20275-6"
+         
style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:31.23349571;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <circle
+         
style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:28.73481941;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="circle20277-1"
+         cx="759.4184"
+         cy="300.71457"
+         r="5.3877783" />
+      <circle
+         r="10.775557"
+         cy="328.35608"
+         cx="755.90466"
+         id="circle20279-8"
+         
style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:57.46963882;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <path
+         sodipodi:nodetypes="cssscsscssccccccc"
+         inkscape:connector-curvature="0"
+         id="path20313-7"
+         d="m 774.31305,411.28113 c -20.05289,0 -27.77846,16.25604 -27.77846,36.30893 0,8.60526 
12.69527,43.41594 13.84779,46.60819 9.68505,26.82468 -12.85725,50.85863 -38.3167,50.85863 -25.36157,0 
-41.70466,-1.31167 -67.05008,-2.18513 -5.20449,-0.1792 -10.33645,5.10087 -10.33645,8.81739 0,3.71646 
5.07197,1.5554 10.27965,1.5554 h 70.05392 c 3.87823,0.27552 8.20494,0 13.32302,0 25.41009,0 55.5176,-17.77284 
55.5176,-46.62314 0,-8.03779 -1.98951,-15.96522 -5.78677,-23.16524 l -18.69928,-30.77394 c -1.54067,-2.91064 
0.48659,-4.45265 1.64592,-4.45265 l 20.96643,0.17211 -0.16503,-37.14916 c 0,0 -14.4162,0.0425 
-17.50064,0.0283 z"
+         
style="opacity:1;vector-effect:none;fill:#f5c211;fill-opacity:1;stroke:none;stroke-width:37.48020172;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <use
+         height="100%"
+         width="100%"
+         transform="translate(-186.67699,-3.1350614e-5)"
+         id="use20336-9"
+         xlink:href="#g20334-6"
+         y="0"
+         x="0" />
+      <path
+         
style="fill:#5e5c64;fill-opacity:1;stroke:none;stroke-width:1.70187485px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 619.46159,533.93633 c -6.12074,-6.1e-4 -11.08273,4.96139 -11.0821,11.08213 10e-4,6.11944 
4.96266,11.07941 11.0821,11.0788 l 0.78771,0.0131 37.7974,-0.0752 c 1.72242,-3.63051 2.89243,-8.70378 
3.83548,-12.2233 0,0 -18.15713,-0.015 -31.44162,-0.17616 -0.6957,-5.53618 -5.39926,-9.69153 
-10.97897,-9.69936 z"
+         id="path2273"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccccccc" />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#e5a50a;fill-opacity:1;stroke:none;stroke-width:16.95569992;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect20413-2"
+         width="54.992687"
+         height="29.152748"
+         x="587.20117"
+         y="481.54089"
+         rx="9.0685244"
+         ry="10.93192" />
+      <circle
+         
style="opacity:1;vector-effect:none;fill:#9a9996;fill-opacity:1;stroke:none;stroke-width:7.3497448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="circle20340-3-2"
+         cx="621.33466"
+         cy="544.80865"
+         r="7.4707661" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path20303-0"
+         d="m 630.32762,481.71391 a 54.511556,73.474606 35.720384 0 0 -52.36976,27.99668 54.511556,73.474606 
35.720384 0 0 -19.54164,34.15673 h 117.98201 a 54.511556,73.474606 35.720384 0 0 -11.89186,-49.45261 
54.511556,73.474606 35.720384 0 0 -34.17875,-12.7008 z"
+         
style="opacity:1;vector-effect:none;fill:#f5c211;fill-opacity:1;stroke:none;stroke-width:35.14745712;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         ry="0"
+         rx="0"
+         y="411.2811"
+         x="774.17621"
+         height="37.011692"
+         width="17.803093"
+         id="rect20318-2"
+         
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:37.48019791;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:23.77968788;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect20342-3"
+         width="17.803093"
+         height="14.89867"
+         x="774.17621"
+         y="433.3941"
+         rx="0"
+         ry="0" />
+      <path
+         sodipodi:nodetypes="ccc"
+         inkscape:connector-curvature="0"
+         id="path20344-7"
+         d="m 689.84577,379.42294 c 0,0 7.95073,24.23469 21.53731,30.32525 13.58658,6.09049 37.48022,5.34757 
37.48022,5.34757"
+         
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#986a44;stroke-width:28.11014557;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0"
+         id="path20430-5"
+         d="m 718.32536,354.57127 c 5.47647,6.72519 25.192,16.6711 31.36855,15.48904 -8.06329,-0.86574 
-25.12784,-11.17472 -29.79984,-18.64807 z"
+         
style="fill:#c0bfbc;fill-opacity:1;stroke:none;stroke-width:1.87400985px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+      <path
+         inkscape:connector-curvature="0"
+         id="path20598-9"
+         d="m 703.49504,450.47058 -39.39077,-9.33538 41.89546,4.78155 z"
+         
style="fill:#63452c;fill-opacity:0.34645673;stroke:none;stroke-width:1.28802121px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+    </g>
+  </g>
+</svg>
diff --git a/data/welcome-tutorial/welcome.svg b/data/welcome-tutorial/welcome.svg
new file mode 100644
index 00000000..7b4d1312
--- /dev/null
+++ b/data/welcome-tutorial/welcome.svg
@@ -0,0 +1,1373 @@
+<?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="800"
+   height="600"
+   viewBox="0 0 800 600.00002"
+   version="1.1"
+   id="svg1707"
+   inkscape:version="0.92.4 5da689c313, 2019-01-14"
+   sodipodi:docname="welcome.svg">
+  <defs
+     id="defs1701">
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1246"
+       id="radialGradient1596"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.4438628,0,0,3.4438628,-409.97856,-507.0153)"
+       cx="134.19965"
+       cy="222.98792"
+       fx="134.19965"
+       fy="222.98792"
+       r="2" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1246">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop1240" />
+      <stop
+         id="stop1242"
+         offset="0.39999995"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         style="stop-color:#f6f5f4;stop-opacity:1"
+         offset="1"
+         id="stop1244" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1246"
+       id="radialGradient1598"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.4438628,0,0,3.4438628,-409.97856,-456.5053)"
+       cx="134.19965"
+       cy="222.98792"
+       fx="134.19965"
+       fy="222.98792"
+       r="2" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1246"
+       id="radialGradient1600"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.2959085,0,0,2.2959085,-269.69895,-213.1529)"
+       cx="134.19965"
+       cy="222.98792"
+       fx="134.19965"
+       fy="222.98792"
+       r="2" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1246"
+       id="radialGradient1602"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.2959085,0,0,2.2959085,-269.69895,-236.112)"
+       cx="134.19965"
+       cy="222.98792"
+       fx="134.19965"
+       fy="222.98792"
+       r="2" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1246"
+       id="radialGradient1604"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.4438628,0,0,3.4438628,-460.48854,-507.0153)"
+       cx="134.19965"
+       cy="222.98792"
+       fx="134.19965"
+       fy="222.98792"
+       r="2" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1246"
+       id="radialGradient1606"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.4438628,0,0,3.4438628,-460.48854,-456.5053)"
+       cx="134.19965"
+       cy="222.98792"
+       fx="134.19965"
+       fy="222.98792"
+       r="2" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1246"
+       id="radialGradient1608"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.2959085,0,0,2.2959085,-292.65804,-236.112)"
+       cx="134.19965"
+       cy="222.98792"
+       fx="134.19965"
+       fy="222.98792"
+       r="2" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1246"
+       id="radialGradient1610"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.2959085,0,0,2.2959085,-292.65804,-213.1529)"
+       cx="134.19965"
+       cy="222.98792"
+       fx="134.19965"
+       fy="222.98792"
+       r="2" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath11821">
+      <rect
+         y="-162.03279"
+         x="896.33704"
+         height="408.8541"
+         width="439.22842"
+         id="rect11823"
+         
style="opacity:1;vector-effect:none;fill:#e7d5c7;fill-opacity:1;stroke:none;stroke-width:8.51448345;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1880"
+       id="linearGradient11782"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3,0,0,1,-19.2,-4)"
+       x1="64"
+       y1="254"
+       x2="64"
+       y2="292" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1880">
+      <stop
+         style="stop-color:#cdab8f;stop-opacity:1;"
+         offset="0"
+         id="stop1876" />
+      <stop
+         style="stop-color:#d3b69d;stop-opacity:1"
+         offset="1"
+         id="stop1878" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1888"
+       id="linearGradient9592"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3,0,0,0.83333333,-19.2,34)"
+       x1="63.999992"
+       y1="180"
+       x2="63.999992"
+       y2="250" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1888">
+      <stop
+         style="stop-color:#e3cfbf;stop-opacity:1;"
+         offset="0"
+         id="stop1884" />
+      <stop
+         style="stop-color:#e7d5c7;stop-opacity:1"
+         offset="1"
+         id="stop1886" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1880"
+       id="linearGradient2916"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3,0,0,1,-19.2,-4)"
+       x1="64"
+       y1="254"
+       x2="64"
+       y2="292" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1888"
+       id="linearGradient2918"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3,0,0,0.83333333,-19.2,34)"
+       x1="63.999992"
+       y1="180"
+       x2="63.999992"
+       y2="250" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1880"
+       id="linearGradient2920"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3,0,0,1,-19.2,-4)"
+       x1="64"
+       y1="254"
+       x2="64"
+       y2="292" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1888"
+       id="linearGradient2922"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3,0,0,0.83333333,-19.2,34)"
+       x1="63.999992"
+       y1="180"
+       x2="63.999992"
+       y2="250" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1880"
+       id="linearGradient2924"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3,0,0,1,-19.2,-4)"
+       x1="64"
+       y1="254"
+       x2="64"
+       y2="292" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="-96.714286"
+     inkscape:cy="335.14286"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     units="px"
+     inkscape:pagecheckerboard="true"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-width="3440"
+     inkscape:window-height="1376"
+     inkscape:window-x="0"
+     inkscape:window-y="639"
+     inkscape:window-maximized="1">
+    <sodipodi:guide
+       position="237,566.00002"
+       orientation="0,1"
+       id="guide2926"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="394,30.000001"
+       orientation="0,1"
+       id="guide2928"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="34,372.00001"
+       orientation="1,0"
+       id="guide2930"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="768,281.00001"
+       orientation="1,0"
+       id="guide2932"
+       inkscape:locked="false" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata1704">
+    <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:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-522.51965)">
+    <rect
+       
style="display:inline;opacity:1;vector-effect:none;fill:#000000;fill-opacity:0.10236224;stroke:none;stroke-width:2.56674933;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+       id="rect1196-4"
+       width="96.515625"
+       height="63.106373"
+       x="59.569546"
+       y="634.25806" />
+    <g
+       id="g9560"
+       transform="matrix(0.92803484,0,0,0.92803484,48.433114,426.37836)">
+      <rect
+         y="212"
+         x="12"
+         height="76"
+         width="104"
+         id="rect1194"
+         
style="display:inline;opacity:1;fill:url(#linearGradient2916);fill-opacity:1;stroke:none;stroke-width:32;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:4,
 2;stroke-dashoffset:0;stroke-opacity:1;enable-background:new" />
+      <rect
+         y="184"
+         x="12"
+         height="68"
+         width="104"
+         id="rect1196"
+         
style="display:inline;opacity:1;fill:url(#linearGradient2918);fill-opacity:1;stroke:none;stroke-width:32;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:4,
 2;stroke-dashoffset:0;stroke-opacity:1;enable-background:new" />
+      <rect
+         
style="display:inline;opacity:0.05;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+         id="rect1198"
+         width="104"
+         height="2"
+         x="12"
+         y="252" />
+      <rect
+         
style="opacity:0.2;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect1229"
+         width="2"
+         height="68"
+         x="14"
+         y="184" />
+      <rect
+         
style="display:inline;opacity:0.2;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+         id="rect1231"
+         width="2"
+         height="68"
+         x="112"
+         y="184" />
+    </g>
+    <rect
+       y="634.25806"
+       x="161.65332"
+       height="63.106373"
+       width="96.515625"
+       id="rect9719"
+       
style="display:inline;opacity:1;vector-effect:none;fill:#000000;fill-opacity:0.10236224;stroke:none;stroke-width:2.56674933;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+    <g
+       id="g9572"
+       transform="matrix(0.92803484,0,0,0.92803484,150.51694,426.37836)">
+      <rect
+         
style="display:inline;opacity:1;fill:url(#linearGradient2920);fill-opacity:1;stroke:none;stroke-width:32;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:4,
 2;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+         id="rect9562"
+         width="104"
+         height="76"
+         x="12"
+         y="212" />
+      <rect
+         
style="display:inline;opacity:1;fill:url(#linearGradient2922);fill-opacity:1;stroke:none;stroke-width:32;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:4,
 2;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+         id="rect9564"
+         width="104"
+         height="68"
+         x="12"
+         y="184" />
+      <rect
+         y="252"
+         x="12"
+         height="2"
+         width="104"
+         id="rect9566"
+         
style="display:inline;opacity:0.05;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+      <rect
+         y="184"
+         x="14"
+         height="68"
+         width="2"
+         id="rect9568"
+         
style="opacity:0.2;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         y="184"
+         x="112"
+         height="68"
+         width="2"
+         id="rect9570"
+         
style="display:inline;opacity:0.2;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+    </g>
+    <rect
+       
style="opacity:1;vector-effect:none;fill:#9a9996;fill-opacity:1;stroke:none;stroke-width:12.26969051;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+       id="rect11917"
+       width="6.0609894"
+       height="96.51561"
+       x="623.12146"
+       y="-156.0851"
+       transform="rotate(90)" />
+    <rect
+       
style="opacity:1;vector-effect:none;fill:#9a9996;fill-opacity:1;stroke:none;stroke-width:9.91459942;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+       id="rect11909"
+       width="6.0609894"
+       height="63.020332"
+       x="630.20416"
+       y="-215.37425"
+       transform="rotate(90)" />
+    <rect
+       
style="opacity:1;vector-effect:none;fill:#77767b;fill-opacity:1;stroke:none;stroke-width:7.21087408;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+       id="rect11919"
+       width="6.0609894"
+       height="33.335442"
+       x="104.7968"
+       y="660.2428" />
+    <g
+       id="g22849"
+       transform="matrix(1.6261435,0,0,1.6261435,-117.16115,-371.5263)">
+      <path
+         
style="display:inline;opacity:1;vector-effect:none;fill:#000000;fill-opacity:0.10236224;stroke:none;stroke-width:1.2606833;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+         d="m 130.45079,595.68113 h 37.86182 v 38.80738 h -35.23879 l -2.62303,-2.24423 z"
+         id="rect9721"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccc" />
+      <path
+         
style="display:inline;opacity:1;vector-effect:none;fill:#000000;fill-opacity:0.10236224;stroke:none;stroke-width:1.11242795;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+         d="m 171.7368,595.68113 h 18.35181 l 11.12859,12.12583 v 26.68155 h -29.4804 z"
+         id="rect9723"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccc" />
+    </g>
+    <rect
+       y="597.22272"
+       x="104.7968"
+       height="63.020332"
+       width="6.0609894"
+       id="rect11921"
+       
style="opacity:1;vector-effect:none;fill:#9a9996;fill-opacity:1;stroke:none;stroke-width:9.91459942;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+    <g
+       transform="matrix(0.92803484,0,0,0.92803484,83.379991,389.2569)"
+       id="g9588">
+      <rect
+         
style="display:inline;opacity:1;fill:url(#linearGradient2924);fill-opacity:1;stroke:none;stroke-width:32;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:4,
 2;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+         id="rect9578"
+         width="104"
+         height="76"
+         x="12"
+         y="212" />
+      <rect
+         
style="display:inline;opacity:1;fill:url(#linearGradient9592);fill-opacity:1;stroke:none;stroke-width:32;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:4,
 2;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+         id="rect9580"
+         width="104"
+         height="68"
+         x="12"
+         y="184" />
+      <rect
+         y="252"
+         x="12"
+         height="2"
+         width="104"
+         id="rect9582"
+         
style="display:inline;opacity:0.05;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+      <rect
+         y="184"
+         x="14"
+         height="68"
+         width="2"
+         id="rect9584"
+         
style="opacity:0.2;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         y="184"
+         x="112"
+         height="68"
+         width="2"
+         id="rect9586"
+         
style="display:inline;opacity:0.2;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+    </g>
+    <g
+       id="g11780"
+       transform="matrix(2.1054676,0,0,2.1054676,69.786448,396.73431)">
+      <rect
+         y="212"
+         x="12"
+         height="76"
+         width="104"
+         id="rect11770"
+         
style="display:inline;opacity:1;fill:url(#linearGradient11782);fill-opacity:1;stroke:none;stroke-width:32;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:4,
 2;stroke-dashoffset:0;stroke-opacity:1;enable-background:new" />
+      <rect
+         y="184"
+         x="12"
+         height="67.820068"
+         width="104"
+         id="rect11772"
+         
style="display:inline;opacity:1;fill:#ac815b;fill-opacity:1;stroke:none;stroke-width:31.95763588;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:3.99470439,
 1.99735219;stroke-dashoffset:0;stroke-opacity:1;enable-background:new" />
+      <rect
+         
style="display:inline;opacity:0.21100003;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+         id="rect11774"
+         width="104"
+         height="2"
+         x="12"
+         y="251.82007" />
+    </g>
+    <path
+       
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.74359721;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+       d="m 204.62056,949.4814 c -7.87602,0.005 -15.37904,5.34854 -18.29004,12.61356 -2.66049,0.49909 
-5.175,1.78236 -7.09051,3.69779 -2.49269,2.49279 -3.9441,5.99612 -3.9441,9.52129 a 3.7868767,3.7868767 0 0 0 
0,0.002 c 0.002,2.64461 0.80586,5.28329 2.27739,7.48075 a 3.7868767,3.7868767 0 0 0 3.14593,1.67986 h 
49.40478 a 3.7868767,3.7868767 0 0 0 3.78183,-3.97934 c -0.34093,-6.68833 -4.43051,-12.99846 
-10.27373,-16.22907 -0.99493,-3.85145 -3.16178,-7.40017 -6.17263,-10.00332 -3.5274,-3.04957 -8.16916,-4.78028 
-12.83209,-4.78479 a 3.7868767,3.7868767 0 0 0 -0.005,0 z"
+       id="path9729"
+       inkscape:connector-curvature="0" />
+    <path
+       
style="fill:#e7d5c7;fill-opacity:1;stroke:none;stroke-width:1.27307332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 313.72807,928.45921 V 784.42742 l 53.81426,31.06976 v 139.51783 z"
+       id="path11788"
+       inkscape:connector-curvature="0" />
+    <path
+       
style="fill:none;stroke:#ffffff;stroke-width:5.09229326;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 316.73035,826.75523 h 105.94358 c 2.43847,0 4.81379,2.66552 4.81379,5.13215 v 139.01757 c 
0,2.70288 -1.57239,4.72599 -4.27298,4.72599 h -19.46681 c -3.03814,0 -5.46697,-2.35496 -5.46697,-5.51371 V 
807.89782 c 0,-3.50179 2.30744,-6.60402 5.96753,-6.60402 h 44.88149"
+       id="path11845"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccccc" />
+    <g
+       transform="matrix(1.2730734,0,0,1.2730734,61.91826,-13.281635)"
+       id="g11843">
+      <rect
+         ry="8.736165"
+         rx="8.736165"
+         y="629.22852"
+         x="298.92413"
+         height="25"
+         width="27.569735"
+         id="rect11839"
+         
style="display:inline;opacity:1;vector-effect:none;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:5.1656599;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="display:inline;opacity:1;vector-effect:none;fill:#f6f5f4;fill-opacity:1;stroke:none;stroke-width:5.1656599;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect11841"
+         width="27.569735"
+         height="25"
+         x="298.92413"
+         y="624.22852"
+         rx="8.736165"
+         ry="8.736165" />
+    </g>
+    <rect
+       
style="opacity:1;vector-effect:none;fill:#7d5738;fill-opacity:1;stroke:none;stroke-width:3.29096723;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+       id="rect11786"
+       width="219.05917"
+       height="83.132874"
+       x="95.119003"
+       y="784.8775" />
+    <g
+       id="g11837"
+       transform="matrix(1.2730734,0,0,1.2730734,-91.926217,13.872992)">
+      <rect
+         
style="display:inline;opacity:1;vector-effect:none;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:5.1656599;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect15398-7"
+         width="27.569735"
+         height="25"
+         x="298.92413"
+         y="629.22852"
+         rx="8.736165"
+         ry="8.736165" />
+      <rect
+         ry="8.736165"
+         rx="8.736165"
+         y="624.22852"
+         x="298.92413"
+         height="25"
+         width="27.569735"
+         id="rect15396-4"
+         
style="display:inline;opacity:1;vector-effect:none;fill:#f6f5f4;fill-opacity:1;stroke:none;stroke-width:5.1656599;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+    </g>
+    <g
+       id="g19308"
+       style="display:inline;enable-background:new"
+       transform="matrix(0.5011028,0,0,0.5011028,-354.62739,803.22487)"
+       clip-path="url(#clipPath11821)">
+      <path
+         d="m 1084,61.125 a 27.159795,27.159795 0 0 0 -27.0625,24.900391 l -16,191.999999 A 
27.159795,27.159795 0 0 0 1068,307.4375 h 48 48 a 27.159795,27.159795 0 0 0 27.0625,-29.41211 l 
-16,-191.999999 A 27.159795,27.159795 0 0 0 1148,61.125 h -32 z"
+         id="path29460"
+         
style="display:inline;opacity:1;vector-effect:none;fill:#000000;fill-opacity:0.10236224;stroke:none;stroke-width:4.22337914;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+         inkscape:original="M 1084 88.28125 L 1068 280.28125 L 1116 280.28125 L 1164 280.28125 L 1148 
88.28125 L 1116 88.28125 L 1084 88.28125 z "
+         inkscape:radius="27.15708"
+         sodipodi:type="inkscape:offset"
+         transform="translate(9.7491976e-6,-31.076419)" />
+      <path
+         transform="translate(9.7491976e-6,-35.56762)"
+         sodipodi:type="inkscape:offset"
+         inkscape:radius="27.15708"
+         inkscape:original="M 1084 88.28125 L 1068 280.28125 L 1116 280.28125 L 1164 280.28125 L 1148 
88.28125 L 1116 88.28125 L 1084 88.28125 z "
+         
style="display:inline;opacity:1;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:20;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+         id="rect2101"
+         d="m 1084,61.125 a 27.159795,27.159795 0 0 0 -27.0625,24.900391 l -16,191.999999 A 
27.159795,27.159795 0 0 0 1068,307.4375 h 48 48 a 27.159795,27.159795 0 0 0 27.0625,-29.41211 l 
-16,-191.999999 A 27.159795,27.159795 0 0 0 1148,61.125 h -32 z" />
+      <rect
+         
style="display:inline;opacity:1;fill:#f6f5f4;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+         id="rect1052"
+         width="416"
+         height="352"
+         x="908"
+         y="-139.56761"
+         rx="32"
+         ry="32" />
+      <path
+         sodipodi:nodetypes="sssccss"
+         inkscape:connector-curvature="0"
+         id="rect2825"
+         d="m 936.07327,-140.26855 h 359.85353 c 16.0284,0 28.9323,12.90384 28.9323,28.93237 V 154.07366 H 
907.14091 v -265.40984 c 0,-16.02853 12.90383,-28.93237 28.93236,-28.93237 z"
+         
style="display:inline;opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:0.04937615px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+      <rect
+         ry="7.8596497"
+         rx="7.8596497"
+         y="-125.67307"
+         x="921.75439"
+         height="267.78949"
+         width="388.49121"
+         id="rect968"
+         
style="display:inline;opacity:1;vector-effect:none;fill:#62a0ea;fill-opacity:1;stroke:none;stroke-width:6.83635712;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+    </g>
+    <path
+       inkscape:connector-curvature="0"
+       id="path11790"
+       d="M 95.104639,928.45921 V 784.42742 L 41.29035,815.49718 v 139.51783 z"
+       
style="fill:#e7d5c7;fill-opacity:1;stroke:none;stroke-width:1.27307332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+    <g
+       style="display:inline;enable-background:new"
+       id="g1179"
+       transform="matrix(0.7195214,0.7195214,-0.7195214,0.7195214,498.79087,412.87553)">
+      <path
+         
style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:0.10236224;fill-rule:evenodd;stroke:none;stroke-width:4.15049124;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         d="m 69.202403,198.09172 c -2.25097,2.1168 -4.369863,6.10177 -4.369831,13.60191 l -0.0149,34.49994 
-10.178493,10.17849 c -0.400227,-0.0954 -0.858822,-0.0856 -1.343179,0.1576 l -12.124649,6.0886 c 
-4.633632,-2.88859 -10.848475,-2.32767 -14.864321,1.68818 -4.671489,4.67149 -4.672268,12.32091 
-7.83e-4,16.99239 4.671483,4.67149 12.321684,4.67149 16.993171,0 0.01446,-0.0145 0.02797,-0.0294 
0.04234,-0.0439 l 0.0055,0.0447 15.555904,-15.5559 0.01725,0.0173 5.891781,-5.89649 -0.0039,7.82931 
0.02431,-7.8e-4 7.83e-4,21.9997 0.0345,-0.0282 c -1e-4,0.0205 -8.31e-4,0.0399 -7.83e-4,0.0604 0,6.60649 
5.409965,12.01645 12.016442,12.01644 6.606478,1e-5 12.014086,-5.40917 12.01409,-12.01565 -4e-6,-5.67926 
-3.997747,-10.47123 -9.316761,-11.70515 l -4.268686,-12.87818 c -0.170506,-0.51448 -0.487762,-0.84533 
-0.838215,-1.0609 l 4e-6,-13.88811 24.027397,-24.04778 c 11.313716,-11.31372 4.496076,-18.13169 
4.496076,-18.13169 l -28.523473,28.52346 7.83e-4,-40.84492 c 0,0 -2.72124,3.3e-4 -5.27
 2336,2.3
 9936 z m -39.359831,69.75026 c 2.760744,-2.76075 7.160569,-2.76152 9.921308,-7.8e-4 2.760744,2.76073 
2.760744,7.16134 0,9.92209 -2.760739,2.76074 -7.161351,2.76074 -9.922091,0 -2.760743,-2.76074 
-2.759957,-7.16057 7.83e-4,-9.92131 z m 42.068136,16.91084 c 1.265961,-1.26596 3.019884,-2.04417 
4.972022,-2.04417 3.904278,1e-5 7.015419,3.1127 7.015411,7.01698 0,3.90426 -3.111125,7.01542 
-7.015407,7.01541 -3.904279,10e-6 -7.016191,-3.11193 -7.016195,-7.0162 4e-6,-1.95214 0.778212,-3.70606 
2.044169,-4.97202 z"
+         id="path15618"
+         inkscape:connector-curvature="0" />
+      <g
+         id="g1200"
+         inkscape:transform-center-x="-0.96446621"
+         inkscape:transform-center-y="10.156852"
+         transform="translate(7.9947119,-21.03751)"
+         style="display:inline;enable-background:new">
+        <path
+           sodipodi:nodetypes="ccccscccc"
+           inkscape:connector-curvature="0"
+           id="path1186"
+           d="m 58,290 h 6 v -72 l -1.414214,-1.41421 C 62.585786,216.58579 56,221.64656 56,234 l 
0.0053,27.18969 0.09677,2.72237 L 58,266 Z"
+           
style="fill:#9a9996;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+        <g
+           transform="translate(2)"
+           id="g1194" />
+      </g>
+      <use
+         height="100%"
+         width="100%"
+         transform="matrix(-0.70710678,-0.70710678,-0.70710678,0.70710678,292.42443,120.74209)"
+         id="use1074"
+         inkscape:transform-center-y="-8.6421382"
+         inkscape:transform-center-x="0.30594236"
+         xlink:href="#g1059"
+         y="0"
+         x="0"
+         style="display:inline;enable-background:new" />
+      <g
+         id="g1180"
+         inkscape:transform-center-x="-6.5"
+         inkscape:transform-center-y="-7.5"
+         transform="matrix(-0.70710678,-0.70710678,-0.70710678,0.70710678,302.73447,101.58204)"
+         style="display:inline;enable-background:new">
+        <g
+           transform="translate(2)"
+           id="g1174" />
+      </g>
+      <g
+         transform="matrix(-0.70710678,-0.70710678,-0.70710678,0.70710678,302.75946,99.477469)"
+         inkscape:transform-center-y="-7.5"
+         inkscape:transform-center-x="-6.5"
+         id="g1059"
+         style="display:inline;enable-background:new">
+        <path
+           
style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           d="m 55.975259,290 h 9.666423 v -72 c 0,0 -9.641682,-1e-5 -9.641682,16 z"
+           id="path1039-3"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccccc" />
+        <g
+           id="g1052"
+           transform="translate(2)">
+          <path
+             sodipodi:nodetypes="ccccccc"
+             inkscape:connector-curvature="0"
+             id="path1047"
+             d="m 54,312 v -24 c 0,-2 2,-2 2,-2 h 6.037213 c 0,0 1.917797,-0.13576 2.443399,1.45023 l 
4.397602,13.26955 z"
+             
style="fill:#ed333b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+          <circle
+             transform="scale(-1,1)"
+             
style="opacity:1;fill:none;fill-opacity:1;stroke:#ed333b;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1045"
+             cx="-66.049789"
+             cy="312.03348"
+             r="9.515707" />
+          <circle
+             transform="scale(-1,1)"
+             r="7"
+             cy="312"
+             cx="-66"
+             id="path1043-6"
+             
style="opacity:1;fill:none;fill-opacity:1;stroke:#e01b24;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+        </g>
+      </g>
+      <circle
+         r="2"
+         cy="125.86499"
+         cx="-223.44576"
+         id="circle1204"
+         
style="display:inline;opacity:1;fill:#3d3846;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+         transform="matrix(-0.70710678,-0.70710678,-0.70710678,0.70710678,0,0)" />
+    </g>
+    <g
+       style="display:inline"
+       id="g11726-3"
+       transform="matrix(2.8886998,0,0,2.8886998,-25.750371,534.02652)">
+      <rect
+         ry="11.641666"
+         rx="11.641666"
+         y="158.74997"
+         x="248.70833"
+         height="35.454166"
+         width="23.283333"
+         id="rect15054-7"
+         
style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:0.10236224;stroke:none;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect11709-9"
+         width="23.283333"
+         height="35.454166"
+         x="248.70833"
+         y="157.69165"
+         rx="11.641666"
+         ry="11.641666" />
+      <rect
+         ry="11.641666"
+         rx="11.641666"
+         y="156.10417"
+         x="248.70833"
+         height="35.454166"
+         width="23.283333"
+         id="rect11701-0"
+         
style="opacity:1;vector-effect:none;fill:#f6f5f4;fill-opacity:1;stroke:none;stroke-width:4.23333311;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <path
+         inkscape:connector-curvature="0"
+         id="path11703-0"
+         d="M 260.61458,170.65625 V 156.10416"
+         
style="fill:none;stroke:#c0bfbc;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+      <rect
+         ry="2.6458333"
+         rx="2.6458333"
+         y="160.07292"
+         x="257.96875"
+         height="13.229166"
+         width="5.2916665"
+         id="rect11707-2"
+         
style="opacity:1;vector-effect:none;fill:#77767b;fill-opacity:1;stroke:none;stroke-width:4.23333311;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <circle
+         
style="opacity:1;vector-effect:none;fill:#c0bfbc;fill-opacity:0.10236224;stroke:none;stroke-width:1.93420076;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="path15652-2"
+         cx="260.603"
+         cy="162.00343"
+         r="1.4552083" />
+    </g>
+    <rect
+       
style="opacity:1;vector-effect:none;fill:#77767b;fill-opacity:1;stroke:none;stroke-width:7.21087408;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+       id="rect11899"
+       width="6.0609894"
+       height="33.335442"
+       x="202.04701"
+       y="660.1568" />
+    <rect
+       y="597.13654"
+       x="202.04701"
+       height="63.020332"
+       width="6.0609894"
+       id="rect11901"
+       
style="opacity:1;vector-effect:none;fill:#9a9996;fill-opacity:1;stroke:none;stroke-width:9.91459942;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+    <rect
+       
style="opacity:0.13600003;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:6.06098938;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+       id="rect11907"
+       width="36.161156"
+       height="5.7589989"
+       x="222.21587"
+       y="630.28662" />
+    <rect
+       
style="opacity:1;vector-effect:none;fill:#9a9996;fill-opacity:1;stroke:none;stroke-width:10.15712166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+       id="rect11903"
+       width="6.0609894"
+       height="38.262718"
+       x="547.61859"
+       y="-270.90707"
+       transform="matrix(0,1,-0.95281607,-0.30354825,0,0)" />
+    <rect
+       transform="rotate(90)"
+       y="-191.03203"
+       x="585.99994"
+       height="96.51561"
+       width="6.0609894"
+       id="rect11911"
+       
style="opacity:1;vector-effect:none;fill:#9a9996;fill-opacity:1;stroke:none;stroke-width:12.26969051;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+    <rect
+       y="623.12146"
+       x="139.74371"
+       height="33.335442"
+       width="6.0609894"
+       id="rect11913"
+       
style="opacity:1;vector-effect:none;fill:#77767b;fill-opacity:1;stroke:none;stroke-width:7.21087408;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+    <rect
+       
style="opacity:1;vector-effect:none;fill:#9a9996;fill-opacity:1;stroke:none;stroke-width:9.91459942;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+       id="rect11915"
+       width="6.0609894"
+       height="63.020332"
+       x="139.74371"
+       y="560.1012" />
+    <path
+       sodipodi:nodetypes="cccccccccccscccc"
+       inkscape:connector-curvature="0"
+       id="path17537"
+       d="m 663.42447,795.58238 87.47477,-0.1313 c 6.54058,0 11.26426,5.02908 11.26426,11.3647 v 78.40346 c 
0,4.69946 -3.17744,7.72649 -7.44748,7.72649 h -58.22987 c -2.70463,0 -4.26456,2.41768 -4.26456,4.76755 v 
56.75277 c 0,2.77557 2.8382,5.11747 4.90064,5.11747 h 50.48284 c 2.06242,0 4.1224,-2.50648 4.1224,-5.15157 v 
-24.94836 c 0,-2.63848 -1.78754,-4.47775 -4.56769,-4.47775 h -17.04215 c -2.20795,0 -4.12242,2.48473 
-4.12242,4.83382 v 57.88855"
+       
style="fill:none;stroke:#ffffff;stroke-width:5.09229326;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <g
+       id="g17543"
+       transform="matrix(1.2730734,0,0,1.2730734,262.41433,-11.78146)">
+      <rect
+         
style="display:inline;opacity:1;vector-effect:none;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:5.1656599;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect17539"
+         width="20.711218"
+         height="18.780756"
+         x="303.22128"
+         y="626.85999"
+         rx="8.736165"
+         ry="8.736165" />
+      <rect
+         ry="8.736165"
+         rx="8.736165"
+         y="624.22852"
+         x="304.2702"
+         height="17.829617"
+         width="19.662313"
+         id="rect17541"
+         
style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5.1656599;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+    </g>
+    <g
+       id="g9661"
+       transform="matrix(2.2179863,0,0,2.2179863,253.17718,479.72773)">
+      <rect
+         ry="2.8838212"
+         rx="2.8838212"
+         y="73.187119"
+         x="91.247261"
+         height="58.208336"
+         width="95.25"
+         id="rect2246-3"
+         
style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:0.10236224;stroke:none;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2404-2"
+         width="95.25"
+         height="58.208336"
+         x="91.247261"
+         y="133.7767"
+         rx="2.8838212"
+         ry="2.8838212" />
+      <rect
+         ry="2.8838212"
+         rx="2.8838212"
+         y="132.71838"
+         x="91.247261"
+         height="58.208336"
+         width="95.25"
+         id="rect2250-1"
+         
style="opacity:1;vector-effect:none;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#f6f5f4;fill-opacity:1;stroke:none;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2248-9"
+         width="95.25"
+         height="58.208336"
+         x="91.247261"
+         y="131.39546"
+         rx="2.8838212"
+         ry="2.8838212" />
+      <rect
+         ry="1.9577779"
+         rx="1.9577779"
+         y="136.68713"
+         x="96.538925"
+         height="29.104166"
+         width="84.666664"
+         id="rect2252-7"
+         
style="opacity:1;vector-effect:none;fill:#c0bfbc;fill-opacity:1;stroke:none;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2332-6"
+         width="84.666664"
+         height="29.104166"
+         x="96.538925"
+         y="137.21629"
+         rx="1.9577779"
+         ry="1.9577779" />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.58749986;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2258-8"
+         width="63.5"
+         height="7.4083304"
+         x="107.12226"
+         y="126.1038"
+         rx="0.82584423"
+         ry="0.82584423" />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2254-2"
+         width="26.458313"
+         height="15.874996"
+         x="125.6431"
+         y="168.43713"
+         rx="2.8838263"
+         ry="2.883826" />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#1a5fb4;fill-opacity:1;stroke:none;stroke-width:1.58749986;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2256-0"
+         width="92.18322"
+         height="54.974541"
+         x="92.780647"
+         y="74.804016"
+         rx="1.5741988"
+         ry="1.5741988" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129328"
+         y="159.17671"
+         x="117.70559"
+         height="5.2916665"
+         width="46.302094"
+         id="rect2260-6"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2262-4"
+         width="6.6145716"
+         height="5.2916665"
+         x="165.33061"
+         y="159.17671"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="159.17671"
+         x="173.26811"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2264-3"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2266-3"
+         width="5.2916646"
+         height="5.2916665"
+         x="169.29936"
+         y="152.56212"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="152.56212"
+         x="161.36186"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2268-6"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2270-9"
+         width="6.6145716"
+         height="5.2916665"
+         x="153.42436"
+         y="152.56212"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="152.56212"
+         x="145.48686"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2272-0"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2274-4"
+         width="6.6145716"
+         height="5.2916665"
+         x="137.54935"
+         y="152.56212"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="152.56212"
+         x="129.61185"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2276-8"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2278-5"
+         width="6.6145716"
+         height="5.2916665"
+         x="121.67435"
+         y="152.56212"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="152.56212"
+         x="113.73685"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2280-1"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2282-2"
+         width="6.6145716"
+         height="5.2916665"
+         x="105.79934"
+         y="152.56212"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="145.94754"
+         x="165.33061"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2284-9"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2286-7"
+         width="6.6145716"
+         height="5.2916665"
+         x="157.39311"
+         y="145.94754"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="145.94754"
+         x="149.45561"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2288-3"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2290-8"
+         width="6.6145716"
+         height="5.2916665"
+         x="141.51811"
+         y="145.94754"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="145.94754"
+         x="133.58061"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2292-0"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2294-9"
+         width="6.6145716"
+         height="5.2916665"
+         x="125.6431"
+         y="145.94754"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="145.94754"
+         x="117.7056"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2296-2"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2298-3"
+         width="6.6145716"
+         height="5.2916665"
+         x="109.7681"
+         y="145.94754"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="145.94754"
+         x="97.861839"
+         height="5.2916665"
+         width="10.583332"
+         id="rect2300-1"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2302-8"
+         width="10.583317"
+         height="5.2916665"
+         x="169.29936"
+         y="139.33296"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="139.33296"
+         x="161.36186"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2304-7"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2306-4"
+         width="6.6145716"
+         height="5.2916665"
+         x="153.42436"
+         y="139.33296"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="139.33296"
+         x="145.48686"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2308-1"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2310-6"
+         width="6.6145716"
+         height="5.2916665"
+         x="137.54936"
+         y="139.33296"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="139.33296"
+         x="129.61186"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2312-3"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2314-8"
+         width="6.6145716"
+         height="5.2916665"
+         x="121.67435"
+         y="139.33296"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="139.33296"
+         x="113.73685"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2316-5"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2318-5"
+         width="6.6145716"
+         height="5.2916665"
+         x="105.79934"
+         y="139.33296"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="139.33296"
+         x="97.861839"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2320-0"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="152.56212"
+         x="97.861855"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2322-1"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="159.17671"
+         x="109.7681"
+         height="5.2916665"
+         width="6.6145716"
+         id="rect2324-2"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2326-6"
+         width="10.583351"
+         height="5.2916665"
+         x="97.861839"
+         y="159.17671"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.5875001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+         id="rect2328-4"
+         width="6.6145716"
+         height="5.2916665"
+         x="173.2681"
+         y="145.94754"
+         rx="1.0129329"
+         ry="1.0129329" />
+      <rect
+         ry="1.0129329"
+         rx="1.0129329"
+         y="145.94754"
+         x="175.91394"
+         height="11.906242"
+         width="3.968729"
+         id="rect2330-8"
+         
style="opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.58750033;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+      <g
+         id="g9409"
+         transform="matrix(0.4912282,0,0,0.4912282,125.64269,-38.260433)">
+        <g
+           transform="matrix(0.57397713,0,0,0.57397713,-9.8029213,155.31268)"
+           id="g1556"
+           style="display:inline;enable-background:new">
+          <path
+             inkscape:connector-curvature="0"
+             
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8.70386982
 ;stroke-
 
linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
+             d="M 22.351934,194.35194 H 105.03869 V 277.0387 H 22.351934 Z"
+             id="path1554" />
+        </g>
+        <g
+           transform="matrix(0.57397713,0,0,0.57397713,-9.8029213,155.31268)"
+           id="g1570"
+           style="display:inline;enable-background:new">
+          <path
+             sodipodi:nodetypes="cc"
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#f6f5f4;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:new"
+             d="m 84,256 24,24"
+             id="path1558"
+             inkscape:connector-curvature="0" />
+          <path
+             inkscape:connector-curvature="0"
+             id="path1560"
+             d="m 84,216 24,-24"
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#f6f5f4;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:new"
+             sodipodi:nodetypes="cc" />
+          <path
+             inkscape:connector-curvature="0"
+             id="path1562"
+             d="M 44,256 20,280"
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#f6f5f4;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:new"
+             sodipodi:nodetypes="cc" />
+          <path
+             sodipodi:nodetypes="cc"
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#f6f5f4;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:new"
+             d="M 44,216 20,192"
+             id="path1564"
+             inkscape:connector-curvature="0" />
+          <rect
+             y="216"
+             x="44"
+             height="40"
+             width="40"
+             id="rect1566"
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#f6f5f4;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:new"
 />
+          <rect
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#f6f5f4;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:new"
+             id="rect1568"
+             width="88"
+             height="88"
+             x="20"
+             y="192" />
+        </g>
+        <circle
+           
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:0.57397699;marker:none;enable-background:new"
+           id="circle1572"
+           cx="52.186607"
+           cy="316.02628"
+           r="6.8877254" />
+        <circle
+           
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient1596);fill-opacity:1;stroke:none;stroke-width:0.57397699;marker:none;enable-background:new"
+           id="circle1574"
+           cx="52.186607"
+           cy="264.36832"
+           r="6.8877254" />
+        <circle
+           
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:0.57397699;marker:none;enable-background:new"
+           id="circle1576"
+           cx="38.411156"
+           cy="279.29172"
+           r="4.5918169" />
+        <circle
+           r="6.8877254"
+           cy="314.87833"
+           cx="52.186607"
+           id="circle1578"
+           
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient1598);fill-opacity:1;stroke:none;stroke-width:0.57397699;marker:none;enable-background:new"
 />
+        <circle
+           
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient1600);fill-opacity:1;stroke:none;stroke-width:0.57397699;marker:none;enable-background:new"
+           id="circle1580"
+           cx="38.411156"
+           cy="301.10287"
+           r="4.5918169" />
+        <circle
+           r="4.5918169"
+           cy="278.14377"
+           cx="38.411156"
+           id="circle1582"
+           
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient1602);fill-opacity:1;stroke:none;stroke-width:0.57397699;marker:none;enable-background:new"
 />
+        <circle
+           r="6.8877254"
+           cy="316.02628"
+           cx="1.6766218"
+           id="circle1584"
+           
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:0.57397699;marker:none;enable-background:new"
 />
+        <circle
+           r="4.5918169"
+           cy="279.29172"
+           cx="15.452065"
+           id="circle1586"
+           
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:0.57397699;marker:none;enable-background:new"
 />
+        <circle
+           r="6.8877254"
+           cy="264.36832"
+           cx="1.6766218"
+           id="circle1588"
+           
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient1604);fill-opacity:1;stroke:none;stroke-width:0.57397699;marker:none;enable-background:new"
 />
+        <circle
+           
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient1606);fill-opacity:1;stroke:none;stroke-width:0.57397699;marker:none;enable-background:new"
+           id="circle1590"
+           cx="1.6766218"
+           cy="314.87833"
+           r="6.8877254" />
+        <circle
+           
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient1608);fill-opacity:1;stroke:none;stroke-width:0.57397699;marker:none;enable-background:new"
+           id="circle1592"
+           cx="15.452065"
+           cy="278.14377"
+           r="4.5918169" />
+        <circle
+           r="4.5918169"
+           cy="301.10287"
+           cx="15.452065"
+           id="circle1594"
+           
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient1610);fill-opacity:1;stroke:none;stroke-width:0.57397699;marker:none;enable-background:new"
 />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/src/app-window.vala b/src/app-window.vala
index 46d20ed4..faa9b273 100644
--- a/src/app-window.vala
+++ b/src/app-window.vala
@@ -189,6 +189,11 @@ else if (ui_state == UIState.DISPLAY)
         if (app.application_id == "org.gnome.BoxesDevel") {
             get_style_context ().add_class ("devel");
         }
+
+        if (first_run) {
+            new Boxes.WelcomeTutorial (this).run ();
+            first_run = !first_run;
+        }
     }
 
     public void setup_ui () {
diff --git a/src/meson.build b/src/meson.build
index 61a7d833..ec5b4950 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -107,6 +107,8 @@ vala_sources = [
   'libvirt-vm-importer.vala',
   'vnc-display.vala',
   'ssh-display.vala',
+  'welcome-tutorial.vala',
+  'welcome-tutorial-page.vala',
   'wizard-downloads-page.vala',
   'wizard-window.vala',
   'wizard-source.vala',
diff --git a/src/welcome-tutorial-page.vala b/src/welcome-tutorial-page.vala
new file mode 100644
index 00000000..c3065c93
--- /dev/null
+++ b/src/welcome-tutorial-page.vala
@@ -0,0 +1,46 @@
+// This file is part of GNOME Boxes. License: LGPLv2+
+using Gtk;
+
+[GtkTemplate (ui = "/org/gnome/Boxes/ui/welcome-tutorial-page.ui")]
+private class Boxes.WelcomeTutorialPage : Gtk.Box {
+    [GtkChild]
+    private Label title_label;
+    [GtkChild]
+    private Label description_label;
+
+    public string title {
+        set {
+            title_label.label = value;
+        }
+        get {
+            return title_label.label;
+        }
+    }
+    public string description {
+        set {
+            description_label.label = value;
+        }
+        get {
+            return description_label.label;
+        }
+    }
+
+    public string color { set; get; }
+    public string image { set; get; }
+
+    [GtkCallback]
+    private void load_css () {
+        var provider = new CssProvider ();
+        var css = """
+          .tutorial-page {
+            background-color: #%s;
+            background-image: url("resource://%s");
+          }
+        """.printf (color, image);
+
+        provider.load_from_data (css);
+        Gtk.StyleContext.add_provider_for_screen (Gdk.Screen.get_default (),
+                                                  provider,
+                                                  STYLE_PROVIDER_PRIORITY_APPLICATION);
+    }
+}
diff --git a/src/welcome-tutorial.vala b/src/welcome-tutorial.vala
new file mode 100644
index 00000000..be753f31
--- /dev/null
+++ b/src/welcome-tutorial.vala
@@ -0,0 +1,62 @@
+// This file is part of GNOME Boxes. License: LGPLv2+
+using Gtk;
+
+[GtkTemplate (ui = "/org/gnome/Boxes/ui/welcome-tutorial.ui")]
+private class Boxes.WelcomeTutorial : Gtk.Dialog {
+    [GtkChild]
+    private Stack stack;
+    [GtkChild]
+    private Button go_back_button;
+    [GtkChild]
+    private Button go_next_button;
+
+    private GLib.List<unowned Widget> pages;
+
+    private uint _visible_page_idx = 0;
+    private uint visible_page_idx {
+        set {
+            _visible_page_idx = value;
+
+            stack.set_visible_child (pages.nth_data (visible_page_idx));
+        }
+        get {
+            return _visible_page_idx;
+        }
+    }
+
+    construct {
+        use_header_bar = 1;
+
+        pages = stack.get_children ();
+
+        on_stack_page_changed ();
+    }
+
+    public WelcomeTutorial (AppWindow app_window) {
+        set_transient_for (app_window);
+    }
+
+    [GtkCallback]
+    private void on_stack_page_changed () {
+        var n_pages = pages.length ();
+
+        var topbar = get_header_bar () as Gtk.HeaderBar;
+        topbar.subtitle = _("%u/%u").printf (visible_page_idx + 1, n_pages);
+
+        // Toggle button's visibility
+        go_back_button.visible = (visible_page_idx > 0);
+        go_next_button.visible = (visible_page_idx < pages.length () - 1);
+
+    }
+
+    [GtkCallback]
+    private void on_next_button_clicked () {
+        visible_page_idx += 1;
+
+    }
+
+    [GtkCallback]
+    private void on_back_button_clicked () {
+        visible_page_idx -= 1;
+    }
+}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]