diff options
author | Markus Koivisto <markus@vaadin.com> | 2016-01-22 14:55:18 +0200 |
---|---|---|
committer | Markus Koivisto <markus@vaadin.com> | 2016-01-22 14:55:18 +0200 |
commit | 99d6de546c74f0eed230ea8253dda6b85109d2e7 (patch) | |
tree | 10fc21c557566fe3241e6e13499df18d80f8dcb2 /documentation/application | |
parent | 610736d9f373d4b37fd39ff8f90aabd13eab7926 (diff) | |
download | vaadin-framework-99d6de546c74f0eed230ea8253dda6b85109d2e7.tar.gz vaadin-framework-99d6de546c74f0eed230ea8253dda6b85109d2e7.zip |
Add documentation to master branch
Change-Id: I2504bb10f1ae73ec0cbc08b7ba5a88925caa1674
Diffstat (limited to 'documentation/application')
32 files changed, 6958 insertions, 0 deletions
diff --git a/documentation/application/application-architecture.asciidoc b/documentation/application/application-architecture.asciidoc new file mode 100644 index 0000000000..77c1756594 --- /dev/null +++ b/documentation/application/application-architecture.asciidoc @@ -0,0 +1,258 @@ +--- +title: Building the UI +order: 2 +layout: page +--- + +[[application.architecture]] += Building the UI + +Vaadin user interfaces are built hierarchically from components, so that the +leaf components are contained within layout components and other component +containers. Building the hierarchy starts from the top (or bottom - whichever +way you like to think about it), from the [classname]#UI# class of the +application. You normally set a layout component as the content of the UI and +fill it with other components. + + +[source, java] +---- +public class MyHierarchicalUI extends UI { + @Override + protected void init(VaadinRequest request) { + // The root of the component hierarchy + VerticalLayout content = new VerticalLayout(); + content.setSizeFull(); // Use entire window + setContent(content); // Attach to the UI + + // Add some component + content.addComponent(new Label("Hello!")); + + // Layout inside layout + HorizontalLayout hor = new HorizontalLayout(); + hor.setSizeFull(); // Use all available space + + // Couple of horizontally laid out components + Tree tree = new Tree("My Tree", + TreeExample.createTreeContent()); + hor.addComponent(tree); + + Table table = new Table("My Table", + TableExample.generateContent()); + table.setSizeFull(); + hor.addComponent(table); + hor.setExpandRatio(table, 1); // Expand to fill + + content.addComponent(hor); + content.setExpandRatio(hor, 1); // Expand to fill + } +} +---- + +The component hierarchy could be illustrated with a tree as follows: + + +---- +UI + `-- VerticalLayout + |-- Label + `-- HorizontalLayout + |-- Tree + `-- Table +---- + +The result is shown in <<figure.application.architecture.example>>. + +[[figure.application.architecture.example]] +.Simple Hierarchical UI +image::img/ui-architecture-hierarchical.png[] + +Instead of building the layout in Java, you can also use a declarative design, +as described later in +<<dummy/../../../framework/application/application-declarative#application.declarative,"Designing +UIs Declaratively">>. The examples given for the declarative layouts give +exactly the same UI layout as built from the components above. + +The built-in components are described in +<<dummy/../../../framework/components/components-overview.asciidoc#components.overview,"User +Interface Components">> and the layout components in +<<dummy/../../../framework/layout/layout-overview.asciidoc#layout.overview,"Managing +Layout">>. + +The example application described above just is, it does not do anything. User +interaction is handled with event listeners, as described a bit later in +<<dummy/../../../framework/application/application-events#application.events,"Handling +Events with Listeners">>. + +[[application.architecture.architecture]] +== Application Architecture + +Once your application grows beyond a dozen or so lines, which is usually quite +soon, you need to start considering the application architecture more closely. +You are free to use any object-oriented techniques available in Java to organize +your code in methods, classes, packages, and libraries. An architecture defines +how these modules communicate together and what sort of dependencies they have +between them. It also defines the scope of the application. The scope of this +book, however, only gives a possibility to mention some of the most common +architectural patterns in Vaadin applications. + +The subsequent sections describe some basic application patterns. For more +information about common architectures, see +<<dummy/../../../framework/advanced/advanced-architecture#advanced.architecture,"Advanced +Application Architectures">>, which discusses layered architectures, the +Model-View-Presenter (MVP) pattern, and so forth. + +ifdef::web[] +The +<<dummy/../../../framework/advanced/advanced-global#advanced.global,"Accessing +Session-Global Data">> discusses the problem of passing essentially global +references around, a common problem which is also visited in +<<application.architecture.accessing>>. +endif::web[] + + +[[application.architecture.composition]] +== Compositing Components + +User interfaces typically contain many user interface components in a layout +hierarchy. Vaadin provides many layout components for laying contained +components vertically, horizontally, in a grid, and in many other ways. You can +extend layout components to create composite components. + + +[source, java] +---- +class MyView extends VerticalLayout { + TextField entry = new TextField("Enter this"); + Label display = new Label("See this"); + Button click = new Button("Click This"); + + public MyView() { + addComponent(entry); + addComponent(display); + addComponent(click); + + // Configure it a bit + setSizeFull(); + addStyleName("myview"); + } +} + +// Use it +Layout myview = new MyView(); +---- + +This composition pattern is especially supported for creating forms, as +described in +<<dummy/../../../framework/datamodel/datamodel-itembinding#datamodel.itembinding.formclass,"Binding +Member Fields">>. + +While extending layouts is an easy way to make component composition, it is a +good practice to encapsulate implementation details, such as the exact layout +component used. Otherwise, the users of such a composite could begin to rely on +such implementation details, which would make changes harder. For this purpose, +Vaadin has a special [classname]#CustomComponent# wrapper, which hides the +content representation. + + +[source, java] +---- +class MyView extends CustomComponent { + TextField entry = new TextField("Enter this"); + Label display = new Label("See this"); + Button click = new Button("Click This"); + + public MyView() { + Layout layout = new VerticalLayout(); + + layout.addComponent(entry); + layout.addComponent(display); + layout.addComponent(click); + + setCompositionRoot(layout); + + setSizeFull(); + } +} + +// Use it +MyView myview = new MyView(); +---- + +For a more detailed description of the [classname]#CustomComponent#, see +<<dummy/../../../framework/components/components-customcomponent#components.customcomponent,"Composition +with CustomComponent">>. + + +[[application.architecture.navigation]] +== View Navigation + +While the most simple applications have just a single __view__ (or __screen__), +perhaps most have many. Even in a single view, you often want to have sub-views, +for example to display different content. +<<figure.application.architecture.navigation>> illustrates a typical navigation +between different top-level views of an application, and a main view with +sub-views. + +[[figure.application.architecture.navigation]] +.Navigation Between Views +image::img/view-navigation-hi.png[] + +The [classname]#Navigator# described in +<<dummy/../../../framework/advanced/advanced-navigator#advanced.navigator,"Navigating +in an Application">> is a view manager that provides a flexible way to navigate +between views and sub-views, while managing the URI fragment in the page URL to +allow bookmarking, linking, and going back in browser history. + +Often Vaadin application views are part of something bigger. In such cases, you +may need to integrate the Vaadin applications with the other website. You can +use the embedding techniques described in +<<dummy/../../../framework/advanced/advanced-embedding#advanced.embedding,"Embedding +UIs in Web Pages">>. + + +[[application.architecture.accessing]] +== Accessing UI, Page, Session, and Service + +You can get the UI and the page to which a component is attached to with +[methodname]#getUI()# and [methodname]#getPage()#. + +However, the values are [literal]#++null++# until the component is attached to +the UI, and typically, when you need it in constructors, it is not. It is +therefore preferable to access the current UI, page, session, and service +objects from anywhere in the application using the static +[methodname]#getCurrent()# methods in the respective [classname]#UI#, +[classname]#Page#, [classname]#VaadinSession#, and [classname]#VaadinService# +classes. + + +[source, java] +---- +// Set the default locale of the UI +UI.getCurrent().setLocale(new Locale("en")); + +// Set the page title (window or tab caption) +Page.getCurrent().setTitle("My Page"); + +// Set a session attribute +VaadinSession.getCurrent().setAttribute("myattrib", "hello"); + +// Access the HTTP service parameters +File baseDir = VaadinService.getCurrent().getBaseDirectory(); +---- + +You can get the page and the session also from a [classname]#UI# with +[methodname]#getPage()# and [methodname]#getSession()# and the service from +[classname]#VaadinSession# with [methodname]#getService()#. + +The static methods use the built-in ThreadLocal support in the classes. + +ifdef::web[] + The pattern is described in +<<dummy/../../../framework/advanced/advanced-global#advanced.global.threadlocal,"ThreadLocal +Pattern">>. +endif::web[] + + + + diff --git a/documentation/application/application-declarative.asciidoc b/documentation/application/application-declarative.asciidoc new file mode 100644 index 0000000000..3e6fea7633 --- /dev/null +++ b/documentation/application/application-declarative.asciidoc @@ -0,0 +1,398 @@ +--- +title: Designing UIs Declaratively +order: 3 +layout: page +--- + +[[application.declarative]] += Designing UIs Declaratively + +Declarative definition of composites and even entire UIs makes it easy for +developers and especially graphical designers to work on visual designs without +any coding. Designs can be modified even while the application is running, as +can be the associated themes. A design is a representation of a component +hierarcy, which can be accessed from Java code to implement dynamic UI logic, as +well as data binding. + +For example, considering the following layout in Java: + + +[source, java] +---- +VerticalLayout vertical = new VerticalLayout (); +vertical.addComponent(new TextField("Name")); +vertical.addComponent(new TextField("Street address")); +vertical.addComponent(new TextField("Postal code")); +layout.addComponent(vertical); +---- +See the http://demo.vaadin.com/book-examples-vaadin7/book#layout.orderedlayout.basic[on-line example, window="_blank"]. + +You could define it declaractively with the following equivalent design: + + +[source, html] +---- +<vaadin-vertical-layout> + <vaadin-text-field caption="Name"/> + <vaadin-text-field caption="Street address"/> + <vaadin-text-field caption="Postal code"/> +</vaadin-vertical-layout> +---- +See the http://demo.vaadin.com/book-examples-vaadin7/book#layout.orderedlayout.basic[on-line example, window="_blank"]. + +Declarative designs can be crafted by hand, but are most conveniently created +with the Vaadin Designer. + +In the following, we first go through the syntax of the declarative design +files, and then see how to use them in applications by binding them to data and +handling user interaction events. + +[[application.declarative.syntax]] +== Declarative Syntax + +A design is an HTML document with custom elements for representing components +and their configuration. A design has a single root component inside the HTML +body element. Enclosing [literal]#++<html>++#, [literal]#++<head>++#, +[literal]#++<body>++# are optional, but necessary if you need to make namespace +definitions for custom components. Other regular HTML elements may not be used +in the file, except inside components that specifically accept HTML content. + +In a design, each nested element corresponds to a Vaadin component in a +component tree. Components can have explicitly given IDs to enable binding them +to variables in the Java code, as well as optional attributes. + + +[source, html] +---- +<!DOCTYPE html> +<html> + <body> + <vaadin-vertical-layout size-full> + <!-- Label with HTML content --> + <vaadin-label><b>Hello!</b> - How are you?</vaadin-label> + + <vaadin-horizontal-layout size-full :expand> + <vaadin-tree _id="mytree" caption="My Tree" + width-auto height-full/> + <vaadin-table _id="mytable" caption="My Table" + size-full :expand/> + </vaadin-horizontal-layout> + </vaadin-vertical-layout> + </body> +</html> +---- + +The DOCTYPE is not required, neither is the [literal]#++<html>++#, or +[literal]#++<body>++# elements. Nevertheless, there may only be one design root +element. + +The above design defines the same UI layout as done earlier with Java code, and +illustrated in +<<dummy/../../../framework/application/application-architecture#figure.application.architecture.example,"Simple +Hierarchical UI">>. + + +[[application.declarative.elements]] +== Component Elements + +HTML elements of the declarative syntax are directly mapped to Vaadin components +according to their Java class names. The tag of a component element has a +namespace prefix separated by a dash. Vaadin core components, which are defined +in the [package]#com.vaadin.ui# package, have [literal]#++vaadin-++# prefix. The rest +of an element tag is determined from the Java class name of the component, by +making it lower-case, while adding a dash ( [literal]#++-++#) before every +previously upper-case letter as a word separator. For example, +[classname]#ComboBox# component has declarative element tag +[literal]#++<vaadin-combo-box>++#. + +[[application.declarative.elements.prefix]] +=== Component Prefix to Package Mapping + +You can use any components in a design: components extending Vaadin components, +composite components, and add-on components. To do so, you need to define a +mapping from an element prefix to the Java package of the component. The prefix +is used as a sort of a namespace. + +The mappings are defined in [literal]#++<meta name="package-mapping" ...>++# +elements in the HTML head. A [parameter]#content# attribute defines a mapping, +in notation with a prefix separated from the corresponding Java package name +with a colon, such as " [literal]#++my:com.example.myapp++#". + +For example, consider that you have the following composite class +[classname]#com.example.myapp.ExampleComponent#: + + +[source, java] +---- +package com.example.myapp; + +public class ExampleComponent extends CustomComponent { + public ExampleComponent() { + setCompositionRoot(new Label("I am an example.")); + } +} +---- + +You would make the package prefix mapping and then use the component as follows: + +[subs="normal"] +---- +<!DOCTYPE html> +<html> + <head> + **<meta name="package-mapping" content="my:com.example.myapp" />** + </head> + + <body> + <vaadin-vertical-layout> + <vaadin-label><b>Hello!</b> - How are you?</vaadin-label> + + <!-- Use it here --> + **<my-example-component/>** + </vaadin-vertical-layout> + </body> +</html> +---- + +[[application.declarative.elements.inline]] +=== Inline Content and Data + +The element content can be used for certain default attributes, such as a button +caption. For example: + + +[source, html] +---- +<vaadin-button><b>OK</b></vaadin-button> +---- + +Some components, such as selection components, allow defining inline data within +the element. For example: + + +[source, html] +---- +<vaadin-native-select> + <option>Mercury</option> + <option>Venus</option> + <option selected>Earth</option> +</vaadin-native-select> +---- + +The declarative syntax of each component type is described in the JavaDoc API +documentation of Vaadin. + + + +[[application.declarative.attributes]] +== Component Attributes + +[[application.declarative.attributes.mapping]] +=== Attribute-to-Property Mapping + +Component properties are directly mapped to the attributes of the HTML elements +according to the names of the properties. Attributes are written in lower-case +letters and dash is used for word separation instead of upper-case letters in +the Java methods, so that [literal]#++input-prompt++# attribute is equivalent to +[methodname]#setInputPrompt()#. + +For example, the __caption__ property, which you can set with +[methodname]#setCaption()#, is represented as [literal]#++caption++# attribute. +You can find the component properties by the setter methods in the +link:https://vaadin.com/api/[JavaDoc API documentation] of the component +classes. + + +[source, html] +---- +<vaadin-text-field caption="Name" input-prompt="Enter Name"/> +---- + + +[[application.declarative.attributes.parameters]] +=== Attribute Values + +Attribute parameters must be enclosed in quotes and the value given as a string +must be convertible to the type of the property (string, integer, boolean, or +enumeration). Object types are not supported. + +Some attribute names are given by a shorthand. For example, +[parameter]#alternateText# property of the [classname]#Image# component, which +you would set with [methodname]#setAlternateText()#, is given as the +[literal]#++alt++# attribute. + +Boolean values must be either " [literal]#++true++#" or " [literal]#++false++#". +The value can be omitted, in which case [literal]#++true++# is assumed. For +example, the [literal]#++enabled++# attribute is boolean and has default value " +[literal]#++true++#", so [literal]#++enabled="true"++# and +[literal]#++enabled++# and equivalent. + + +[source, html] +---- +<vaadin-button enabled="false">OK</vaadin-button> +---- + + +[[application.declarative.attributes.parent]] +=== Parent Component Settings + +Certain settings, such as a component's alignment in a layout, are not done in +the component itself, but in the layout. Attributes prefixed with colon ( +[literal]#++:++#) are passed to the containing component, with the component as +a target parameter. For example, [literal]#++:expand="1"++# given for a +component [parameter]#c# is equivalent to calling [methodname]#setExpandRatio(c, +1)# for the containing layout. + +[subs="normal"] +---- +<vaadin-vertical-layout size-full> + <!-- Align right in the containing layout --> + <vaadin-label width-auto **:right**>Hello!</vaadin-label> + + <!-- Expands to take up all remaining vertical space --> + <vaadin-horizontal-layout size-full **:expand**> + <!-- Automatic width - shrinks horizontally --> + <vaadin-tree width-auto height-full/> + + <!-- Expands horizontally to take remaining space --> + <vaadin-table size-full **:expand**/> + </vaadin-horizontal-layout> +</vaadin-vertical-layout> +---- +Again, compare the above declaration to the Java code given in +<<dummy/../../../framework/application/application-architecture#application.architecture,"Building +the UI">>. + + + +[[application.declarative.identifiers]] +== Component Identifiers + +Components can be identified by either an identifier or a caption. There are two +types of identifiers: page-global and local. This allows accessing them from +Java code and binding them to components, as described later in +<<application.declarative.composite>>. + +The [literal]#++id++# attribute can be used to define a page-global identifier, +which must be unique within the page. Another design or UI shown simultaneously +in the same page may not have components sharing the same ID. Using global +identifiers is therefore not recommended, except in special cases where +uniqueness is ensured. + +The [literal]#++_id++# attribute defines a local identifier used only within the +design. This is the recommended way to identifying components. + + +[source, html] +---- +<vaadin-tree _id="mytree" caption="My Tree"/> +---- + + +[[application.declarative.composite]] +== Using Designs in Code + +The main use of declarative designs is in building application views, sub-views, +dialogs, and forms through composition. The two main tasks are filling the +designs with application data and handling user interaction events. + +[[application.declarative.composite.designroot]] +=== Binding to a Design Root + +You can bind any component container as the root component of a design with the +[classname]#@DesignRoot# annotation. The class must match or extend the class of +the root element in the design. + +The member variables are automatically initialized from the design according to +the component identifiers (see <<application.declarative.identifiers>>), which +must match the variable names. + +For example, the following class could be used to bind the design given earlier. + + +[source, java] +---- +@DesignRoot +public class MyViewDesign extends VerticalLayout { + Tree mytree; + Table mytable; + + public MyViewDesign() { + Design.read("MyDeclarativeUI.html", this); + + // Show some (example) data + mytree.setContainerDataSource( + TreeExample.createTreeContent()); + mytable.setContainerDataSource( + TableExample.generateContent()); + + // Some interaction + mytree.addItemClickListener(event -> // Java 8 + Notification.show("Selected " + + event.getItemId())); + } +} +---- +See the http://demo.vaadin.com/book-examples-vaadin7/book#application.declarative.designroot[on-line example, window="_blank"]. + +The design root class must match or extend the root element class of the design. +For example, earlier we had [literal]#++<vaadin-vertical-layout>++# element in the +HTML file, which can be bound to a class extending [classname]#VerticalLayout#. + + +[[application.declarative.composite.using]] +=== Using a Design + +The fact that a component is defined declaratively is not visible in its API, so +you can create and use such it just like any other component. + +For example, to use the previously defined design root component as the content +of the entire UI: + + +[source, java] +---- +public class DeclarativeViewUI extends UI { + @Override + protected void init(VaadinRequest request) { + setContent(new MyViewDesign()); + } +} +---- + + +[[application.declarative.composite.viewnavigation]] +=== Designs in View Navigation + +To use a design in view navigation, as described in +<<dummy/../../../framework/advanced/advanced-navigator#advanced.navigator,"Navigating +in an Application">>, you just need to implement the [interfacename]#View# +interface. + + +[source, java] +---- +@DesignRoot +public class MainView extends VerticalLayout + implements View { + public MainView() { + Design.read(this); + ... + } + ... +} + +... +// Use the view by precreating it +navigator.addView(MAINVIEW, new MainView()); +---- + +See +<<dummy/../../../framework/advanced/advanced-navigator#advanced.navigator.urifragment,"Handling +URI Fragment Path">> for a complete example. + + + + + diff --git a/documentation/application/application-environment.asciidoc b/documentation/application/application-environment.asciidoc new file mode 100644 index 0000000000..5a2bf7ecbf --- /dev/null +++ b/documentation/application/application-environment.asciidoc @@ -0,0 +1,502 @@ +--- +title: Deploying an Application +order: 9 +layout: page +--- + +[[application.environment]] += Deploying an Application + +Vaadin applications are deployed as __Java web applications__, which can contain +a number of servlets, each of which can be a Vaadin application or some other +servlet, and static resources such as HTML files. Such a web application is +normally packaged as a WAR (Web application ARchive) file, which can be deployed +to a Java application server (or a servlet container to be exact). A WAR file, +which has the [filename]#.war# extension, is a subtype of JAR (Java ARchive), +and like a regular JAR, is a ZIP-compressed file with a special content +structure. + +For a detailed tutorial on how web applications are packaged, please refer to +any Java book that discusses Java Servlets. + +In the Java Servlet parlance, a "web application" means a collection of Java +servlets or portlets, JSP and static HTML pages, and various other resources +that form an application. Such a Java web application is typically packaged as a +WAR package for deployment. Server-side Vaadin UIs run as servlets within such a +Java web application. There exists also other kinds of web applications. To +avoid confusion with the general meaning of "web application", we often refer to +Java web applications with the slight misnomer "WAR" in this book.//TODO Vaadin +7: What is the relationship between servlet and +application? + +[[application.environment.war-eclipse]] +== Creating Deployable WAR in Eclipse + +To deploy an application to a web server, you need to create a WAR package. Here +we give the instructions for Eclipse. + +. Select "File > Export" and then "Web > WAR File". Or, right-click the project in +the Project Explorer and select "Web > WAR File". + +. Select the [guilabel]#Web project# to export. Enter [guilabel]#Destination# file +name ( [filename]#.war#). + +. Make any other settings in the dialog, and click [guibutton]#Finish#. + + + +[[application.environment.war]] +== Web Application Contents + +The following files are required in a web application in order to run it. + +[filename]#WEB-INF/web.xml# (optional with Servlet 3.0):: This is the web application descriptor that defines how the application is +organized, that is, what servlets and such it has. You can refer to any Java +book about the contents of this file. It is not needed if you define the Vaadin +servlet with the [literal]#++@WebServlet++# annotation in Servlet API 3.0. + +[filename]#WEB-INF/lib/*.jar# :: These are the Vaadin libraries and their dependencies. They can be found in the +installation package or as loaded by a dependency management system such as +Maven or Ivy. + +Your UI classes:: You must include your UI classes either in a JAR file in [filename]#WEB-INF/lib# +or as classes in [filename]#WEB-INF/classes# + +Your own theme files (OPTIONAL):: If your application uses a special theme (look and feel), you must include it in +[filename]#VAADIN/themes/themename# directory. + +Widget sets (OPTIONAL):: If your application uses a project-specific widget set, it must be compiled in +the [filename]#VAADIN/widgetset/# directory. + + + + +[[application.environment.webservlet]] +== Web Servlet Class + +When using the Servlet 3.0 API, you normally declare the Vaadin servlet classes +with the [literal]#++@WebServlet++# annotation. The Vaadin UI associated with +the servlet and other Vaadin-specific parameters are declared with a separate +[literal]#++@VaadinServletConfiguration++# annotation. + +[subs="normal"] +---- +@WebServlet(value = "**/++*++**", + asyncSupported = true) +@VaadinServletConfiguration( + productionMode = **false**, + ui = **MyProjectUI**.class) +public class **MyProjectServlet** extends VaadinServlet { +} +---- +The Vaadin Plugin for Eclipse creates the servlet class as a static inner class +of the UI class. Normally, you may want to have it as a separate regular class. + +The [parameter]#value# parameter is the URL pattern for mapping request URLs to +the servlet, as described in <<application.environment.servlet-mapping>>. The +[parameter]#ui# parameter is the UI class. Production mode is disabled by +default, which enabled on-the-fly theme compilation, debug window, and other +such development features. See the subsequent sections for details on the +different servlet and Vaadin configuration parameters. + +You can also use a [filename]#web.xml# deployment descriptor in Servlet 3.0 +projects. + + +[[application.environment.web-xml]] +== Using a [filename]#web.xml# Deployment Descriptor + +A deployment descriptor is an XML file with the name [filename]#web.xml# in the +[filename]#WEB-INF# sub-directory of a web application. It is a standard +component in Java EE describing how a web application should be deployed. The +descriptor is not required with Servlet API 3.0, where you can also define +servlets with the [classname]#@WebServlet# annotation as decribed earlier, as +web fragments, or programmatically. You can use both a [filename]#web.xml# and +WebServlet in the same application. Settings in the [filename]#web.xml# override +the ones given in annotations. + +The following example shows the basic contents of a deployment descriptor for a +Servlet 2.4 application. You simply specify the UI class with the +[parameter]#UI# parameter for the [classname]#com.vaadin.server.VaadinServlet#. +The servlet is then mapped to a URL path in a standard way for Java Servlets. + +[subs="normal"] +---- +<?xml version="1.0" encoding="UTF-8"?> +<web-app + id="WebApp_ID" version="2.4" + xmlns="http://java.sun.com/xml/ns/j2ee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee + http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> + + <servlet> + <servlet-name>**myservlet**</servlet-name> + <servlet-class> + com.vaadin.server.VaadinServlet + </servlet-class> + + <init-param> + <param-name>UI</param-name> + <param-value>**com.ex.myprj.MyUI**</param-value> + </init-param> + + <!-- If not using the default widget set--> + <init-param> + <param-name>widgetset</param-name> + <param-value>**com.ex.myprj.MyWidgetSet**</param-value> + </init-param> + </servlet> + + <servlet-mapping> + <servlet-name>**myservlet**</servlet-name> + <url-pattern>/*</url-pattern> + </servlet-mapping> +</web-app> +---- +The descriptor defines a servlet with the name [filename]#myservlet#. The +servlet class, [classname]#com.vaadin.server.VaadinServlet#, is provided by +Vaadin framework and is normally the same for all Vaadin projects. For some +purposes, you may need to use a custom servlet class that extends the +[classname]#VaadinServlet#. The class name must include the full package path. + +[[application.environment.web-xml.servlet]] +=== Servlet API Version + +The descriptor example given above was for Servlet 2.4. For a later version, +such as Servlet 3.0, you should use: + +[subs="normal"] +---- +<web-app + id="WebApp_ID" version="**3.0**" + xmlns="http://java.sun.com/xml/ns/j2ee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="**http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd**"> +---- +Servlet 3.0 support is useful for at least server push. + + +[[application.environment.web-xml.widgetset]] +=== Widget Set + +If the UI uses add-on components or custom widgets, it needs a custom widget +set, which can be specified with the [parameter]#widgetset# parameter for the +servlet. Alternatively, you can defined it with the [classname]#@WidgetSet# +annotation for the UI class. The parameter is a class name with the same path +but without the [filename]#.gwt.xml# extension as the widget set definition +file. If the parameter is not given, the +[classname]#com.vaadin.DefaultWidgetSet# is used, which contains all the widgets +for the built-in Vaadin components. + +Unless using the default widget set (which is included in the +[filename]#vaadin-client-compiled# JAR), the widget set must be compiled, as +described in +<<dummy/../../../framework/addons/addons-overview.asciidoc#addons.overview,"Using +Vaadin Add-ons">> or +<<dummy/../../../framework/clientside/clientside-compiling#clientside.compiling,"Compiling +a Client-Side Module">>, and properly deployed with the application. + + + +[[application.environment.servlet-mapping]] +== Servlet Mapping with URL Patterns + +The servlet needs to be mapped to an URL path, which requests it is to handle. + +With [classname]#@WebServlet# annotation for the servlet class: + +[subs="normal"] +---- +@WebServlet(value = "**/++*++**", asyncSupported = true) +---- +In a [filename]#web.xml#: + +[subs="normal"] +---- + <servlet-mapping> + <servlet-name>**myservlet**</servlet-name> + <url-pattern>/*</url-pattern> + </servlet-mapping> +---- +The URL pattern is defined in the above examples as [literal]#++/*++#. This +matches any URL under the project context. We defined above the project context +as [literal]#++myproject++# so the URL for the page of the UI will be +http://localhost:8080/myproject/. + +[[application.environment.servlet-mapping.sub-paths]] +=== Mapping Sub-Paths + +If an application has multiple UIs or servlets, they have to be given different +paths in the URL, matched by a different URL pattern. Also, you may need to have +statically served content under some path. Having an URL pattern +[literal]#++/myui/*++# would match a URL such as +http://localhost:8080/myproject/myui/. Notice that the slash and the asterisk +__must__ be included at the end of the pattern. In such case, you also need to +map URLs with [literal]#++/VAADIN/*++# to a servlet (unless you are serving it +statically as noted below). + +With a [classname]#@WebServlet# annotation for a servlet class, you can define +multiple mappings as a list enclosed in curly braces as follows: + +[subs="normal"] +---- +@WebServlet(value = {"**/myui/++*++**", "/VAADIN/*"}, + asyncSupported = true) +---- +In a [filename]#web.xml#: + +[subs="normal"] +---- + ... + <servlet-mapping> + <servlet-name>**myservlet**</servlet-name> + <url-pattern>**/myui/++*++**</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>**myservlet**</servlet-name> + <url-pattern>/VAADIN/*</url-pattern> + </servlet-mapping> +---- +If you have multiple servlets, you should specify only one +[literal]#++/VAADIN/*++# mapping.It does not matter which servlet you map the +pattern to, as long as it is a Vaadin servlet. + +You do not have to provide the above [literal]#++/VAADIN/*++# mapping if you +serve both the widget sets and (custom and default) themes statically in the +[filename]#/VAADIN# directory in the web application. The mapping simply allows +serving them dynamically from the Vaadin JAR. Serving them statically is +recommended for production environments as it is faster. If you serve the +content from within the same web application, you may not have the root pattern +[literal]#++/*++# for the Vaadin servlet, as then all the requests would be +mapped to the servlet. + + + +[[application.environment.parameters]] +== Other Servlet Configuration Parameters + +The servlet class or deployment descriptor can have many parameters and options +that control the execution of a servlet. You can find complete documentation of +the basic servlet parameters in the appropriate +link:http://wiki.apache.org/tomcat/Specifications[Java Servlet Specification]. +//// +JCP or Oracle don't seem to have a proper index +URL. +//// +[classname]#@VaadinServletConfiguration# accepts a number of special parameters, +as described below. + +In a [filename]#web.xml#, you can set most parameters either as a +[literal]#++<context-param>++# for the entire web application, in which case +they apply to all Vaadin servlets, or as an [literal]#++<init-param>++# for an +individual servlet. If both are defined, servlet parameters override context +parameters. + +[[application.environment.parameters.production-mode]] +=== Production Mode + +By default, Vaadin applications run in __debug mode__ (or __development mode__), +which should be used during development. This enables various debugging +features. For production use, you should have the +[literal]#++productionMode=true++# setting in the +[classname]#@VaadinServletConfiguration#, or in [filename]#web.xml#: + + +---- +<context-param> + <param-name>productionMode</param-name> + <param-value>true</param-value> + <description>Vaadin production mode</description> +</context-param> +---- + +The parameter and the debug and production modes are described in more detail in +<<dummy/../../../framework/advanced/advanced-debug#advanced.debug,"Debug Mode +and Window">>. + + +[[application.environment.parameters.uiprovider]] +=== Custom UI Provider + +Vaadin normally uses the [classname]#DefaultUIProvider# for creating +[classname]#UI# class instances. If you need to use a custom UI provider, you +can define its class with the [parameter]#UIProvider# parameter. The provider is +registered in the [classname]#VaadinSession#. + +In a [filename]#web.xml#: + +[subs="normal"] +---- + <servlet> + ... + <init-param> + <param-name>UIProvider</param-name> + <param-value>**com.ex.my.MyUIProvider**</param-value> + </init-param> +---- +The parameter is logically associated with a particular servlet, but can be +defined in the context as well. + + +[[application.environment.parameters.heartbeat]] +=== UI Heartbeat + +Vaadin monitors UIs by using a heartbeat, as explained in +<<dummy/../../../framework/application/application-lifecycle#application.lifecycle.ui-expiration,"UI +Expiration">>. If the user closes the browser window of a Vaadin application or +navigates to another page, the Client-Side Engine running in the page stops +sending heartbeat to the server, and the server eventually cleans up the +[classname]#UI# instance. + +The interval of the heartbeat requests can be specified in seconds with the +[parameter]#heartbeatInterval# parameter either as a context parameter for the +entire web application or an init parameter for the individual servlet. The +default value is 300 seconds (5 minutes). + +In a [filename]#web.xml#: + + +---- +<context-param> + <param-name>heartbeatInterval</param-name> + <param-value>300</param-value> +</context-param> +---- + + +[[application.environment.parameters.session-timeout]] +=== Session Timeout After User Inactivity + +In normal servlet operation, the session timeout defines the allowed time of +inactivity after which the server should clean up the session. The inactivity is +measured from the last server request. Different servlet containers use varying +defaults for timeouts, such as 30 minutes for Apache Tomcat. You can set the +timeout under [literal]#++<web-app>++# with: + +In a [filename]#web.xml#: + +((("session-timeout"))) + +---- +<session-config> + <session-timeout>30</session-timeout> +</session-config> +---- + +((("Out of +Sync"))) +The session timeout should be longer than the heartbeat interval or otherwise +sessions are closed before the heartbeat can keep them alive. As the session +expiration leaves the UIs in a state where they assume that the session still +exists, this would cause an Out Of Sync error notification in the browser. + +((("closeIdleSessions"))) +However, having a shorter heartbeat interval than the session timeout, which is +the normal case, prevents the sessions from expiring. If the +[parameter]#closeIdleSessions# parameter for the servlet is enabled (disabled by +default), Vaadin closes the UIs and the session after the time specified in the +[parameter]#session-timeout# parameter expires after the last non-heartbeat +request. + +In a [filename]#web.xml#: + + +---- + <servlet> + ... + <init-param> + <param-name>closeIdleSessions</param-name> + <param-value>true</param-value> + </init-param> +---- + + +[[application.environment.parameters.push]] +=== Push Mode + +You can enable server push, as described in +<<dummy/../../../framework/advanced/advanced-push#advanced.push,"Server Push">>, +for a UI either with a [classname]#@Push# annotation for the UI or in the +descriptor. The push mode is defined with a [parameter]#pushmode# parameter. The +[literal]#++automatic++# mode pushes changes to the browser automatically after +__access()__ finishes. With [literal]#++manual++# mode, you need to do the push +explicitly with [methodname]#push()#. If you use a Servlet 3.0 compatible +server, you also want to enable asynchronous processing with the +[literal]#++async-supported++# parameter. + +In a [filename]#web.xml#: + +[subs="normal"] +---- +<servlet> + ... + <init-param> + <param-name>pushmode</param-name> + <param-value>**automatic**</param-value> + </init-param> + <async-supported>**true**</async-supported> +---- + +[[application.environment.parameters.xsrf]] +=== Cross-Site Request Forgery Prevention + +Vaadin uses a protection mechanism to prevent malicious cross-site request +forgery (XSRF or CSRF), also called one-click attacks or session riding, which +is a security exploit for executing unauthorized commands in a web server. This +protection is normally enabled. However, it prevents some forms of testing of +Vaadin applications, such as with JMeter. In such cases, you can disable the +protection by setting the [parameter]#disable-xsrf-protection# parameter to +[literal]#++true++#. + +In a [filename]#web.xml#: + + +---- +<context-param> + <param-name>disable-xsrf-protection</param-name> + <param-value>true</param-value> +</context-param> +---- + + + +[[application.environment.configuration]] +== Deployment Configuration + +The Vaadin-specific parameters defined in the deployment configuration are +available from the [classname]#DeploymentConfiguration# object managed by the +[classname]#VaadinSession#. + + +[source, java] +---- +DeploymentConfiguration conf = + getSession().getConfiguration(); + +// Heartbeat interval in seconds +int heartbeatInterval = conf.getHeartbeatInterval(); +---- + +Parameters defined in the Java Servlet definition, such as the session timeout, +are available from the low-level [classname]#HttpSession# or +[classname]#PortletSession# object, which are wrapped in a +[classname]#WrappedSession# in Vaadin. You can access the low-level session +wrapper with [methodname]#getSession()# of the [classname]#VaadinSession#. + + +[source, java] +---- +WrappedSession session = getSession().getSession(); +int sessionTimeout = session.getMaxInactiveInterval(); +---- + +You can also access other [classname]#HttpSession# and +[classname]#PortletSession# session properties through the interface, such as +set and read session attributes that are shared by all servlets belonging to a +particular servlet or portlet session. + + + + diff --git a/documentation/application/application-errors.asciidoc b/documentation/application/application-errors.asciidoc new file mode 100644 index 0000000000..22f962a07c --- /dev/null +++ b/documentation/application/application-errors.asciidoc @@ -0,0 +1,196 @@ +--- +title: Handling Errors +order: 6 +layout: page +--- + +[[application.errors]] += Handling Errors + +[[application.errors.error-indicator]] +== Error Indicator and Message + +All components have a built-in error indicator that is turned on if validating +the component fails, and can be set explicitly with +[methodname]#setComponentError()#. Usually, the error indicator is placed right +of the component caption. The error indicator is part of the component caption, +so its placement is usually managed by the layout in which the component is +contained, but some components handle it themselves. Hovering the mouse pointer +over the field displays the error message. + + +[source, java] +---- +textfield.setComponentError(new UserError("Bad value")); +button.setComponentError(new UserError("Bad click")); +---- + +The result is shown in <<figure.application.errors.error-indicator>>. + +[[figure.application.errors.error-indicator]] +.Error Indicator Active +image::img/errorindicator-example2.png[] + +[[application.errors.reconnect]] +== Connection Fault + +If the connection to the server is lost, Vaadin application shows a "lost connection" notification +and tries to restore the connection. After several retries, an error message is shown. +You can customize the messages, timeouts and the number of reconnect attempts using [classname]#ReconnectDialogConfiguration# +class. Use [methodname]#getReconnectDialogConfiguration# of your [classname]#UI# object. + +ifdef::web[] +[[application.errors.systemmessages]] +== Customizing System Messages + +System messages are notifications that indicate a major invalid state that +usually requires restarting the application. Session timeout is perhaps the most +typical such state. + +System messages are strings managed in the [classname]#SystemMessages# class. + +sessionExpired:: ((("session", +"expiration"))) +((("session", +"timeout"))) +The Vaadin session expired. A session expires if no server requests are made +during the session timeout period. The session timeout can be configured with +the [parameter]#session-timeout# parameter in [filename]#web.xml#, as described +in +<<dummy/../../../framework/application/application-environment#application.environment.web-xml,"Using +a web.xml Deployment Descriptor">>. + +communicationError:: An unspecified communication problem between the Vaadin Client-Side Engine and +the application server. The server may be unavailable or there is some other +problem. + +authenticationError:: This error occurs if 401 (Unauthorized) response to a request is received from +the server. + +internalError:: A serious internal problem, possibly indicating a bug in Vaadin Client-Side +Engine or in some custom client-side code. + +outOfSync:: The client-side state is invalid with respect to server-side state. + +cookiesDisabled:: Informs the user that cookies are disabled in the browser and the application +does not work without them. + + + +Each message has four properties: a short caption, the actual message, a URL to +which to redirect after displaying the message, and property indicating whether +the notification is enabled. + +Additional details may be written (in English) to the debug console window +described in +<<dummy/../../../framework/advanced/advanced-debug#advanced.debug,"Debug Mode +and Window">>. + +You can override the default system messages by setting the +[interfacename]#SystemMessagesProvider# in the [classname]#VaadinService#. You +need to implement the [methodname]#getSystemMessages()# method, which should +return a [classname]#SystemMessages# object. The easiest way to customize the +messages is to use a [classname]#CustomizedSystemMessages# object. + +You can set the system message provider in the +[methodname]#servletInitialized()# method of a custom servlet class, for example +as follows: + + +[source, java] +---- +getService().setSystemMessagesProvider( + new SystemMessagesProvider() { + @Override + public SystemMessages getSystemMessages( + SystemMessagesInfo systemMessagesInfo) { + CustomizedSystemMessages messages = + new CustomizedSystemMessages(); + messages.setCommunicationErrorCaption("Comm Err"); + messages.setCommunicationErrorMessage("This is bad."); + messages.setCommunicationErrorNotificationEnabled(true); + messages.setCommunicationErrorURL("http://vaadin.com/"); + return messages; + } +}); +---- + +See +<<dummy/../../../framework/application/application-lifecycle#application.lifecycle.servlet-service,"Vaadin +Servlet, Portlet, and Service">> for information about customizing Vaadin +servlets. + +endif::web[] + +ifdef::web[] +[[application.errors.unchecked-exceptions]] +== Handling Uncaught Exceptions + +Handling events can result in exceptions either in the application logic or in +the framework itself, but some of them may not be caught properly by the +application. Any such exceptions are eventually caught by the framework. It +delegates the exceptions to the [classname]#DefaultErrorHandler#, which displays +the error as a component error, that is, with a small red "!" -sign (depending +on the theme). If the user hovers the mouse pointer over it, the entire +backtrace of the exception is shown in a large tooltip box, as illustrated in +<<figure.application.errors.unchecked-exceptions>>. + +[[figure.application.errors.unchecked-exceptions]] +.Uncaught Exception in Component Error Indicator +image::img/errorindicator-exception.png[] + +You can customize the default error handling by implementing a custom +[interfacename]#ErrorHandler# and enabling it with +[methodname]#setErrorHandler()# in any of the components in the component +hierarchy, including the [classname]#UI#, or in the [classname]#VaadinSession# +object. You can either implement the [interfacename]#ErrorHandler# or extend the +[classname]#DefaultErrorHandler#. In the following example, we modify the +behavior of the default handler. + + +[source, java] +---- +// Here's some code that produces an uncaught exception +final VerticalLayout layout = new VerticalLayout(); +final Button button = new Button("Click Me!", + new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + ((String)null).length(); // Null-pointer exception + } +}); +layout.addComponent(button); + +// Configure the error handler for the UI +UI.getCurrent().setErrorHandler(new DefaultErrorHandler() { + @Override + public void error(com.vaadin.server.ErrorEvent event) { + // Find the final cause + String cause = "<b>The click failed because:</b><br/>"; + for (Throwable t = event.getThrowable(); t != null; + t = t.getCause()) + if (t.getCause() == null) // We're at final cause + cause += t.getClass().getName() + "<br/>"; + + // Display the error message in a custom fashion + layout.addComponent(new Label(cause, ContentMode.HTML)); + + // Do the default error handling (optional) + doDefault(event); + } +}); +---- + +The above example also demonstrates how to dig up the final cause from the cause +stack. + +When extending [classname]#DefaultErrorHandler#, you can call +[methodname]#doDefault()# as was done above to run the default error handling, +such as set the component error for the component where the exception was +thrown. See the source code of the implementation for more details. You can call +[methodname]#findAbstractComponent(event)# to find the component that caused the +error. If the error is not associated with a component, it returns null. + +endif::web[] + + + diff --git a/documentation/application/application-events.asciidoc b/documentation/application/application-events.asciidoc new file mode 100644 index 0000000000..94175d88e7 --- /dev/null +++ b/documentation/application/application-events.asciidoc @@ -0,0 +1,195 @@ +--- +title: Handling Events with Listeners +order: 4 +layout: page +--- + +[[application.events]] += Handling Events with Listeners + +Let us put into practice what we learned of event handling in +<<dummy/../../../framework/architecture/architecture-events#architecture.events,"Events +and Listeners">>. You can implement listener interfaces in a regular class, but +it brings the problem with differentiating between different event sources. +Using anonymous class for listeners is recommended in most cases. + +[[application.events.anonymous]] +== Using Anonymous Classes + +By far the easiest and the most common way to handle events in Java 6 and 7 is +to use anonymous local classes. It encapsulates the handling of events to where +the component is defined and does not require cumbering the managing class with +interface implementations. The following example defines an anonymous class that +inherits the [classname]#Button.ClickListener# interface. + + +[source, java] +---- +// Have a component that fires click events +final Button button = new Button("Click Me!"); + +// Handle the events with an anonymous class +button.addClickListener(new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + button.setCaption("You made me click!"); + } +}); +---- +See the http://demo.vaadin.com/book-examples-vaadin7/book#application.eventlistener.anonymous[on-line example, window="_blank"]. + +Local objects referenced from within an anonymous class, such as the +[classname]#Button# object in the above example, must be declared +[literal]#++final++#. + +Most components allow passing a listener to the constructor, thereby losing a +line or two. However, notice that if accessing the component that is constructed +from an anonymous class, you must use a reference that is declared before the +constructor is executed, for example as a member variable in the outer class. If +it is declared in the same expression where the constructor is called, it +doesn't yet exist. In such cases, you need to get a reference to the component +from the event object. + + +[source, java] +---- +final Button button = new Button("Click It!", + new Button.ClickListener() { + @Override + public void buttonClick(ClickEvent event) { + event.getButton().setCaption("Done!"); + } + }); +---- +See the http://demo.vaadin.com/book-examples-vaadin7/book#application.eventlistener.constructor[on-line example, window="_blank"]. + + +[[application.events.java8]] +== Handling Events in Java 8 + +Java 8 introduced lambda expressions, which offer a replacement for listeners. +You can directly use lambda expressions in place of listeners that have only one +method to implement. + +For example, in the following, we use a lambda expression to handle button click +events in the constructor: + + +[source, java] +---- +layout.addComponent(new Button("Click Me!", + event -> event.getButton().setCaption("You made click!"))); +---- +See the http://demo.vaadin.com/book-examples-vaadin7/book#application.eventlistener.java8[on-line example, window="_blank"]. + +Java 8 is the future that is already here, and as Vaadin API uses event +listeners extensively, using lambda expressions makes UI code much more +readable. + +Directing events to handler methods is easy with method references: + + +[source, java] +---- +public class Java8Buttons extends CustomComponent { + public Java8Buttons() { + setCompositionRoot(new HorizontalLayout( + new Button("OK", this::ok), + new Button("Cancel", this::cancel))); + } + + public void ok(ClickEvent event) { + event.getButton().setCaption ("OK!"); + } + + public void cancel(ClickEvent event) { + event.getButton().setCaption ("Not OK!"); + } +} +---- +See the http://demo.vaadin.com/book-examples-vaadin7/book#application.eventlistener.java8differentiation[on-line example, window="_blank"]. + + +[[application.events.classlistener]] +== Implementing a Listener in a Regular Class + +The following example follows a typical pattern where you have a +[classname]#Button# component and a listener that handles user interaction +(clicks) communicated to the application as events. Here we define a class that +listens to click events. + + +[source, java] +---- +public class MyComposite extends CustomComponent + implements Button.ClickListener { + Button button; // Defined here for access + + public MyComposite() { + Layout layout = new HorizontalLayout(); + + // Just a single component in this composition + button = new Button("Do not push this"); + button.addClickListener(this); + layout.addComponent(button); + + setCompositionRoot(layout); + } + + // The listener method implementation + public void buttonClick(ClickEvent event) { + button.setCaption("Do not push this again"); + } +} +---- +See the http://demo.vaadin.com/book-examples-vaadin7/book#application.eventlistener.classlistener[on-line example, window="_blank"]. + + +[[application.events.differentiation]] +== Differentiating Between Event Sources + +If an application receives events of the same type from multiple sources, such +as multiple buttons, it has to be able to distinguish between the sources. If +using a regular class listener, distinguishing between the components can be +done by comparing the source of the event with each of the components. The +method for identifying the source depends on the event type. + + +[source, java] +---- +public class TheButtons extends CustomComponent + implements Button.ClickListener { + Button onebutton; + Button toobutton; + + public TheButtons() { + onebutton = new Button("Button One", this); + toobutton = new Button("A Button Too", this); + + // Put them in some layout + Layout root = new HorizontalLayout(); + root.addComponent(onebutton); + root.addComponent(toobutton); + setCompositionRoot(root); + } + + @Override + public void buttonClick(ClickEvent event) { + // Differentiate targets by event source + if (event.getButton() == onebutton) + onebutton.setCaption ("Pushed one"); + else if (event.getButton() == toobutton) + toobutton.setCaption ("Pushed too"); + } +} +---- +See the http://demo.vaadin.com/book-examples-vaadin7/book#application.eventlistener.differentiation[on-line example, window="_blank"]. + +Other techniques exist for separating between event sources, such as using +object properties, names, or captions to separate between them. Using captions +or any other visible text is generally discouraged, as it may create problems +for internationalization. Using other symbolic strings can also be dangerous, +because the syntax of such strings is checked only at runtime. + + + + diff --git a/documentation/application/application-lifecycle.asciidoc b/documentation/application/application-lifecycle.asciidoc new file mode 100644 index 0000000000..269f3d75b5 --- /dev/null +++ b/documentation/application/application-lifecycle.asciidoc @@ -0,0 +1,502 @@ +--- +title: Application Lifecycle +order: 8 +layout: page +--- + +[[application.lifecycle]] += Application Lifecycle + +In this section, we look into more technical details of application deployment, +user sessions, and UI instance lifecycle. These details are not generally needed +for writing Vaadin applications, but may be useful for understanding how they +actually work and, especially, in what circumstances their execution ends. + +[[application.lifecycle.deployment]] +== Deployment + +Before a Vaadin application can be used, it has to be deployed to a Java web +server, as described in +<<dummy/../../../framework/application/application-environment#application.environment,"Deploying +an Application">>. Deploying reads the servlet classes annotated with the +[literal]#++@WebServlet++# annotation (Servlet 3.0) or the [filename]#web.xml# +deployment descriptor (Servlet 2.4) in the application to register servlets for +specific URL paths and loads the classes. Deployment does not yet normally run +any code in the application, although static blocks in classes are executed when +they are loaded. + +[[application.lifecycle.deployment.redeployment]] +=== Undeploying and Redeploying + +Applications are undeployed when the server shuts down, during redeployment, and +when they are explicitly undeployed. Undeploying a server-side Vaadin +application ends its execution, all application classes are unloaded, and the +heap space allocated by the application is freed for garbage-collection. + +If any user sessions are open at this point, the client-side state of the UIs is +left hanging and an Out of Sync error is displayed on the next server request. + + +[[application.lifecycle.deployment.serialization]] +=== Redeployment and Serialization + +Some servers, such as Tomcat, support __hot deployment__, where the classes are +reloaded while preserving the memory state of the application. This is done by +serializing the application state and then deserializing it after the classes +are reloaded. This is, in fact, done with the basic Eclipse setup with Tomcat +and if a UI is marked as [classname]#@PreserveOnRefresh#, you may actually need +to give the [literal]#++?restartApplication++# URL parameter to force it to +restart when you reload the page. Tools such as JRebel go even further by +reloading the code in place without need for serialization. The server can also +serialize the application state when shutting down and restarting, thereby +preserving sessions over restarts. + +Serialization requires that the applications are __serializable__, that is, all +classes implement the [interfacename]#Serializable# interface. All Vaadin +classes do. If you extend them or implement interfaces, you can provide an +optional serialization key, which is automatically generated by Eclipse if you +use it. Serialization is also used for clustering and cloud computing, such as +with Google App Engine. + +ifdef::web[] +For more about that topic, see +<<dummy/../../../framework/advanced/advanced-gae#advanced.gae,"Google App Engine +Integration">>. +endif::web[] + + + +[[application.lifecycle.servlet-service]] +== Vaadin Servlet, Portlet, and Service + +The [classname]#VaadinServlet#, or [classname]#VaadinPortlet# in a portal, +receives all server requests mapped to it by its URL, as defined in the +deployment configuration, and associates them with sessions. The sessions +further associate the requests with particular UIs. + +When servicing requests, the Vaadin servlet or portlet handles all tasks common +to both servlets and portlets in a [classname]#VaadinService#. It manages +sessions, gives access to the deployment configuration information, handles +system messages, and does various other tasks. Any further servlet or portlet +specific tasks are handled in the corresponding +[classname]#VaadinServletService# or [classname]#VaadinPortletService#. The +service acts as the primary low-level customization layer for processing +requests. + +[[application.lifecycle.servlet-service.servletcustomization]] +=== Customizing Vaadin Servlet + +Many common configuration tasks need to be done in the servlet class, which you +already have if you are using the [literal]#++@WebServlet++# annotation for +Servlet 3.0 to deploy the application. You can handle most customization by +overriding the [methodname]#servletInitialized()# method, where the +[classname]#VaadinService# object is available with [methodname]#getService()# +(it would not be available in a constructor). You should always call +[methodname]#super.servletInitialized()# in the beginning. + + +[source, java] +---- +public class MyServlet extends VaadinServlet { + @Override + protected void servletInitialized() + throws ServletException { + super.servletInitialized(); + + ... + } +} +---- + +To add custom functionality around request handling, you can override the +[methodname]#service()# method. + +To use the custom servlet class in a Servlet 2.4 project, you need to define it +in the [filename]#web.xml# deployment descriptor instead of the regular +[classname]#VaadinServlet# class, as described in +<<dummy/../../../framework/application/application-environment#application.environment.web-xml,"Using +a web.xml Deployment Descriptor">>. + + +ifdef::web[] +[[application.lifecycle.servlet-service.portletcustomization]] +=== Customizing Vaadin Portlet + +__To Be Done__ + +endif::web[] + +ifdef::web[] +[[application.lifecycle.servlet-service.servicecustomization]] +=== Customizing Vaadin Service + +To customize [classname]#VaadinService#, you first need to extend the +[classname]#VaadinServlet# or - [classname]#Portlet# class and override the +[methodname]#createServletService()# to create a custom service object. + +endif::web[] + + +[[application.lifecycle.session]] +== User Session + +((("session"))) +A user session begins when a user first makes a request to a Vaadin servlet or +portlet by opening the URL for a particular [classname]#UI#. All server requests +belonging to a particular UI class are processed by the +[classname]#VaadinServlet# or [classname]#VaadinPortlet# class. When a new +client connects, it creates a new user session, represented by an instance of +[classname]#VaadinSession#. Sessions are tracked using cookies stored in the +browser. + +You can obtain the [classname]#VaadinSession# of a [classname]#UI# with +[methodname]#getSession()# or globally with +[methodname]#VaadinSession.getCurrent()#. It also provides access to the +lower-level session objects, [interfacename]#HttpSession# and +[interfacename]#PortletSession#, through a [classname]#WrappedSession#. You can +also access the deployment configuration through [classname]#VaadinSession#, as +described in +<<dummy/../../../framework/application/application-environment#application.environment.configuration,"Deployment +Configuration">>. + +A session ends after the last [classname]#UI# instance expires or is closed, as +described later. + +[[application.lifecycle.session.init]] +=== Handling Session Initialization and Destruction + +((("[classname]#SessionInitListener#"))) +((("[classname]#SessionDestroyListener#"))) +((("[classname]#VaadinService#"))) +You can handle session initialization and destruction by implementing a +[interfacename]#SessionInitListener# or [interfacename]#SessionDestroyListener#, +respectively, to the [classname]#VaadinService#. +((("[methodname]#servletInitialized()#"))) +((("[classname]#VaadinServlet#"))) +You can do that best by extending [classname]#VaadinServlet# and overriding the +[methodname]#servletInitialized()# method, as outlined in +<<application.lifecycle.servlet-service>>. + + +[source, java] +---- +public class MyServlet extends VaadinServlet + implements SessionInitListener, SessionDestroyListener { + + @Override + protected void servletInitialized() throws ServletException { + super.servletInitialized(); + getService().addSessionInitListener(this); + getService().addSessionDestroyListener(this); + } + + @Override + public void sessionInit(SessionInitEvent event) + throws ServiceException { + // Do session start stuff here + } + + @Override + public void sessionDestroy(SessionDestroyEvent event) { + // Do session end stuff here + } +} +---- + +If using Servlet 2.4, you need to configure the custom servlet class in the +[parameter]#servlet-class# parameter in the [filename]#web.xml# descriptor +instead of the [classname]#VaadinServlet#, as described in +<<dummy/../../../framework/application/application-environment#application.environment.web-xml,"Using +a web.xml Deployment Descriptor">>. + + + +[[application.lifecycle.ui]] +== Loading a UI + +((("UI", "loading"))) +When a browser first accesses a URL mapped to the servlet of a particular UI +class, the Vaadin servlet generates a loader page. The page loads the +client-side engine (widget set), which in turn loads the UI in a separate +request to the Vaadin servlet. + +((("[classname]#UIProvider#"))) +((("[classname]#DefaultUIProvider#"))) +((("[classname]#BrowserWindowOpener#"))) +A [classname]#UI# instance is created when the client-side engine makes its +first request. The servlet creates the UIs using a [classname]#UIProvider# +registered in the [classname]#VaadinSession# instance. A session has at least a +[classname]#DefaultUIProvider# for managing UIs opened by the user. If the +application lets the user open popup windows with a +[classname]#BrowserWindowOpener#, each of them has a dedicated special UI +provider. + +((("[classname]#VaadinRequest#"))) +((("[methodname]#init()#"))) +Once a new UI is created, its [methodname]#init()# method is called. The method +gets the request as a [classname]#VaadinRequest#. + +[[application.lifecycle.ui.loaderpage]] +=== Customizing the Loader Page + +The HTML content of the loader page is generated as an HTML DOM object, which +can be customized by implementing a [interfacename]#BootstrapListener# that +modifies the DOM object. To do so, you need to extend the +[classname]#VaadinServlet# and add a [interfacename]#SessionInitListener# to the +service object, as outlined in <<application.lifecycle.session>>. You can then +add the bootstrap listener to a session with +[methodname]#addBootstrapListener()# when the session is initialized. + +Loading the widget set is handled in the loader page with functions defined in a +separate [filename]#vaadinBootstrap.js# script. + +You can also use entirely custom loader code, such as in a static HTML page, as +described in +<<dummy/../../../framework/advanced/advanced-embedding#advanced.embedding,"Embedding +UIs in Web Pages">>. + + +[[application.lifecycle.ui.uiprovider]] +=== Custom UI Providers + +((("[interfacename]#UIProvider#", "custom"))) +You can create UI objects dynamically according to their request parameters, +such as the URL path, by defining a custom [interfacename]#UIProvider#. You need +to add custom UI providers to the session object which calls them. The providers +are chained so that they are requested starting from the one added last, until +one returns a UI (otherwise they return null). You can add a UI provider to a +session most conveniently by implementing a custom servlet and adding the UI +provider to sessions in a [interfacename]#SessionInitListener#. + +You can find an example of custom UI providers in +<<dummy/../../../mobile/mobile-features#mobile.features.fallback,"Providing a +Fallback UI">>. + + +[[application.lifecycle.ui.preserving]] +=== Preserving UI on Refresh + +((("UI", "preserving on refresh"))) +((("[classname]#@PreserveOnRefresh#"))) +Reloading a page in the browser normally spawns a new [classname]#UI# instance +and the old UI is left hanging, until cleaned up after a while. This can be +undesired as it resets the UI state for the user. To preserve the UI, you can +use the [classname]#@PreserveOnRefresh# annotation for the UI class. You can +also use a [classname]#UIProvider# with a custom implementation of +[methodname]#isUiPreserved()#. + + +[source, java] +---- +@PreserveOnRefresh +public class MyUI extends UI { +---- + +Adding the ?restartApplication parameter in the URL tells the Vaadin servlet to +create a new [classname]#UI# instance when loading the page, thereby overriding +the [classname]#@PreserveOnRefresh#. This is often necessary when developing +such a UI in Eclipse, when you need to restart it after redeploying, because +Eclipse likes to persist the application state between redeployments. If you +also include a URI fragment, the parameter should be given before the fragment. + + + +[[application.lifecycle.ui-expiration]] +== UI Expiration + +((("UI", "expiration"))) +[classname]#UI# instances are cleaned up if no communication is received from +them after some time. If no other server requests are made, the client-side +sends keep-alive heartbeat requests. A UI is kept alive for as long as requests +or heartbeats are received from it. It expires if three consecutive heartbeats +are missed. + +The heartbeats occur at an interval of 5 minutes, which can be changed with the +[parameter]#heartbeatInterval# parameter of the servlet. You can configure the +parameter in [classname]#@VaadinServletConfiguration# or in [filename]#web.xml# +as described in +<<dummy/../../../framework/application/application-environment#application.environment.parameters,"Other +Servlet Configuration Parameters">>. + +When the UI cleanup happens, a [classname]#DetachEvent# is sent to all +[classname]#DetachListener#s added to the UI. When the [classname]#UI# is +detached from the session, [methodname]#detach()# is called for it. + + +[[application.lifecycle.ui-closing]] +== Closing UIs Explicitly + +((("UI", "closing"))) +((("[methodname]#close()#", +"UI"))) +You can explicitly close a UI with [methodname]#close()#. The method marks the +UI to be detached from the session after processing the current request. +Therefore, the method does not invalidate the UI instance immediately and the +response is sent as usual. + +Detaching a UI does not close the page or browser window in which the UI is +running and further server request will cause error. Typically, you either want +to close the window, reload it, or redirect it to another URL. If the page is a +regular browser window or tab, browsers generally do not allow closing them +programmatically, but redirection is possible. You can redirect the window to +another URL with [methodname]#setLocation()#, as is done in the examples in +<<application.lifecycle.session-closing>>. You can close popup windows by making +JavaScript [methodname]#close()# call for them, as described in +<<dummy/../../../framework/advanced/advanced-windows#advanced.windows.popup-closing,"Closing +Popup Windows">>. + +If you close other UI than the one associated with the current request, they +will not be detached at the end of the current request, but after next request +from the particular UI. You can make that occur quicker by making the UI +heartbeat faster or immediately by using server push. + + +[[application.lifecycle.session-expiration]] +== Session Expiration + +((("session", "expiration"))) +A session is kept alive by server requests caused by user interaction with the +application as well as the heartbeat monitoring of the UIs. Once all UIs have +expired, the session still remains. It is cleaned up from the server when the +session timeout configured in the web application expires. + +((("closeIdleSessions"))) +If there are active UIs in an application, their heartbeat keeps the session +alive indefinitely. You may want to have the sessions timeout if the user is +inactive long enough, which is the original purpose of the session timeout +setting. ((("session", +"timeout"))) +((("closeIdleSessions"))) +If the [parameter]#closeIdleSessions# parameter of the servlet is set to +[literal]#++true++# in the [filename]#web.xml#, as described in +<<dummy/../../../framework/application/application-environment#application.environment.web-xml,"Using +a web.xml Deployment Descriptor">>, the session and all of its UIs are closed +when the timeout specified by the [parameter]#session-timeout# parameter of the +servlet expires after the last non-heartbeat request. Once the session is gone, +the browser will show an Out Of Sync error on the next server request. +((("redirection"))) +To avoid the ugly message, you may want to set a redirect URL for the UIs + +ifdef::web[] +, as described in +<<dummy/../../../framework/application/application-errors#application.errors.systemmessages,"Customizing +System +Messages">> +endif::web[] +. + +The related configuration parameters are described in +<<dummy/../../../framework/application/application-environment#application.environment.parameters,"Other +Servlet Configuration Parameters">>. + +((("[interfacename]#SessionDestroyListener#"))) +You can handle session expiration on the server-side with a +[interfacename]#SessionDestroyListener#, as described in +<<application.lifecycle.session>>. + + +[[application.lifecycle.session-closing]] +== Closing a Session + +((("session", "closing"))) +((("[methodname]#close()#"))) +You can close a session by calling [methodname]#close()# on the +[classname]#VaadinSession#. It is typically used when logging a user out and the +session and all the UIs belonging to the session should be closed. The session +is closed immediately and any objects related to it are not available after +calling the method. + +When closing the session from a UI, you typically want to redirect the user to +another URL. +((("redirection"))) +((("[methodname]#setLocation()#"))) +((("Page", +"[methodname]#setLocation()#"))) +You can do the redirect using the [methodname]#setLocation()# method in +[classname]#Page#. This needs to be done before closing the session, as the UI +or page are not available after that. In the following example, we display a +logout button, which closes the user session. + +((("logout"))) + +[source, java] +---- +public class MyUI extends UI { + @Override + protected void init(VaadinRequest request) { + setContent(new Button("Logout", event -> {// Java 8 + // Redirect this page immediately + getPage().setLocation("/myapp/logout.html"); + + // Close the session + getSession().close(); + })); + + // Notice quickly if other UIs are closed + setPollInterval(3000); + } +} +---- +See the http://demo.vaadin.com/book-examples-vaadin7/book#application.lifecycle.closing[on-line example, window="_blank"]. + +This is not enough. When a session is closed from one UI, any other UIs attached +to it are left hanging. When the client-side engine notices that a UI and the +session are gone on the server-side, it displays a "Session Expired" message +and, by default, reloads the UI when the message is clicked. ((("session", +"expiration"))) +((("redirection"))) +((("system +messages"))) +You can customize the message and the redirect URL in the system messages + +ifdef::web[] +, as described in +<<dummy/../../../framework/application/application-errors#application.errors.systemmessages,"Customizing +System +Messages">> +endif::web[] +. + +((("heartbeat"))) +((("UI", +"heartbeat"))) +((("push"))) +((("server +push"))) +The client-side engine notices the expiration when user interaction causes a +server request to be made or when the keep-alive heartbeat occurs. To make the +UIs detect the situation faster, you need to make the heart beat faster, as was +done in the example above. You can also use server push to close the other UIs +immediately, as is done in the following example. Access to the UIs must be +synchronized as described in +<<dummy/../../../framework/advanced/advanced-push#advanced.push,"Server Push">>. + + +[source, java] +---- +@Push +public class MyPushyUI extends UI { + @Override + protected void init(VaadinRequest request) { + setContent(new Button("Logout", event -> {// Java 8 + for (UI ui: VaadinSession.getCurrent().getUIs()) + ui.access(() -> { + // Redirect from the page + ui.getPage().setLocation("/logout.html"); + }); + + getSession().close(); + })); + } +} +---- +See the http://demo.vaadin.com/book-examples-vaadin7/book#application.lifecycle.closingall[on-line example, window="_blank"]. + +In the above example, we assume that all UIs in the session have push enabled +and that they should be redirected; popups you might want to close instead of +redirecting. It is not necessary to call [methodname]#close()# for them +individually, as we close the entire session afterwards. + + + + diff --git a/documentation/application/application-notifications.asciidoc b/documentation/application/application-notifications.asciidoc new file mode 100644 index 0000000000..d58bf7b59a --- /dev/null +++ b/documentation/application/application-notifications.asciidoc @@ -0,0 +1,177 @@ +--- +title: Notifications +order: 7 +layout: page +--- + +[[application.notifications]] += Notifications + +Notifications are error or information boxes that appear briefly, typically at +the center of the screen. A notification box has a caption and an optional +description and icon. The box stays on the screen either for a preset time or +until the user clicks it. The notification type defines the default appearance +and behaviour of a notification. + +There are two ways to create a notification. The easiest is to use a static +shorthand [methodname]#Notification.show()# method, which takes the caption of +the notification as a parameter, and an optional description and notification +type, and displays it in the current page. + + +[source, java] +---- +Notification.show("This is the caption", + "This is the description", + Notification.Type.WARNING_MESSAGE); +---- + +[[figure.notification.example1]] +.Notification +image::img/notification-example2.png[] + +For more control, you can create a [classname]#Notification# object. Different +constructors exist for taking just the caption, and optionally the description, +notification type, and whether HTML is allowed or not. Notifications are shown +in a [classname]#Page#, typically the current page. + + +[source, java] +---- +new Notification("This is a warning", + "<br/>This is the <i>last</i> warning", + Notification.TYPE_WARNING_MESSAGE, true) + .show(Page.getCurrent()); +---- + +The caption and description are by default written on the same line. If you want +to have a line break between them, use the HTML line break markup " +[literal]#++<br/>++#" if HTML is enabled, or " [literal]#++\n++#" if not. HTML +is disabled by default, but can be enabled with +[methodname]#setHtmlContentAllowed(true)#. When enabled, you can use any HTML +markup in the caption and description of a notification. If it is in any way +possible to get the notification content from user input, you should either +disallow HTML or sanitize the content carefully, as noted in +<<dummy/../../../framework/advanced/advanced-security#advanced.security.sanitizing,"Sanitizing +User Input to Prevent Cross-Site Scripting">>. + +[[figure.notification.example2]] +.Notification with HTML Formatting +image::img/notification-example3.png[] + +[[application.notifications.type]] +== Notification Type + +The notification type defines the overall default style and behaviour of a +notification. If no notification type is given, the "humanized" type is used as +the default. The notification types, listed below, are defined in the +[classname]#Notification.Type# class. + +[parameter]#TYPE_HUMANIZED_MESSAGE# image:[]:: A user-friendly message that does not annoy too much: it does not require +confirmation by clicking and disappears quickly. It is centered and has a +neutral gray color. + +[parameter]#TYPE_WARNING_MESSAGE# image:[]:: Warnings are messages of medium importance. They are displayed with colors that +are neither neutral nor too distractive. A warning is displayed for 1.5 seconds, +but the user can click the message box to dismiss it. The user can continue to +interact with the application while the warning is displayed. + +[parameter]#TYPE_ERROR_MESSAGE# image:[]:: Error messages are notifications that require the highest user attention, with +alert colors, and they require the user to click the message to dismiss it. The +error message box does not itself include an instruction to click the message, +although the close box in the upper right corner indicates it visually. Unlike +with other notifications, the user can not interact with the application while +the error message is displayed. + +[parameter]#TYPE_TRAY_NOTIFICATION# image:[]:: Tray notifications are displayed in the "system tray" area, that is, in the +lower-right corner of the browser view. As they do not usually obscure any user +interface, they are displayed longer than humanized or warning messages, 3 +seconds by default. The user can continue to interact with the application +normally while the tray notification is displayed. + + + + +ifdef::web[] +[[application.notifications.customization]] +== Customizing Notifications + +All of the features of specific notification types can be controlled with the +[classname]#Notification# properties. Once configured, you need to show it in +the current page. + + +[source, java] +---- +// Notification with default settings for a warning +Notification notif = new Notification( + "Warning", + "<br/>Area of reindeer husbandry", + Notification.TYPE_WARNING_MESSAGE); + +// Customize it +notif.setDelayMsec(20000); +notif.setPosition(Position.BOTTOM_RIGHT); +notif.setStyleName("mystyle"); +notif.setIcon(new ThemeResource("img/reindeer.png")); + +// Show it in the page +notif.show(Page.getCurrent()); +---- + +The [methodname]#setPosition()# method allows setting the positioning of the +notification. The position can be specified by any of the constants defined in +the [classname]#Position# enum. + +The [methodname]#setDelayMSec()# allows setting the time for how long the +notification is displayed in milliseconds. Parameter value [literal]#++-1++# +means that the message is displayed until the user clicks the message box. It +also prevents interaction with other parts of the application window, which is +the default behaviour for error notifications. It does not, however, add a close +box that the error notification has. + +endif::web[] + +[[application.notifications.css]] +== Styling with CSS + + +[source, css] +---- +.v-Notification {} + .popupContent {} + .gwt-HTML {} + h1 {} + p {} +---- + +The notification box is a floating [literal]#++div++# element under the +[literal]#++body++# element of the page. It has an overall +[literal]#++v-Notification++# style. The content is wrapped inside an element +with [literal]#++popupContent++# style. The caption is enclosed within an +[literal]#++h1++# element and the description in a [literal]#++p++# element. + +To customize it, add a style for the [classname]#Notification# object with +[methodname]#setStyleName("mystyle")#, and make the settings in the theme, for +example as follows: + + +[source, css] +---- +.v-Notification.mystyle { + background: #FFFF00; + border: 10px solid #C00000; + color: black; +} +---- + +The result is shown, with the icon set earlier in the customization example, in +<<figure.application.errors.notifications.css>>. + +[[figure.application.errors.notifications.css]] +.A Styled Notification +image::img/notification-customization.png[] + + + + diff --git a/documentation/application/application-overview.asciidoc b/documentation/application/application-overview.asciidoc new file mode 100644 index 0000000000..b70df520f9 --- /dev/null +++ b/documentation/application/application-overview.asciidoc @@ -0,0 +1,158 @@ +--- +title: Overview +order: 1 +layout: page +--- + +[[application.overview]] += Overview + +A server-side Vaadin application runs as a Java Servlet in a servlet container. +The Java Servlet API is, however, hidden behind the framework. The user +interface of the application is implemented as a __UI__ class, which needs to +create and manage the user interface components that make up the user interface. +User input is handled with event listeners, although it is also possible to bind +the user interface components directly to data. The visual style of the +application is defined in themes as CSS or Sass. Icons, other images, and +downloadable files are handled as __resources__, which can be external or served +by the application server or the application itself. + +[[figure.application.architecture]] +.Server-Side Application Architecture +image::img/application-architecture-hi.png[] + +<<figure.application.architecture>> illustrates the basic architecture of an +application made with the Vaadin Framework, with all the major elements, which +are introduced below and discussed in detail in this chapter. + +First of all, a Vaadin application must have one or more UI classes that extend +the abstract [classname]#com.vaadin.ui.UI# class and implement the +[methodname]#init()# method. A custom theme can be defined as an annotation for +the UI. + + +[source, java] +---- +@Theme("hellotheme") +public class HelloWorld extends UI { + protected void init(VaadinRequest request) { + ... initialization code goes here ... + } +} +---- + +A UI is a viewport to a Vaadin application running in a web page. A web page can +actually have multiple such UIs within it. Such situation is typical especially +with portlets in a portal. An application can run in multiple browser windows, +each having a distinct [classname]#UI# instance. The UIs of an application can +be the same UI class or different. + +Vaadin framework handles servlet requests internally and associates the requests +with user sessions and a UI state. Because of this, you can develop Vaadin +applications much like you would develop desktop applications. + +The most important task in the initialization is the creation of the initial +user interface. This, and the deployment of a UI as a Java Servlet in the +Servlet container, as described in +<<dummy/../../../framework/application/application-environment#application.environment,"Deploying +an Application">>, are the minimal requirements for an application. + +Below is a short overview of the other basic elements of an application besides +UI: + +UI:: A __UI__ represents an HTML fragment in which a Vaadin application runs in a web +page. It typically fills the entire page, but can also be just a part of a page. +You normally develop a Vaadin application by extending the [classname]#UI# class +and adding content to it. A UI is essentially a viewport connected to a user +session of an application, and you can have many such views, especially in a +multi-window application. Normally, when the user opens a new page with the URL +of the Vaadin UI, a new [classname]#UI# (and the associated [classname]#Page# +object) is automatically created for it. All of them share the same user +session. + ++ +The current UI object can be accessed globally with +[methodname]#UI.getCurrent()#. The static method returns the thread-local UI +instance for the currently processed request +ifdef::web[] + (see +<<dummy/../../../framework/advanced/advanced-global#advanced.global.threadlocal,"ThreadLocal +Pattern">>) +endif::web[] +. + +Page:: A [classname]#UI# is associated with a [classname]#Page# object that represents +the web page as well as the browser window in which the UI runs. + ++ +The [classname]#Page# object for the currently processed request can be accessed +globally from a Vaadin application with [methodname]#Page.getCurrent()#. This is +equivalent to calling [methodname]#UI.getCurrent().getPage()#. + +Vaadin Session:: A [classname]#VaadinSession# object represents a user session with one or more +UIs open in the application. A session starts when a user first opens a UI of a +Vaadin application, and closes when the session expires in the server or when it +is closed explicitly. + +User Interface Components:: The user interface consists of components that are created by the application. +They are laid out hierarchically using special __layout components__, with a +content root layout at the top of the hierarchy. User interaction with the +components causes __events__ related to the component, which the application can +handle. __Field components__ are intended for inputting values and can be +directly bound to data using the Vaadin Data Model. You can make your own user +interface components through either inheritance or composition. For a thorough +reference of user interface components, see +<<dummy/../../../framework/components/components-overview.asciidoc#components.overview,"User +Interface Components">>, for layout components, see +<<dummy/../../../framework/layout/layout-overview.asciidoc#layout.overview,"Managing +Layout">>, and for compositing components, see +<<dummy/../../../framework/components/components-customcomponent#components.customcomponent,"Composition +with CustomComponent">>. + +Events and Listeners:: Vaadin follows an event-driven programming paradigm, in which events, and +listeners that handle the events, are the basis of handling user interaction in +an application (although also server push is possible as described in +<<dummy/../../../framework/advanced/advanced-push#advanced.push,"Server +Push">>). +<<dummy/../../../framework/architecture/architecture-events#architecture.events,"Events +and Listeners">> gave an introduction to events and listeners from an +architectural point-of-view, while +<<dummy/../../../framework/application/application-events#application.events,"Handling +Events with Listeners">> later in this chapter takes a more practical view. + +Resources:: A user interface can display images or have links to web pages or downloadable +documents. These are handled as __resources__, which can be external or provided +by the web server or the application itself. +<<dummy/../../../framework/application/application-resources#application.resources,"Images +and Other Resources">> gives a practical overview of the different types of +resources. + +Themes:: The presentation and logic of the user interface are separated. While the UI +logic is handled as Java code, the presentation is defined in __themes__ as CSS +or SCSS. Vaadin includes some built-in themes. User-defined themes can, in +addition to style sheets, include HTML templates that define custom layouts and +other theme resources, such as images. Themes are discussed in detail in +<<dummy/../../../framework/themes/themes-overview.asciidoc#themes.overview,"Themes">>, +custom layouts in +<<dummy/../../../framework/layout/layout-customlayout#layout.customlayout,"Custom +Layouts">>, and theme resources in +<<dummy/../../../framework/application/application-resources#application.resources.theme,"Theme +Resources">>. + +Data Binding:: Field components are essentially views to data, represented in the __Vaadin Data +Model__. Using the data model, the components can get their values from and +update user input to the data model directly, without the need for any control +code. A field component is always bound to a __property__ and a group of fields +to an __item__ that holds the properties. Items can be collected in a +__container__, which can act as a data source for some components such as tables +or lists. While all the components have a default data model, they can be bound +to a user-defined data source. For example, you can bind a [classname]#Table# +component to an SQL query response. For a complete overview of data binding in +Vaadin, please refer to +<<dummy/../../../framework/datamodel/datamodel-overview.asciidoc#datamodel.overview,"Binding +Components to Data">>. + + + + + diff --git a/documentation/application/application-resources.asciidoc b/documentation/application/application-resources.asciidoc new file mode 100644 index 0000000000..b5f5db91f2 --- /dev/null +++ b/documentation/application/application-resources.asciidoc @@ -0,0 +1,245 @@ +--- +title: Images and Other Resources +order: 5 +layout: page +--- + +[[application.resources]] += Images and Other Resources + +Web applications can display various __resources__, such as images, other +embedded content, or downloadable files, that the browser has to load from the +server. Image resources are typically displayed with the [classname]#Image# +component or as component icons. Flash animations can be displayed with +[classname]#Flash#, embedded browser frames with [classname]#BrowserFrame#, and +other content with the [classname]#Embedded# component, as described in +<<dummy/../../../framework/components/components-embedded#components.embedded,"Embedded +Resources">>. Downloadable files are usually provided by clicking a +[classname]#Link#. + +There are several ways to how such resources can be provided by the web server. +Static resources can be provided without having to ask for them from the +application. For dynamic resources, the user application must be able to create +them dynamically. The resource request interfaces in Vaadin allow applications +to both refer to static resources as well as dynamically create them. The +dynamic creation includes the [classname]#StreamResource# class and the +[interfacename]#RequestHandler# described in +<<dummy/../../../framework/advanced/advanced-requesthandler#advanced.requesthandler,"Request +Handlers">>. + +Vaadin also provides low-level facilities for retrieving the URI and other +parameters of a HTTP request. We will first look into how applications can +provide various kinds of resources and then look into low-level interfaces for +handling URIs and parameters to provide resources and functionalities. + +Notice that using request handlers to create "pages" is not normally meaningful +in Vaadin or in AJAX applications generally. Please see +<<dummy/../../../framework/architecture/architecture-technology#architecture.technology.ajax,"AJAX">> +for a detailed explanation. + +[[application.resources.api]] +== Resource Interfaces and Classes + +The resource classes in Vaadin are grouped under two interfaces: a generic +[classname]#Resource# interface and a more specific +[classname]#ConnectorResource# interface for resources provided by the servlet. + +[[figure.resource.classdiagram]] +.Resource Interface and Class Diagram +image::img/resource_classdiagram-hi.png[] + + +[[application.resources.file]] +== File Resources + +File resources are files stored anywhere in the file system. As such, they can +not be retrieved by a regular URL from the server, but need to be requested +through the Vaadin servlet. The use of file resources is typically necessary for +persistent user data that is not packaged in the web application, which would +not be persistent over redeployments. + +A file object that can be accessed as a file resource is defined with the +standard [classname]#java.io.File# class. You can create the file either with an +absolute or relative path, but the base path of the relative path depends on the +installation of the web server. For example, with Apache Tomcat, the default +current directory would be the installation path of Tomcat. + +In the following example, we provide an image resource from a file stored in the +web application. Notice that the image is stored under the [filename]#WEB-INF# +folder, which is a special folder that is never accessible using an URL, unlike +the other folders of a web application. This is a security solution - another +would be to store the resource elsewhere in the file system. + + +[source, java] +---- +// Find the application directory +String basepath = VaadinService.getCurrent() + .getBaseDirectory().getAbsolutePath(); + +// Image as a file resource +FileResource resource = new FileResource(new File(basepath + + "/WEB-INF/images/image.png")); + +// Show the image in the application +Image image = new Image("Image from file", resource); + +// Let the user view the file in browser or download it +Link link = new Link("Link to the image file", resource); +---- +See the http://demo.vaadin.com/book-examples-vaadin7/book#application.resources.fileresource[on-line example, window="_blank"]. + +The result, as well as the folder structure where the file is stored under a +regular Eclipse Vaadin project, is shown in +<<figure.application.resources.file>>. + +[[figure.application.resources.file]] +.File Resource +image::img/resource-fileresource.png[] + + +[[application.resources.class]] +== Class Loader Resources + +The [classname]#ClassResource# allows resources to be loaded from the class path +using Java Class Loader. Normally, the relevant class path entry is the +[filename]#WEB-INF/classes# folder under the web application, where the Java +compilation should compile the Java classes and copy other files from the source +tree. + +The one-line example below loads an image resource from the application package +and displays it in an [classname]#Image# component. + + +[source, java] +---- +layout.addComponent(new Image(null, + new ClassResource("smiley.jpg"))); +---- +See the http://demo.vaadin.com/book-examples-vaadin7/book#application.resources.classresource[on-line example, window="_blank"]. + + +[[application.resources.theme]] +== Theme Resources + +Theme resources of [classname]#ThemeResource# class are files, typically images, +included in a theme. A theme is located with the path +[filename]#VAADIN/themes/themename# in a web application. The name of a theme +resource is given as the parameter for the constructor, with a path relative to +the theme folder. + + +[source, java] +---- +// A theme resource in the current theme ("mytheme") +// Located in: VAADIN/themes/mytheme/img/themeimage.png +ThemeResource resource = new ThemeResource("img/themeimage.png"); + +// Use the resource +Image image = new Image("My Theme Image", resource); +---- +See the http://demo.vaadin.com/book-examples-vaadin7/book#application.resources.themeresource[on-line example, window="_blank"]. + +The result is shown in <<figure.application.resources.theme>>, also illustrating +the folder structure for the theme resource file in an Eclipse project. + +[[figure.application.resources.theme]] +.Theme Resources +image::img/resource-themeimage.png[] + +To use theme resources, you must set the theme for the UI. See +<<dummy/../../../framework/themes/themes-overview.asciidoc#themes.overview,"Themes">> +for more information regarding themes. + + +[[application.resources.stream]] +== Stream Resources + +Stream resources allow creating dynamic resource content. Charts are typical +examples of dynamic images. To define a stream resource, you need to implement +the [classname]#StreamResource.StreamSource# interface and its +[methodname]#getStream()# method. The method needs to return an +[classname]#InputStream# from which the stream can be read. + +The following example demonstrates the creation of a simple image in PNG image +format. + + +[source, java] +---- +import java.awt.image.*; + +public class MyImageSource + implements StreamResource.StreamSource { + ByteArrayOutputStream imagebuffer = null; + int reloads = 0; + + /* We need to implement this method that returns + * the resource as a stream. */ + public InputStream getStream () { + /* Create an image and draw something on it. */ + BufferedImage image = new BufferedImage (200, 200, + BufferedImage.TYPE_INT_RGB); + Graphics drawable = image.getGraphics(); + drawable.setColor(Color.lightGray); + drawable.fillRect(0,0,200,200); + drawable.setColor(Color.yellow); + drawable.fillOval(25,25,150,150); + drawable.setColor(Color.blue); + drawable.drawRect(0,0,199,199); + drawable.setColor(Color.black); + drawable.drawString("Reloads="+reloads, 75, 100); + reloads++; + + try { + /* Write the image to a buffer. */ + imagebuffer = new ByteArrayOutputStream(); + ImageIO.write(image, "png", imagebuffer); + + /* Return a stream from the buffer. */ + return new ByteArrayInputStream( + imagebuffer.toByteArray()); + } catch (IOException e) { + return null; + } + } +} +---- + +The content of the generated image is dynamic, as it updates the reloads counter +with every call. The [classname]#ImageIO#. [methodname]#write()# method writes +the image to an output stream, while we had to return an input stream, so we +stored the image contents to a temporary buffer. + +Below we display the image with the [classname]#Image# component. + + +[source, java] +---- +// Create an instance of our stream source. +StreamResource.StreamSource imagesource = new MyImageSource (); + +// Create a resource that uses the stream source and give it a name. +// The constructor will automatically register the resource in +// the application. +StreamResource resource = + new StreamResource(imagesource, "myimage.png"); + +// Create an image component that gets its contents +// from the resource. +layout.addComponent(new Image("Image title", resource)); +---- + +The resulting image is shown in <<figure.application.resource.stream>>. + +[[figure.application.resource.stream]] +.A Stream Resource +image::img/application_streamresource.png[] + +Another way to create dynamic content is a request handler, described in +<<dummy/../../../framework/advanced/advanced-requesthandler#advanced.requesthandler,"Request +Handlers">>. + + + + diff --git a/documentation/application/chapter-application.asciidoc b/documentation/application/chapter-application.asciidoc new file mode 100644 index 0000000000..06bfb06c88 --- /dev/null +++ b/documentation/application/chapter-application.asciidoc @@ -0,0 +1,25 @@ +[[application]] +== Writing a Server-Side Web Application + +This chapter provides the fundamentals of server-side web application +development with Vaadin, concentrating on the basic elements of an application +from a practical point-of-view. + + +include::application-overview.asciidoc[leveloffset=+2] + +include::application-architecture.asciidoc[leveloffset=+2] + +include::application-declarative.asciidoc[leveloffset=+2] + +include::application-events.asciidoc[leveloffset=+2] + +include::application-resources.asciidoc[leveloffset=+2] + +include::application-errors.asciidoc[leveloffset=+2] + +include::application-notifications.asciidoc[leveloffset=+2] + +include::application-lifecycle.asciidoc[leveloffset=+2] + +include::application-environment.asciidoc[leveloffset=+2] diff --git a/documentation/application/img/application-architecture-hi.png b/documentation/application/img/application-architecture-hi.png Binary files differnew file mode 100644 index 0000000000..12c41648c6 --- /dev/null +++ b/documentation/application/img/application-architecture-hi.png diff --git a/documentation/application/img/application-architecture-lo.png b/documentation/application/img/application-architecture-lo.png Binary files differnew file mode 100644 index 0000000000..907dae33e0 --- /dev/null +++ b/documentation/application/img/application-architecture-lo.png diff --git a/documentation/application/img/application_streamresource.png b/documentation/application/img/application_streamresource.png Binary files differnew file mode 100644 index 0000000000..e79932f667 --- /dev/null +++ b/documentation/application/img/application_streamresource.png diff --git a/documentation/application/img/errorindicator-example2.png b/documentation/application/img/errorindicator-example2.png Binary files differnew file mode 100644 index 0000000000..90521c7f7d --- /dev/null +++ b/documentation/application/img/errorindicator-example2.png diff --git a/documentation/application/img/errorindicator-exception.png b/documentation/application/img/errorindicator-exception.png Binary files differnew file mode 100644 index 0000000000..3a99ec9439 --- /dev/null +++ b/documentation/application/img/errorindicator-exception.png diff --git a/documentation/application/img/notification-customization.png b/documentation/application/img/notification-customization.png Binary files differnew file mode 100644 index 0000000000..32c4b807f7 --- /dev/null +++ b/documentation/application/img/notification-customization.png diff --git a/documentation/application/img/notification-error.png b/documentation/application/img/notification-error.png Binary files differnew file mode 100644 index 0000000000..8759712672 --- /dev/null +++ b/documentation/application/img/notification-error.png diff --git a/documentation/application/img/notification-example2.png b/documentation/application/img/notification-example2.png Binary files differnew file mode 100644 index 0000000000..25adf1be78 --- /dev/null +++ b/documentation/application/img/notification-example2.png diff --git a/documentation/application/img/notification-example3.png b/documentation/application/img/notification-example3.png Binary files differnew file mode 100644 index 0000000000..84d17b4387 --- /dev/null +++ b/documentation/application/img/notification-example3.png diff --git a/documentation/application/img/notification-humanized.png b/documentation/application/img/notification-humanized.png Binary files differnew file mode 100644 index 0000000000..602a46aa48 --- /dev/null +++ b/documentation/application/img/notification-humanized.png diff --git a/documentation/application/img/notification-tray.png b/documentation/application/img/notification-tray.png Binary files differnew file mode 100644 index 0000000000..f970f04adb --- /dev/null +++ b/documentation/application/img/notification-tray.png diff --git a/documentation/application/img/notification-warning.png b/documentation/application/img/notification-warning.png Binary files differnew file mode 100644 index 0000000000..69a4d43dc1 --- /dev/null +++ b/documentation/application/img/notification-warning.png diff --git a/documentation/application/img/resource-fileresource.png b/documentation/application/img/resource-fileresource.png Binary files differnew file mode 100644 index 0000000000..4bff40b3ab --- /dev/null +++ b/documentation/application/img/resource-fileresource.png diff --git a/documentation/application/img/resource-themeimage.png b/documentation/application/img/resource-themeimage.png Binary files differnew file mode 100644 index 0000000000..4a1416dc03 --- /dev/null +++ b/documentation/application/img/resource-themeimage.png diff --git a/documentation/application/img/resource_classdiagram-hi.png b/documentation/application/img/resource_classdiagram-hi.png Binary files differnew file mode 100644 index 0000000000..09057e2c90 --- /dev/null +++ b/documentation/application/img/resource_classdiagram-hi.png diff --git a/documentation/application/img/resource_classdiagram-lo.png b/documentation/application/img/resource_classdiagram-lo.png Binary files differnew file mode 100644 index 0000000000..fd073ff804 --- /dev/null +++ b/documentation/application/img/resource_classdiagram-lo.png diff --git a/documentation/application/img/ui-architecture-hierarchical.png b/documentation/application/img/ui-architecture-hierarchical.png Binary files differnew file mode 100644 index 0000000000..337a744d46 --- /dev/null +++ b/documentation/application/img/ui-architecture-hierarchical.png diff --git a/documentation/application/img/view-navigation-hi.png b/documentation/application/img/view-navigation-hi.png Binary files differnew file mode 100644 index 0000000000..7c0775d983 --- /dev/null +++ b/documentation/application/img/view-navigation-hi.png diff --git a/documentation/application/img/view-navigation-lo.png b/documentation/application/img/view-navigation-lo.png Binary files differnew file mode 100644 index 0000000000..94347f83af --- /dev/null +++ b/documentation/application/img/view-navigation-lo.png diff --git a/documentation/application/original-drawings/application-architecture.svg b/documentation/application/original-drawings/application-architecture.svg new file mode 100644 index 0000000000..eabd1c8d86 --- /dev/null +++ b/documentation/application/original-drawings/application-architecture.svg @@ -0,0 +1,1809 @@ +<?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="210mm"
+ height="297mm"
+ id="svg1901"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="application-architecture.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs1903">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective206" />
+ <linearGradient
+ id="linearGradient11516">
+ <stop
+ id="stop11518"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop11520"
+ offset="1"
+ style="stop-color:#a090e7;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11508">
+ <stop
+ id="stop11510"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop11512"
+ offset="1"
+ style="stop-color:#e27979;stop-opacity:1" />
+ </linearGradient>
+ <marker
+ inkscape:stockid="DiamondL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="DiamondL"
+ style="overflow:visible">
+ <path
+ id="path4404"
+ d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.8)" />
+ </marker>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="DiamondEmpty"
+ style="overflow:visible">
+ <path
+ id="path7"
+ d="M 0,-5 L -5,0 L 0,5 L 5,0 L 0,-5 z "
+ style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(1.0) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient3286">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop3288" />
+ <stop
+ style="stop-color:#79e291;stop-opacity:1;"
+ offset="1"
+ id="stop3290" />
+ </linearGradient>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="EmptyArrow"
+ style="overflow:visible;">
+ <path
+ id="path9"
+ d="M 0.0,0.0 L 0.0,-5.0 L -12.5,0.0 L 0.0,5.0 L 0.0,0.0 z M -0.5,0.0 L -0.5,-4.5 L -12.0,0.0 L -0.5,4.5 L -0.5,0.0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(1.0) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="EmptyArrow2"
+ style="overflow:visible;">
+ <path
+ id="path13"
+ d="M 0.0,0.0 L 0.0,-5.0 L -10.0,0.0 L 0.0,5.0 L 0.0,0.0 z"
+ style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(1.0) rotate(180) translate(10,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient19816">
+ <stop
+ id="stop19818"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop19820"
+ offset="1"
+ style="stop-color:#e7e790;stop-opacity:1;" />
+ </linearGradient>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ id="path16811"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(1,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lend"
+ style="overflow:visible;">
+ <path
+ id="path16829"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutM"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutM"
+ style="overflow:visible">
+ <path
+ id="path16731"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleInL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleInL"
+ style="overflow:visible">
+ <path
+ id="path16743"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(-0.8)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutL"
+ style="overflow:visible">
+ <path
+ id="path16734"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.8)" />
+ </marker>
+ <linearGradient
+ id="linearGradient9263">
+ <stop
+ style="stop-color:#000000;stop-opacity:0"
+ offset="0"
+ id="stop9265" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop9267" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7299">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop7301" />
+ <stop
+ style="stop-color:#a090e7;stop-opacity:1"
+ offset="1"
+ id="stop7303" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5349">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop5351" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop5353" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4152">
+ <stop
+ style="stop-color:#6b6bff;stop-opacity:1;"
+ offset="0"
+ id="stop4154" />
+ <stop
+ style="stop-color:#6b6bff;stop-opacity:0;"
+ offset="1"
+ id="stop4156" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5349"
+ id="linearGradient5355"
+ x1="96.085953"
+ y1="148.38934"
+ x2="389.01985"
+ y2="148.38934"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient12637"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9214039,2.3896193e-3,-2.166448e-3,0.5977017,265.61411,78.560061)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient15668"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9214039,2.3896193e-3,-2.166448e-3,0.5977017,262.24281,78.560061)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient17873"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9214039,2.3896193e-3,-2.166448e-3,0.5977017,541.12253,30.198804)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient17875"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient20832"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6000725,2.3808346e-3,-3.7621654e-3,0.5955044,664.61868,-4.8275956)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22790"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22806"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22822"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22838"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3286"
+ id="radialGradient2303"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6000725,2.3808346e-3,-3.7621654e-3,0.5955044,664.61868,-4.8275956)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient3306"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2251403,2.385383e-3,-2.8806072e-3,0.5966421,625.8055,-4.9637231)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient3307"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.634924,2.3804409e-3,-3.8441097e-3,0.5954059,670.96002,-4.81581)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient3327"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3286"
+ id="radialGradient8322"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6000725,2.3808346e-3,-3.7621654e-3,0.5955044,664.61868,-4.8275956)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient8338"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient8354"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient11393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2251403,2.385383e-3,-2.8806072e-3,0.5966421,625.8055,-4.9637231)"
+ cx="-145.65326"
+ cy="87.697487"
+ fx="-145.65326"
+ fy="87.697487"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient11490"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient11506"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11516"
+ id="linearGradient11514"
+ x1="402.58597"
+ y1="24.440832"
+ x2="535.59796"
+ y2="190.61652"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient11602"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient11604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11516"
+ id="linearGradient13616"
+ x1="174.35712"
+ y1="96.654701"
+ x2="220.02124"
+ y2="192.93446"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient14623"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9722636,1.8198108e-3,-2.2860317e-3,0.4551788,579.72294,2.0165387)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="linearGradient16644"
+ x1="160.84073"
+ y1="73.780838"
+ x2="239.77594"
+ y2="207.50426"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11516"
+ id="linearGradient18644"
+ x1="1036.6514"
+ y1="1185.2882"
+ x2="1076.5066"
+ y2="1351.074"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient19653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <marker
+ id="marker52016"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-3"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-8"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-6"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-3"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-5"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-0"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-8"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-1"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-2"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-6"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-9"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-10"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-7"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-3"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-7"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-12"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-8"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-9"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-88"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-0"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-22"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-1"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-62"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-02"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-4"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-6"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-6"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-3"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-9"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-5"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-2"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-1"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-5"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-55"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-60"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-6"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-6"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-1"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-5"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-9"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-2"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-3"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-0"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-7"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-1"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-68"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-60"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-4"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-77"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-14"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-3"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-2"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-6"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-93"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-74"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-7"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-9"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-4"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-2"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-6"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-20"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-81"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-34"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-9"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-99"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-2"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-70"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-37"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-94"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-46"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-5"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-23"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.8342545"
+ inkscape:cx="310.20814"
+ inkscape:cy="337.41176"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ gridtolerance="10000"
+ inkscape:window-width="1592"
+ inkscape:window-height="938"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ showgrid="true"
+ showguides="true"
+ inkscape:connector-spacing="10"
+ inkscape:guide-bbox="true"
+ inkscape:window-maximized="0"
+ inkscape:snap-bbox="true">
+ <sodipodi:guide
+ orientation="0,1"
+ position="31.938869,788.55965"
+ id="guide17449" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="285.41744,976.57155"
+ id="guide23390" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="285.79781,806.73177"
+ id="guide23439" />
+ <inkscape:grid
+ type="xygrid"
+ id="grid4114"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ spacingx="5px"
+ spacingy="5px" />
+ <sodipodi:guide
+ orientation="1,0"
+ position="150,625"
+ id="guide3394" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="95,510"
+ id="guide3396" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata1906">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Taso 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ style="opacity:1">
+ <g
+ id="g4116"
+ transform="translate(-351.90973,-70.502319)"
+ style="fill:#e6e6e6;fill-opacity:1">
+ <rect
+ ry="3.7880721"
+ y="522.8645"
+ x="476.90973"
+ height="390"
+ width="599.99994"
+ id="rect6642-49"
+ style="fill:#e6e6e6;fill-opacity:1;stroke:none;stroke-width:1.77165353;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ </g>
+ <g
+ id="g12796"
+ transform="translate(25,60)">
+ <rect
+ ry="3.7880721"
+ y="292.36218"
+ x="100"
+ height="75"
+ width="600"
+ id="rect6642-4"
+ style="fill:#656565;fill-opacity:1;stroke:none;stroke-width:1.77165353;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-703.875,-765.33782)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="74.215607"
+ width="241.14043"
+ id="rect11365" /></flowRegion><flowPara
+ id="flowPara11367"
+ style="font-size:24px">Web Browser</flowPara><flowPara
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold"
+ id="flowPara6898">Client-Side Engine</flowPara></flowRoot> </g>
+ <g
+ transform="translate(128.18949,291.92964)"
+ id="g28403-3">
+ <rect
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-7"
+ width="125"
+ height="60.488556"
+ x="21.810513"
+ y="180.43254"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:110%;writing-mode:lr;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-782.22649,-874.42021)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0"><rect
+ id="rect11365-5-4"
+ width="144.99512"
+ height="55.68153"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:110%;writing-mode:lr;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara12504">Vaadin</flowPara><flowPara
+ id="flowPara6043">Service</flowPara></flowRoot> </g>
+ <g
+ transform="translate(128.18949,376.92964)"
+ id="g28403-3-5">
+ <rect
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-7-10"
+ width="125"
+ height="60.488556"
+ x="21.810513"
+ y="180.43254"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-8"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:110%;writing-mode:lr;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-782.22649,-874.42021)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-7"><rect
+ id="rect11365-5-4-6"
+ width="144.15208"
+ height="72.387939"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:110%;writing-mode:lr;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara3258"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:110%;writing-mode:lr;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold">Vaadin</flowPara><flowPara
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:110%;writing-mode:lr;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowPara3370">Session</flowPara></flowRoot> </g>
+ <g
+ transform="translate(128.74016,547.48032)"
+ id="g28403-3-9-1">
+ <rect
+ style="fill:#f39300;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-7-1-2"
+ width="125"
+ height="59.999996"
+ x="21.259842"
+ y="179.88187"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-2-2"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:110%;writing-mode:lr;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-782.77716,-874.97089)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-6-9"><rect
+ id="rect11365-5-4-9-5"
+ width="142.10995"
+ height="56.224495"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:110%;writing-mode:lr;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara6608"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold;text-anchor:start;text-align:start;writing-mode:lr;line-height:110%">Application</flowPara><flowPara
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold;text-anchor:start;text-align:start;writing-mode:lr;line-height:110%"
+ id="flowPara4870">UI</flowPara></flowRoot> </g>
+ <g
+ transform="translate(151.08788,684.30069)"
+ id="g28403-2-9">
+ <rect
+ style="fill:#4fb047;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-4-0"
+ width="410"
+ height="64.50946"
+ x="-1.08788"
+ y="128.06149"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-1-2-7"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-806.33088,-926.86326)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-64-3-63"><rect
+ id="rect11365-5-4-5-1-7"
+ width="136.60326"
+ height="42.457775"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara17609-3-7-6">Back-End</flowPara></flowRoot> <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-5-0-7"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold"
+ transform="translate(-806.09688,-901.70434)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-5-7-5"><rect
+ id="rect11365-5-4-3-80-8"
+ width="359.99512"
+ height="35.462776"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold" /></flowRegion><flowPara
+ id="flowPara12504-6-3-4">Business Logic, persistence, database, ...</flowPara></flowRoot> </g>
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
+ d="m 250,517.36218 0,45"
+ id="path4833-3-2-9"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-371.37876,-507.52109)"
+ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-6-17-9-3"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-2-06-3-4"><rect
+ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="93.316948"
+ width="274.99512"
+ id="rect11365-5-0-9-3" /></flowRegion><flowPara
+ id="flowPara12598-7">Application Server</flowPara><flowPara
+ id="flowPara6900"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold">Java Web Application</flowPara></flowRoot> <g
+ transform="translate(278.18949,376.92964)"
+ id="g28403-3-5-7">
+ <rect
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-7-10-7"
+ width="125"
+ height="60.488556"
+ x="21.810513"
+ y="180.43254"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-8-7"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-782.22649,-874.49221)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-7-4"><rect
+ id="rect11365-5-4-6-6"
+ width="144.15208"
+ height="72.387939"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara3239-3">Web Page</flowPara><flowPara
+ id="flowPara3258-5"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRoot> </g>
+ <g
+ transform="translate(128.18949,461.92964)"
+ id="g28403-3-5-7-4">
+ <rect
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-7-10-7-2"
+ width="125"
+ height="60.488556"
+ x="21.810513"
+ y="180.43254"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-8-7-1"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-783.43249,-874.49221)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-7-4-0"><rect
+ id="rect11365-5-4-6-6-1"
+ width="144.15208"
+ height="72.387939"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara3258-5-7"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold">UI</flowPara></flowRoot> </g>
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
+ d="m 305,612.36218 -35,35"
+ id="path4833-3-2-9-42"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
+ d="m 250,611.36218 0,45"
+ id="path4833-3-2-9-8"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <g
+ transform="translate(278.18949,461.92964)"
+ id="g28403-3-5-7-4-7">
+ <rect
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-7-10-7-2-1"
+ width="120.84303"
+ height="60.488556"
+ x="21.810513"
+ y="180.43254"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-8-7-1-2"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-783.01849,-871.74346)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-7-4-0-4"><rect
+ id="rect11365-5-4-6-6-1-9"
+ width="144.15208"
+ height="72.387939"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowPara6892">UI</flowPara><flowPara
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowPara6896">Component</flowPara></flowRoot> </g>
+ <g
+ transform="translate(278.74016,547.48032)"
+ id="g28403-3-9-1-1">
+ <rect
+ style="fill:#f39300;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-7-1-2-6"
+ width="120"
+ height="59.999996"
+ x="21.259842"
+ y="179.88187"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-2-2-7"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:110%;writing-mode:lr;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-783.98316,-875.27689)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-6-9-2"><rect
+ id="rect11365-5-4-9-5-3"
+ width="142.10995"
+ height="56.224495"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:110%;writing-mode:lr;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara6608-2"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:110%;writing-mode:lr;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold">Event</flowPara><flowPara
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:110%;writing-mode:lr;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowPara5888">Listener</flowPara></flowRoot> </g>
+ <g
+ id="g5920"
+ transform="translate(14.83185,-64.999994)">
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path4833-3"
+ d="m 360,782.36218 0,-22.78327"
+ style="fill:none;stroke:#f39300;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#marker52016)" />
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path4833-3-7"
+ d="m 360,780.12315 0,20"
+ style="fill:none;stroke:#f39300;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#marker52016)" />
+ </g>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-5-7-1"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold"
+ transform="translate(-434.04314,-355.2303)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-5-8-0"><rect
+ id="rect11365-5-4-3-8-3"
+ width="84.995117"
+ height="17.471106"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold" /></flowRegion><flowPara
+ id="flowPara12504-6-9-6">UI Changes</flowPara></flowRoot> <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-5-0"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold"
+ transform="translate(-509.04314,-355.2303)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-5-7"><rect
+ id="rect11365-5-4-3-80"
+ width="59.995113"
+ height="15.68153"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold" /></flowRegion><flowPara
+ id="flowPara12504-6-3">UI Events</flowPara></flowRoot> <g
+ transform="translate(423.74016,547.48032)"
+ id="g28403-3-9-1-1-8">
+ <rect
+ style="fill:#f39300;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-7-1-2-6-5"
+ width="115"
+ height="59.999996"
+ x="21.259842"
+ y="179.88187"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-2-2-7-3"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-783.92916,-875.27689)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-6-9-2-7"><rect
+ id="rect11365-5-4-9-5-3-6"
+ width="142.10995"
+ height="56.224495"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara6608-2-5"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold">Data</flowPara><flowPara
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowPara5888-0">Model</flowPara></flowRoot> </g>
+ <g
+ transform="translate(563.74016,547.48032)"
+ id="g28403-3-9-1-1-8-1">
+ <rect
+ style="fill:#f39300;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-7-1-2-6-5-6"
+ width="115"
+ height="59.999996"
+ x="21.259842"
+ y="179.88187"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-2-2-7-3-7"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-787.61516,-875.18272)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-6-9-2-7-5"><rect
+ id="rect11365-5-4-9-5-3-6-0"
+ width="142.10995"
+ height="56.224495"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowPara5888-0-7">Application</flowPara><flowPara
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowPara6083">Theme</flowPara></flowRoot> </g>
+ <g
+ transform="translate(563.18949,461.92964)"
+ id="g28403-3-5-7-4-7-1">
+ <rect
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-7-10-7-2-1-0"
+ width="115"
+ height="60"
+ x="21.810513"
+ y="180.43254"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-8-7-1-2-2"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-786.22146,-876.33845)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-7-4-0-4-6"><rect
+ id="rect11365-5-4-6-6-1-9-4"
+ width="144.15208"
+ height="72.387939"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara6121">Default</flowPara><flowPara
+ id="flowPara6130">Theme</flowPara><flowPara
+ id="flowPara3258-5-7-2-8"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRoot> </g>
+ <g
+ id="g12499-1"
+ transform="matrix(0,3.9435832,-3.9435832,0,2315.8008,-125.90035)">
+ <g
+ transform="matrix(0.5,0,0,0.5,11.485194,158.86138)"
+ id="g18065-7">
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ id="path18067-1"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#656565;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ id="path18069-8"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <path
+ style="fill:none;stroke:#656565;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
+ d="m 675,397.36218 0,245"
+ id="path4833-2-1-6-0"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-558.875,-519.61047)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-6-17-9-4"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-2-06-3-1"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="34.154446"
+ width="49.995117"
+ id="rect11365-5-0-9-9" /></flowRegion><flowPara
+ id="flowPara12598-77">n</flowPara></flowRoot> <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-523.875,-458.04562)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-6-17-9-4-3"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-2-06-3-1-4"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="34.154446"
+ width="49.995117"
+ id="rect11365-5-0-9-9-8" /></flowRegion><flowPara
+ id="flowPara12598-77-8">1</flowPara></flowRoot> <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-558.875,-435.23641)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-6-17-9-4-4"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-2-06-3-1-6"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="34.154446"
+ width="49.995117"
+ id="rect11365-5-0-9-9-1" /></flowRegion><flowPara
+ id="flowPara12598-77-1">n</flowPara></flowRoot> <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path4833-3-9"
+ d="m 255,732.36218 0.16814,-38.04274"
+ style="fill:none;stroke:#f39300;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#marker52016)" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-5-0-0"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold"
+ transform="translate(-631.90785,-355.30125)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-5-7-0"><rect
+ id="rect11365-5-4-3-80-6"
+ width="124.99512"
+ height="20.462776"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold" /></flowRegion><flowPara
+ id="flowPara12504-6-3-7">«extends»</flowPara></flowRoot> <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path4833-3-9-2"
+ d="m 500,782.36218 0,37.92034"
+ style="fill:none;stroke:#f39300;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#marker52016)" />
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker18095)"
+ d="m 505,672.36218 0,62.79728"
+ id="path4833-3-2-9-8-7"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
+ d="m 415,672.36218 90,0"
+ id="path4833-3-2-9-8-2"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-5-7-1-7"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-300.091,-387.70948)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-5-8-0-1"><rect
+ id="rect11365-5-4-3-8-3-0"
+ width="64.995117"
+ height="37.471107"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara12504-6-9-6-2">Data</flowPara><flowPara
+ id="flowPara6888">Binding</flowPara></flowRoot> <path
+ style="fill:none;stroke:#49c2f1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
+ d="m 305,672.36218 -35,0"
+ id="path4833-3-2-9-8-9"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-523.875,-406.17532)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-6-17-9-4-4-7"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-2-06-3-1-6-2"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="34.154446"
+ width="49.995117"
+ id="rect11365-5-0-9-9-1-3" /></flowRegion><flowPara
+ id="flowPara12598-77-1-9">n</flowPara></flowRoot> <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path4833-3-9-9"
+ d="m 675,730.22048 0,-37.8583"
+ style="fill:none;stroke:#f39300;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#marker52016)" />
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path4833-3-9-2-4"
+ d="m 255,781.25598 0,38.83185"
+ style="fill:none;stroke:#f39300;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#marker52016)" />
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path4833-3-9-2-4-3"
+ d="m 375,781.25598 0,39.02654"
+ style="fill:none;stroke:#f39300;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#marker52016)" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-5-7-17-8"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold"
+ transform="translate(-133.875,-629.90381)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-5-8-5-2"><rect
+ id="rect11365-5-4-3-8-5-7"
+ width="128.02386"
+ height="24.543726"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold" /></flowRegion><flowPara
+ id="flowPara12504-6-9-9-5"
+ style="font-size:16px">HTTP</flowPara></flowRoot> <g
+ transform="translate(278.18949,291.92964)"
+ id="g28403-3-7">
+ <rect
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-7-3"
+ width="149.53987"
+ height="60.488556"
+ x="21.810513"
+ y="180.43254"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-5"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:110%;writing-mode:lr;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-782.22649,-874.42021)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-5"><rect
+ id="rect11365-5-4-9"
+ width="144.99512"
+ height="55.68153"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:110%;writing-mode:lr;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara12504-0">Vaadin</flowPara><flowPara
+ id="flowPara6043-8">Servlet/Portlet</flowPara></flowRoot> </g>
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
+ d="m 305,502.36218 -35,0"
+ id="path4833-3-2-9-3"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-535.92714,-578.24513)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-6-17-9-4-3-1"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-2-06-3-1-4-0"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="34.154446"
+ width="49.995117"
+ id="rect11365-5-0-9-9-8-8" /></flowRegion><flowPara
+ id="flowPara12598-77-8-4">1</flowPara></flowRoot> <g
+ id="g12499"
+ transform="matrix(0,3.9435832,-3.9435832,0,2040.8262,-285.87395)">
+ <g
+ transform="matrix(0.5,0,0,0.5,8.55451,158.9407)"
+ id="g18065">
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ id="path18067"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#656565;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ id="path18069"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <path
+ style="fill:none;stroke:#656565;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
+ d="m 399.72382,392.36218 0,80"
+ id="path4833-2-1-6"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-5-7-17"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold"
+ transform="translate(-405.88124,-631.0373)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-5-8-5"><rect
+ id="rect11365-5-4-3-8-5"
+ width="128.02386"
+ height="24.543726"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold" /></flowRegion><flowPara
+ id="flowPara12504-6-9-9"
+ style="font-size:16px">AJAX Requests</flowPara></flowRoot> <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-5-7-17-8-2"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold"
+ transform="translate(-464.4866,-630.80515)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-5-8-5-2-3"><rect
+ id="rect11365-5-4-3-8-5-7-3"
+ width="128.02386"
+ height="24.543726"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold" /></flowRegion><flowPara
+ id="flowPara12504-6-9-9-5-6"
+ style="font-size:16px">HTTP</flowPara></flowRoot> <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-5-0-0-9"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold"
+ transform="translate(-208.875,-355.55568)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-5-7-0-0"><rect
+ id="rect11365-5-4-3-80-6-9"
+ width="124.99512"
+ height="20.462776"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica LT Std;-inkscape-font-specification:Helvetica LT Std Bold" /></flowRegion><flowPara
+ id="flowPara12504-6-3-7-0">«extends»</flowPara></flowRoot> </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Varjot" />
+</svg>
diff --git a/documentation/application/original-drawings/resource_classdiagram.svg b/documentation/application/original-drawings/resource_classdiagram.svg new file mode 100644 index 0000000000..c279bd6140 --- /dev/null +++ b/documentation/application/original-drawings/resource_classdiagram.svg @@ -0,0 +1,799 @@ +<?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="210mm"
+ height="297mm"
+ id="svg1901"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="resource_classdiagram.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ sodipodi:modified="true"
+ version="1.1">
+ <defs
+ id="defs1903">
+ <marker
+ id="marker44971"
+ orient="auto"
+ markerHeight="5.7450781"
+ markerWidth="4.6297355">
+ <g
+ id="g18059"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path18061"
+ d="M 370,508.65625 C 369.13933,508.715 368.39056,509.27755 368.09375,510.09375 C 367.82399,510.83551 368.03605,511.62868 368.53125,512.21875 L 366.78125,512.21875 C 366.73884,512.21408 366.69882,512.22093 366.65625,512.21875 L 366.65625,516.59375 L 366.78125,516.59375 L 368.53125,516.59375 C 367.85229,517.45345 367.83424,518.70924 368.625,519.5 C 369.47591,520.35091 370.89909,520.35091 371.75,519.5 L 375.09375,516.125 C 375.12672,516.09552 375.15802,516.06422 375.1875,516.03125 C 375.21972,516.01191 375.25101,515.99105 375.28125,515.96875 C 375.28162,515.96839 375.49976,515.68796 375.5,515.6875 C 375.50005,515.68741 375.49338,515.64282 375.5,515.625 C 375.5011,515.62203 375.53002,515.62832 375.53125,515.625 C 375.57039,515.57293 375.58228,515.57321 375.625,515.5 C 375.76199,515.26524 375.79184,515.12809 375.78125,515.15625 C 375.81807,515.06473 375.79977,515.04374 375.8125,515 C 375.82311,514.98978 375.83353,514.97936 375.84375,514.96875 C 375.90379,514.74477 375.93181,514.45186 375.90625,514.1875 C 375.89266,513.98387 375.84739,513.88985 375.84375,513.875 C 375.84389,513.86458 375.84389,513.85417 375.84375,513.84375 C 375.86975,513.94071 375.85901,513.85978 375.75,513.59375 C 375.69753,513.46336 375.66014,513.37439 375.625,513.3125 C 375.57262,513.22275 375.49154,513.05015 375.28125,512.84375 L 371.75,509.3125 C 371.29355,508.82579 370.66491,508.60087 370,508.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path18063"
+ d="M 366.65625,515.40625 L 371.28125,515.40625 L 369.46875,517.21875 C 369.0718,517.6157 369.0718,518.2593 369.46875,518.65625 C 369.8657,519.0532 370.5093,519.0532 370.90625,518.65625 L 374.34375,515.1875 L 374.4375,515.125 C 374.44343,515.11918 374.43171,515.09972 374.4375,515.09375 C 374.49291,515.03659 374.5526,514.97676 374.59375,514.90625 C 374.62239,514.85717 374.63663,514.80216 374.65625,514.75 C 374.66861,514.71928 374.67831,514.68783 374.6875,514.65625 C 374.71862,514.54015 374.73024,514.43132 374.71875,514.3125 C 374.71489,514.25466 374.70138,514.21285 374.6875,514.15625 C 374.6766,514.1156 374.67237,514.07059 374.65625,514.03125 C 374.63982,513.99042 374.61578,513.94505 374.59375,513.90625 C 374.5483,513.82838 374.50015,513.74899 374.4375,513.6875 L 370.90625,510.15625 C 370.69734,509.93349 370.39809,509.8184 370.09375,509.84375 C 369.69897,509.8707 369.35398,510.12813 369.21875,510.5 C 369.08351,510.87187 369.18349,511.28826 369.46875,511.5625 L 371.34375,513.40625 L 366.65625,513.40625"
+ style="fill:#d9d9cd;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050"
+ d="M 370,508.65625 C 369.13933,508.715 368.39056,509.27755 368.09375,510.09375 C 367.82399,510.83551 368.03605,511.62868 368.53125,512.21875 L 366.78125,512.21875 C 366.73884,512.21408 366.69882,512.22093 366.65625,512.21875 L 366.65625,516.59375 L 366.78125,516.59375 L 368.53125,516.59375 C 367.85229,517.45345 367.83424,518.70924 368.625,519.5 C 369.47591,520.35091 370.89909,520.35091 371.75,519.5 L 375.09375,516.125 C 375.12672,516.09552 375.15802,516.06422 375.1875,516.03125 C 375.21972,516.01191 375.25101,515.99105 375.28125,515.96875 C 375.28162,515.96839 375.49976,515.68796 375.5,515.6875 C 375.50005,515.68741 375.49338,515.64282 375.5,515.625 C 375.5011,515.62203 375.53002,515.62832 375.53125,515.625 C 375.57039,515.57293 375.58228,515.57321 375.625,515.5 C 375.76199,515.26524 375.79184,515.12809 375.78125,515.15625 C 375.81807,515.06473 375.79977,515.04374 375.8125,515 C 375.82311,514.98978 375.83353,514.97936 375.84375,514.96875 C 375.90379,514.74477 375.93181,514.45186 375.90625,514.1875 C 375.89266,513.98387 375.84739,513.88985 375.84375,513.875 C 375.84389,513.86458 375.84389,513.85417 375.84375,513.84375 C 375.86975,513.94071 375.85901,513.85978 375.75,513.59375 C 375.69753,513.46336 375.66014,513.37439 375.625,513.3125 C 375.57262,513.22275 375.49154,513.05015 375.28125,512.84375 L 371.75,509.3125 C 371.29355,508.82579 370.66491,508.60087 370,508.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035"
+ d="M 366.65625,515.40625 L 371.28125,515.40625 L 369.46875,517.21875 C 369.0718,517.6157 369.0718,518.2593 369.46875,518.65625 C 369.8657,519.0532 370.5093,519.0532 370.90625,518.65625 L 374.34375,515.1875 L 374.4375,515.125 C 374.44343,515.11918 374.43171,515.09972 374.4375,515.09375 C 374.49291,515.03659 374.5526,514.97676 374.59375,514.90625 C 374.62239,514.85717 374.63663,514.80216 374.65625,514.75 C 374.66861,514.71928 374.67831,514.68783 374.6875,514.65625 C 374.71862,514.54015 374.73024,514.43132 374.71875,514.3125 C 374.71489,514.25466 374.70138,514.21285 374.6875,514.15625 C 374.6766,514.1156 374.67237,514.07059 374.65625,514.03125 C 374.63982,513.99042 374.61578,513.94505 374.59375,513.90625 C 374.5483,513.82838 374.50015,513.74899 374.4375,513.6875 L 370.90625,510.15625 C 370.69734,509.93349 370.39809,509.8184 370.09375,509.84375 C 369.69897,509.8707 369.35398,510.12813 369.21875,510.5 C 369.08351,510.87187 369.18349,511.28826 369.46875,511.5625 L 371.34375,513.40625 L 366.65625,513.40625"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective7604" />
+ <linearGradient
+ id="linearGradient11516">
+ <stop
+ id="stop11518"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop11520"
+ offset="1"
+ style="stop-color:#a090e7;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11508">
+ <stop
+ id="stop11510"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop11512"
+ offset="1"
+ style="stop-color:#e27979;stop-opacity:1" />
+ </linearGradient>
+ <marker
+ inkscape:stockid="DiamondL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="DiamondL"
+ style="overflow:visible">
+ <path
+ id="path4404"
+ d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.8)" />
+ </marker>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="DiamondEmpty"
+ style="overflow:visible">
+ <path
+ id="path7"
+ d="M 0,-5 L -5,0 L 0,5 L 5,0 L 0,-5 z "
+ style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(1.0) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient3286">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop3288" />
+ <stop
+ style="stop-color:#79e291;stop-opacity:1;"
+ offset="1"
+ id="stop3290" />
+ </linearGradient>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="EmptyArrow"
+ style="overflow:visible;">
+ <path
+ id="path9"
+ d="M 0.0,0.0 L 0.0,-5.0 L -12.5,0.0 L 0.0,5.0 L 0.0,0.0 z M -0.5,0.0 L -0.5,-4.5 L -12.0,0.0 L -0.5,4.5 L -0.5,0.0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(1.0) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="EmptyArrow2"
+ style="overflow:visible;">
+ <path
+ id="path13"
+ d="M 0.0,0.0 L 0.0,-5.0 L -10.0,0.0 L 0.0,5.0 L 0.0,0.0 z"
+ style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(1.0) rotate(180) translate(10,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient19816">
+ <stop
+ id="stop19818"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop19820"
+ offset="1"
+ style="stop-color:#e7e790;stop-opacity:1;" />
+ </linearGradient>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ id="path16811"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(1,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lend"
+ style="overflow:visible;">
+ <path
+ id="path16829"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutM"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutM"
+ style="overflow:visible">
+ <path
+ id="path16731"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleInL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleInL"
+ style="overflow:visible">
+ <path
+ id="path16743"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(-0.8)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutL"
+ style="overflow:visible">
+ <path
+ id="path16734"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.8)" />
+ </marker>
+ <linearGradient
+ id="linearGradient9263">
+ <stop
+ style="stop-color:#000000;stop-opacity:0"
+ offset="0"
+ id="stop9265" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop9267" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7299">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop7301" />
+ <stop
+ style="stop-color:#a090e7;stop-opacity:1"
+ offset="1"
+ id="stop7303" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5349">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop5351" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop5353" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4152">
+ <stop
+ style="stop-color:#6b6bff;stop-opacity:1;"
+ offset="0"
+ id="stop4154" />
+ <stop
+ style="stop-color:#6b6bff;stop-opacity:0;"
+ offset="1"
+ id="stop4156" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5349"
+ id="linearGradient5355"
+ x1="96.085953"
+ y1="148.38934"
+ x2="389.01985"
+ y2="148.38934"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient11602"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient3268"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9214039,2.3896193e-3,-2.166448e-3,0.5977017,541.12253,30.198804)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient3270"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient3272"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6000725,2.3808346e-3,-3.7621654e-3,0.5955044,664.61868,-4.8275956)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient3274"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient3276"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient3278"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient3280"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <marker
+ id="marker18095-4"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-6"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-2"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-1"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker44971-5"
+ orient="auto"
+ markerHeight="5.7450781"
+ markerWidth="4.6297355">
+ <g
+ id="g18059-0"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path18061-4"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path18063-9"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#d9d9cd;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-0"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-0"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-0"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-16"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-6"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-7"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-20"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-4"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-2"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-2"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-23"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-9"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.8159691"
+ inkscape:cx="336.32892"
+ inkscape:cy="885.30635"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ gridtolerance="10000"
+ inkscape:window-width="1458"
+ inkscape:window-height="1019"
+ inkscape:window-x="194"
+ inkscape:window-y="0"
+ showgrid="true"
+ showguides="true"
+ inkscape:connector-spacing="10"
+ inkscape:guide-bbox="true"
+ inkscape:window-maximized="0">
+ <sodipodi:guide
+ orientation="horizontal"
+ position="940.71429"
+ id="guide22848" />
+ <inkscape:grid
+ type="xygrid"
+ id="grid6196"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ spacingx="5px"
+ spacingy="5px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata1906">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Taso 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ style="opacity:1">
+ <g
+ style="display:inline"
+ id="g2547"
+ transform="matrix(1.4062095,0,0,1.4062095,-221.12715,-215.60428)">
+ <flowRoot
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot2551"
+ transform="translate(-5.2378947,106.19782)"><flowRegion
+ id="flowRegion2553"><use
+ transform="translate(1.467046,-91.03536)"
+ x="0"
+ y="0"
+ xlink:href="#rect4654"
+ id="use2555"
+ width="744.09448"
+ height="1052.3622" /></flowRegion><flowPara
+ id="flowPara2557">Sizeable</flowPara></flowRoot> <g
+ id="g6863"
+ transform="translate(-46.062995,-30.433073)">
+ <flowRoot
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot6866"
+ transform="translate(-5.2378947,106.19782)"><flowRegion
+ id="flowRegion6868"><use
+ transform="translate(1.467046,-91.03536)"
+ x="0"
+ y="0"
+ xlink:href="#rect4654"
+ id="use6870"
+ width="744.09448"
+ height="1052.3622" /></flowRegion><flowPara
+ id="flowPara6872">Sizeable</flowPara></flowRoot> </g>
+ <flowRoot
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot2539"
+ transform="translate(75.734798,-715.9695)"><flowRegion
+ id="flowRegion2541"><use
+ transform="translate(1.467046,-91.03536)"
+ x="0"
+ y="0"
+ xlink:href="#rect4654"
+ id="use2543"
+ width="744.09448"
+ height="1052.3622" /></flowRegion><flowPara
+ id="flowPara2545">VariableOwner</flowPara></flowRoot> <g
+ style="display:inline"
+ id="g6931"
+ transform="translate(132.33963,-23.86934)">
+ <rect
+ style="fill:#d9d9cd;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6933"
+ width="138.189"
+ height="35.43309"
+ x="167.13719"
+ y="232.20705"
+ ry="3.7880721" />
+ <text
+ id="text6935"
+ y="253.39159"
+ x="175.51506"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ xml:space="preserve"><tspan
+ y="253.39159"
+ x="175.51506"
+ id="tspan6937"
+ sodipodi:role="line">ConnectorResource</tspan></text>
+ </g>
+ </g>
+ <g
+ style="display:inline"
+ id="g6925"
+ transform="matrix(1.4062095,0,0,1.4062095,-185.02991,-249.16957)">
+ <rect
+ style="fill:#d9d9cd;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect2549"
+ width="85.039375"
+ height="35.433075"
+ x="167.13719"
+ y="232.20705"
+ ry="3.7880721" />
+ <text
+ id="text6921"
+ y="253.39159"
+ x="180.51506"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ xml:space="preserve"><tspan
+ y="253.39159"
+ x="180.51506"
+ id="tspan6923"
+ sodipodi:role="line">Resource</tspan></text>
+ </g>
+ <g
+ style="display:inline"
+ id="g6951"
+ transform="matrix(1.4062095,0,0,1.4062095,-35.029907,-184.16957)">
+ <rect
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6953"
+ width="124.01576"
+ height="35.43309"
+ x="167.13719"
+ y="232.20705"
+ ry="3.7880721" />
+ <text
+ id="text6955"
+ y="253.39159"
+ x="227.90504"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ xml:space="preserve"><tspan
+ y="253.39159"
+ x="227.90504"
+ id="tspan6957"
+ sodipodi:role="line">ExternalResource</tspan></text>
+ </g>
+ <g
+ style="display:inline"
+ id="g6960"
+ transform="matrix(1.4062095,0,0,1.4062095,-35.029907,-119.16957)">
+ <rect
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6962"
+ width="124.01576"
+ height="35.43309"
+ x="167.13719"
+ y="232.20705"
+ ry="3.7880721" />
+ <text
+ id="text6964"
+ y="253.39159"
+ x="228.18105"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ xml:space="preserve"><tspan
+ y="253.39159"
+ x="228.18105"
+ id="tspan6966"
+ sodipodi:role="line">ThemeResource</tspan></text>
+ </g>
+ <path
+ sodipodi:nodetypes="cc"
+ style="fill:none;stroke:#49c2f1;stroke-width:5.48089504;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:none;display:inline"
+ d="m 199.47896,231.82376 -89.68737,0"
+ id="path6976"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="cc"
+ style="fill:none;stroke:#49c2f1;stroke-width:5.48089504;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:none;display:inline"
+ d="m 199.47896,167.04954 -89.68737,0"
+ id="path8919"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="0" />
+ <g
+ style="display:inline"
+ id="g8921"
+ transform="matrix(1.4062095,0,0,1.4062095,199.97009,-249.16957)">
+ <rect
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect8923"
+ width="124.01576"
+ height="35.43309"
+ x="167.13719"
+ y="232.20705"
+ ry="3.7880721" />
+ <text
+ id="text8925"
+ y="253.39159"
+ x="227.90504"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ xml:space="preserve"><tspan
+ y="253.39159"
+ x="227.90504"
+ id="tspan8927"
+ sodipodi:role="line">FileResource</tspan></text>
+ </g>
+ <g
+ style="display:inline"
+ id="g8929"
+ transform="matrix(1.4062095,0,0,1.4062095,199.97009,-184.16957)">
+ <rect
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect8931"
+ width="124.01576"
+ height="35.43309"
+ x="167.13719"
+ y="232.20705"
+ ry="3.7880721" />
+ <text
+ id="text8933"
+ y="253.39159"
+ x="228.18105"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ xml:space="preserve"><tspan
+ y="253.39159"
+ x="228.18105"
+ id="tspan8935"
+ sodipodi:role="line">ClassResource</tspan></text>
+ </g>
+ <g
+ style="display:inline"
+ id="g8939"
+ transform="matrix(1.4062095,0,0,1.4062095,199.97009,-119.16957)">
+ <rect
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect8941"
+ width="124.01576"
+ height="35.43309"
+ x="167.13719"
+ y="232.20705"
+ ry="3.7880721" />
+ <text
+ id="text8943"
+ y="253.39159"
+ x="228.18105"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ xml:space="preserve"><tspan
+ y="253.39159"
+ x="228.18105"
+ id="tspan8945"
+ sodipodi:role="line">StreamResource</tspan></text>
+ </g>
+ <path
+ sodipodi:nodetypes="cc"
+ style="fill:none;stroke:#49c2f1;stroke-width:5.48089504;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:none;display:inline"
+ d="m 438.64529,231.82376 -24.91315,0"
+ id="path8947"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="cc"
+ style="fill:none;stroke:#49c2f1;stroke-width:5.48089504;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:none;display:inline"
+ d="m 413.73214,102.27533 0,129.54843"
+ id="path8949"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="cc"
+ style="fill:none;stroke:#49c2f1;stroke-width:5.48089504;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:none;display:inline"
+ d="m 438.64529,167.04954 -24.91315,0"
+ id="path8951"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker18095)"
+ d="m 110,232.36218 c 0,-110 0,-110 0,-110"
+ id="path6258"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker18095)"
+ d="m 440,102.36218 -50,0"
+ id="path6258-6"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#d9d9cd;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker44971)"
+ d="m 205,102.36218 -40,0"
+ id="path6258-6-3"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Varjot" />
+</svg>
diff --git a/documentation/application/original-drawings/view-navigation.svg b/documentation/application/original-drawings/view-navigation.svg new file mode 100644 index 0000000000..9e8ee92c03 --- /dev/null +++ b/documentation/application/original-drawings/view-navigation.svg @@ -0,0 +1,1694 @@ +<?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="210mm"
+ height="297mm"
+ id="svg1901"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="view-navigation.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs1903">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="323.51425 : 866.9944 : 1"
+ inkscape:vp_y="0 : 296.04677 : 0"
+ inkscape:vp_z="520.12219 : 855.43032 : 1"
+ inkscape:persp3d-origin="411.35549 : 763.58199 : 1"
+ id="perspective206" />
+ <linearGradient
+ id="linearGradient11516">
+ <stop
+ id="stop11518"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop11520"
+ offset="1"
+ style="stop-color:#a090e7;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11508">
+ <stop
+ id="stop11510"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop11512"
+ offset="1"
+ style="stop-color:#e27979;stop-opacity:1" />
+ </linearGradient>
+ <marker
+ inkscape:stockid="DiamondL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="DiamondL"
+ style="overflow:visible">
+ <path
+ id="path4404"
+ d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.8)" />
+ </marker>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="DiamondEmpty"
+ style="overflow:visible">
+ <path
+ id="path7"
+ d="M 0,-5 L -5,0 L 0,5 L 5,0 L 0,-5 z "
+ style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(1.0) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient3286">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop3288" />
+ <stop
+ style="stop-color:#79e291;stop-opacity:1;"
+ offset="1"
+ id="stop3290" />
+ </linearGradient>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="EmptyArrow"
+ style="overflow:visible;">
+ <path
+ id="path9"
+ d="M 0.0,0.0 L 0.0,-5.0 L -12.5,0.0 L 0.0,5.0 L 0.0,0.0 z M -0.5,0.0 L -0.5,-4.5 L -12.0,0.0 L -0.5,4.5 L -0.5,0.0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(1.0) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="EmptyArrow2"
+ style="overflow:visible;">
+ <path
+ id="path13"
+ d="M 0.0,0.0 L 0.0,-5.0 L -10.0,0.0 L 0.0,5.0 L 0.0,0.0 z"
+ style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(1.0) rotate(180) translate(10,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient19816">
+ <stop
+ id="stop19818"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop19820"
+ offset="1"
+ style="stop-color:#e7e790;stop-opacity:1;" />
+ </linearGradient>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ id="path16811"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(1,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lend"
+ style="overflow:visible;">
+ <path
+ id="path16829"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutM"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutM"
+ style="overflow:visible">
+ <path
+ id="path16731"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleInL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleInL"
+ style="overflow:visible">
+ <path
+ id="path16743"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(-0.8)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutL"
+ style="overflow:visible">
+ <path
+ id="path16734"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.8)" />
+ </marker>
+ <linearGradient
+ id="linearGradient9263">
+ <stop
+ style="stop-color:#000000;stop-opacity:0"
+ offset="0"
+ id="stop9265" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop9267" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7299">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop7301" />
+ <stop
+ style="stop-color:#a090e7;stop-opacity:1"
+ offset="1"
+ id="stop7303" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5349">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop5351" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop5353" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4152">
+ <stop
+ style="stop-color:#6b6bff;stop-opacity:1;"
+ offset="0"
+ id="stop4154" />
+ <stop
+ style="stop-color:#6b6bff;stop-opacity:0;"
+ offset="1"
+ id="stop4156" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5349"
+ id="linearGradient5355"
+ x1="96.085953"
+ y1="148.38934"
+ x2="389.01985"
+ y2="148.38934"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient12637"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9214039,2.3896193e-3,-2.166448e-3,0.5977017,265.61411,78.560061)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient15668"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9214039,2.3896193e-3,-2.166448e-3,0.5977017,262.24281,78.560061)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient17873"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9214039,2.3896193e-3,-2.166448e-3,0.5977017,541.12253,30.198804)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient17875"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient20832"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6000725,2.3808346e-3,-3.7621654e-3,0.5955044,664.61868,-4.8275956)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22790"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22806"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22822"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22838"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3286"
+ id="radialGradient2303"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6000725,2.3808346e-3,-3.7621654e-3,0.5955044,664.61868,-4.8275956)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient3306"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2251403,2.385383e-3,-2.8806072e-3,0.5966421,625.8055,-4.9637231)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient3307"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.634924,2.3804409e-3,-3.8441097e-3,0.5954059,670.96002,-4.81581)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient3327"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3286"
+ id="radialGradient8322"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6000725,2.3808346e-3,-3.7621654e-3,0.5955044,664.61868,-4.8275956)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient8338"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient8354"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient11393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2251403,2.385383e-3,-2.8806072e-3,0.5966421,625.8055,-4.9637231)"
+ cx="-145.65326"
+ cy="87.697487"
+ fx="-145.65326"
+ fy="87.697487"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient11490"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient11506"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11516"
+ id="linearGradient11514"
+ x1="402.58597"
+ y1="24.440832"
+ x2="535.59796"
+ y2="190.61652"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient11602"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient11604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11516"
+ id="linearGradient13616"
+ x1="174.35712"
+ y1="96.654701"
+ x2="220.02124"
+ y2="192.93446"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient14623"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9722636,1.8198108e-3,-2.2860317e-3,0.4551788,579.72294,2.0165387)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="linearGradient16644"
+ x1="160.84073"
+ y1="73.780838"
+ x2="239.77594"
+ y2="207.50426"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11516"
+ id="linearGradient18644"
+ x1="1036.6514"
+ y1="1185.2882"
+ x2="1076.5066"
+ y2="1351.074"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient19653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <marker
+ id="marker52016"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-3"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-8"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-6"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-3"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-5"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-0"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-8"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-1"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-2"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-6"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-9"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-10"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-7"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-3"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-7"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-12"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-8"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-9"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-88"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-0"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-22"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-1"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-62"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-02"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-4"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-6"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-6"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-3"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-9"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-5"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-2"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-1"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-5"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-55"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-60"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-6"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-6"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-1"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-5"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-9"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-2"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-3"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-0"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-7"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-1"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-68"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-60"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-4"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-77"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-14"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-3"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-2"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-6"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-93"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-74"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-7"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-9"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-4"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-2"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-6"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-53"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-60"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-0"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-09"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.8159691"
+ inkscape:cx="310.55157"
+ inkscape:cy="849.98308"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ gridtolerance="10000"
+ inkscape:window-width="1672"
+ inkscape:window-height="1019"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ showgrid="true"
+ showguides="false"
+ inkscape:connector-spacing="10"
+ inkscape:guide-bbox="true"
+ inkscape:window-maximized="0">
+ <sodipodi:guide
+ orientation="0,1"
+ position="31.938869,788.55965"
+ id="guide17449" />
+ <sodipodi:guide
+ orientation="1,0"
+ position="224.67342,882.17358"
+ id="guide17453" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="285.41744,976.57155"
+ id="guide23390" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="285.79781,806.73177"
+ id="guide23439" />
+ <sodipodi:guide
+ orientation="1,0"
+ position="561.68355,823.80254"
+ id="guide23441" />
+ <sodipodi:guide
+ orientation="1,0"
+ position="415.75596,833.7146"
+ id="guide23443" />
+ <sodipodi:guide
+ orientation="1,0"
+ position="61.675057,822.15053"
+ id="guide23607" />
+ <inkscape:grid
+ type="xygrid"
+ id="grid4114"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ spacingx="5px"
+ spacingy="5px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata1906">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Taso 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ style="opacity:1">
+ <g
+ id="g12796"
+ transform="translate(-9.5708008,-230)">
+ <rect
+ ry="3.7880721"
+ y="282.36218"
+ x="100"
+ height="125"
+ width="209.5708"
+ id="rect6642-4"
+ style="fill:#656565;fill-opacity:1;stroke:#000000;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-698.16357,-775.22948)"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363"><rect
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="39.215607"
+ width="175.71123"
+ id="rect11365" /></flowRegion><flowPara
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowPara6898">Login View</flowPara></flowRoot> <rect
+ ry="0"
+ y="307.36218"
+ x="99.570801"
+ height="95"
+ width="210"
+ id="rect6642-4-7"
+ style="fill:#ddd4ff;fill-opacity:1;stroke:#000000;stroke-width:1.77165353000000003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#f9ffd4;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4347"
+ width="125"
+ height="70"
+ x="142.0708"
+ y="322.36218" />
+ <rect
+ style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4347-8"
+ width="56"
+ height="11"
+ x="204.5708"
+ y="337.75156" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="144.5708"
+ y="347.36218"
+ id="text4367"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4369"
+ x="144.5708"
+ y="347.36218"
+ style="font-size:10px">Username</tspan></text>
+ <rect
+ style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4347-8-8"
+ width="56"
+ height="11"
+ x="204.5708"
+ y="356.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="144.5708"
+ y="365.97281"
+ id="text4367-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4369-3"
+ x="144.5708"
+ y="365.97281"
+ style="font-size:10px">Password</tspan></text>
+ <rect
+ style="color:#000000;fill:#bababa;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4347-8-9"
+ width="36"
+ height="11.389374"
+ x="224.5708"
+ y="377.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="230.5708"
+ y="386.36218"
+ id="text4367-5-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4369-3-1"
+ x="230.5708"
+ y="386.36218"
+ style="font-size:10px">Login</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#2200f9;fill-opacity:1;stroke:none;font-family:Sans"
+ x="149.5708"
+ y="385.36218"
+ id="text4367-5-3-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4369-3-1-9"
+ x="149.5708"
+ y="385.36218"
+ style="font-size:10px;fill:#2200f9;fill-opacity:1">Register</tspan></text>
+ </g>
+ <g
+ id="g12796-8"
+ transform="translate(-8.570805,-84.000004)">
+ <rect
+ ry="3.7880721"
+ y="296.36218"
+ x="99"
+ height="125"
+ width="209.5708"
+ id="rect6642-4-6"
+ style="fill:#656565;fill-opacity:1;stroke:#000000;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-699.16357,-761.22948)"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-2"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-4"><rect
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="39.215607"
+ width="175.71123"
+ id="rect11365-5" /></flowRegion><flowPara
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowPara6898-7">Registration View</flowPara></flowRoot> <rect
+ ry="0"
+ y="321.36218"
+ x="98.570801"
+ height="95"
+ width="210"
+ id="rect6642-4-7-6"
+ style="fill:#ddd4ff;fill-opacity:1;stroke:#000000;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#f9ffd4;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4347-0"
+ width="130"
+ height="90.000008"
+ x="138.5708"
+ y="326.36218" />
+ <rect
+ style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4347-8-81"
+ width="56"
+ height="11"
+ x="201.0708"
+ y="341.75156" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="141.0708"
+ y="351.36218"
+ id="text4367-59"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4369-4"
+ x="141.0708"
+ y="351.36218"
+ style="font-size:10px">Name</tspan></text>
+ <rect
+ style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4347-8-8-2"
+ width="56"
+ height="11"
+ x="201.0708"
+ y="374.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="141.0708"
+ y="383.97281"
+ id="text4367-5-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4369-3-9"
+ x="141.0708"
+ y="383.97281"
+ style="font-size:10px">Email</tspan></text>
+ <rect
+ style="color:#000000;fill:#bababa;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4347-8-9-9-4"
+ width="4.9999957"
+ height="94.999992"
+ x="303.5708"
+ y="321.36218" />
+ <rect
+ style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4347-8-81-1"
+ width="56"
+ height="11"
+ x="201.12836"
+ y="358.30905" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="141.12836"
+ y="367.91968"
+ id="text4367-59-1"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4369-4-6"
+ x="141.12836"
+ y="367.91968"
+ style="font-size:10px">Username</tspan></text>
+ <rect
+ style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4347-8-8-2-3"
+ width="56"
+ height="11"
+ x="201.23897"
+ y="390.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="141.0708"
+ y="398.97281"
+ id="text4367-5-5-0"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4369-3-9-2"
+ x="141.0708"
+ y="398.97281"
+ style="font-size:10px">...</tspan></text>
+ </g>
+ <g
+ id="g5028">
+ <g
+ transform="matrix(0,3.9435832,-3.9435832,0,1793.0696,-558.46249)"
+ id="g12499-6">
+ <g
+ id="g18065-9"
+ transform="matrix(0.5,0,0,0.5,8.55451,158.9407)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path18067-13"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path18069-0"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#656565;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </g>
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path4833-2-1-6-1"
+ d="m 151.87049,157.36218 0,45"
+ style="fill:none;stroke:#656565;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" />
+ </g>
+ <g
+ id="g12796-5"
+ transform="translate(251.42919,-229)">
+ <rect
+ ry="3.7880721"
+ y="282.36218"
+ x="97.070801"
+ height="125"
+ width="209.5708"
+ id="rect6642-4-3"
+ style="fill:#656565;fill-opacity:1;stroke:#000000;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-698.16357,-775.22948)"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-20"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-0"><rect
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="39.215607"
+ width="175.71123"
+ id="rect11365-1" /></flowRegion><flowPara
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowPara6898-1">Main View</flowPara></flowRoot> <rect
+ ry="0"
+ y="307.36218"
+ x="97.070801"
+ height="95"
+ width="210"
+ id="rect6642-4-7-8"
+ style="fill:#ddd4ff;fill-opacity:1;stroke:#000000;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4347-2"
+ width="175"
+ height="80"
+ x="132.0708"
+ y="322.36218" />
+ <rect
+ style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4347-2-1"
+ width="35"
+ height="80"
+ x="97.070801"
+ y="322.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="100.69411"
+ y="318.18817"
+ id="text4367-9"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4369-2"
+ x="100.69411"
+ y="318.18817"
+ style="font-size:10px">My Application</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="98.998161"
+ y="330.98553"
+ id="text4367-9-1"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="98.998161"
+ y="330.98553"
+ style="font-size:6px"
+ id="tspan4784">One</tspan><tspan
+ sodipodi:role="line"
+ x="98.998161"
+ y="338.48553"
+ style="font-size:6px"
+ id="tspan4807"> Four</tspan><tspan
+ sodipodi:role="line"
+ x="98.998161"
+ y="345.98553"
+ style="font-size:6px"
+ id="tspan4809"> Five</tspan><tspan
+ sodipodi:role="line"
+ x="98.998161"
+ y="353.48553"
+ style="font-size:6px"
+ id="tspan4811"> Six</tspan><tspan
+ sodipodi:role="line"
+ x="98.998161"
+ y="360.98553"
+ style="font-size:6px"
+ id="tspan4792">Two</tspan><tspan
+ sodipodi:role="line"
+ x="98.998161"
+ y="368.48553"
+ style="font-size:6px"
+ id="tspan4813"> Seven</tspan><tspan
+ sodipodi:role="line"
+ x="98.998161"
+ y="375.98553"
+ style="font-size:6px"
+ id="tspan4821"> Eight</tspan><tspan
+ sodipodi:role="line"
+ x="98.998161"
+ y="383.48553"
+ style="font-size:6px"
+ id="tspan4805">Three</tspan><tspan
+ sodipodi:role="line"
+ x="98.998161"
+ y="390.98553"
+ style="font-size:6px"
+ id="tspan4823"> Nine</tspan><tspan
+ sodipodi:role="line"
+ x="98.998161"
+ y="398.48553"
+ style="font-size:6px"
+ id="tspan4817" /></text>
+ <g
+ sodipodi:type="inkscape:box3d"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="g4867"
+ inkscape:perspectiveID="#perspective206"
+ inkscape:corner0="0.14898278 : 0.54712709 : 0 : 1"
+ inkscape:corner7="-0.22057167 : 0.47685296 : 0.2442114 : 1">
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path4879"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="11"
+ d="m 169.59848,374.35993 35.2043,-14.44364 0,20.32397 -35.2043,9.05257 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path4869"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="6"
+ d="m 148.53637,363.39853 0,18.10682 21.06211,7.78748 0,-14.9329 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path4871"
+ style="fill:#4d4d9f;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="5"
+ d="m 148.53637,363.39853 36.24826,-24.16632 20.01815,20.68408 -35.2043,14.44364 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path4877"
+ style="fill:#afafde;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="13"
+ d="m 148.53637,381.50535 36.24826,-15.58123 20.01815,14.31614 -35.2043,9.05257 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path4875"
+ style="fill:#d7d7ff;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="14"
+ d="m 184.78463,339.23221 0,26.69191 20.01815,14.31614 0,-20.32397 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path4873"
+ style="fill:#8686bf;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="3"
+ d="m 148.53637,363.39853 36.24826,-24.16632 0,26.69191 -36.24826,15.58123 z" />
+ </g>
+ <g
+ sodipodi:type="inkscape:box3d"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="g4881"
+ inkscape:perspectiveID="#perspective206"
+ inkscape:corner0="-0.49358535 : 0.47063658 : 0 : 1"
+ inkscape:corner7="-0.57910016 : 0.39976884 : 0.25 : 1">
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path4893"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="11"
+ d="m 253.19369,370.70521 23.08462,-5.56535 0,31.27168 -23.08462,2.03 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path4889"
+ style="fill:#d7d7ff;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="14"
+ d="m 280.78373,329.0315 0,49.84598 -4.50542,17.53406 0,-31.27168 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path4885"
+ style="fill:#4d4d9f;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="5"
+ d="m 245.5422,343.44166 35.24153,-14.41016 -4.50542,36.10836 -23.08462,5.56535 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path4883"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="6"
+ d="m 245.5422,343.44166 0,41.42883 7.65149,13.57105 0,-27.73633 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path4891"
+ style="fill:#afafde;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="13"
+ d="m 245.5422,384.87049 35.24153,-5.99301 -4.50542,17.53406 -23.08462,2.03 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path4887"
+ style="fill:#8686bf;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="3"
+ d="m 245.5422,343.44166 35.24153,-14.41016 0,49.84598 -35.24153,5.99301 z" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#2400cd;fill-opacity:1;stroke:none;font-family:Sans"
+ x="267.74481"
+ y="318.01416"
+ id="text4367-5-3-70"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4369-3-1-0"
+ x="267.74481"
+ y="318.01416"
+ style="font-size:10px;fill:#2400cd;fill-opacity:1">Logout</tspan></text>
+ </g>
+ <g
+ id="g12796-8-4"
+ transform="translate(247.42919,-83.000004)">
+ <rect
+ ry="3.7880721"
+ y="296.36218"
+ x="99"
+ height="125"
+ width="209.5708"
+ id="rect6642-4-6-4"
+ style="fill:#656565;fill-opacity:1;stroke:#000000;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-699.16357,-761.22948)"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-2-9"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-4-9"><rect
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="39.215607"
+ width="175.71123"
+ id="rect11365-5-5" /></flowRegion><flowPara
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowPara6898-7-1">Help View</flowPara></flowRoot> <rect
+ ry="0"
+ y="321.36218"
+ x="98.570801"
+ height="95"
+ width="210"
+ id="rect6642-4-7-6-4"
+ style="fill:#ddd4ff;fill-opacity:1;stroke:#000000;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ style="color:#000000;fill:#f9ffd4;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4347-0-5"
+ width="130"
+ height="90.000008"
+ x="138.5708"
+ y="326.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="141.0708"
+ y="339.36218"
+ id="text4367-59-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4369-4-8"
+ x="141.0708"
+ y="339.36218"
+ style="font-size:10px;font-weight:bold">Help on Boxes</tspan><tspan
+ sodipodi:role="line"
+ x="141.0708"
+ y="351.86218"
+ style="font-size:10px"
+ id="tspan5076" /><tspan
+ sodipodi:role="line"
+ x="141.0708"
+ y="364.36218"
+ style="font-size:10px"
+ id="tspan5068">Boxes are things that</tspan><tspan
+ sodipodi:role="line"
+ x="141.0708"
+ y="376.86218"
+ style="font-size:10px"
+ id="tspan5070">can be somewhere</tspan><tspan
+ sodipodi:role="line"
+ x="141.0708"
+ y="389.36218"
+ style="font-size:10px"
+ id="tspan5072">while not being in some</tspan><tspan
+ sodipodi:role="line"
+ x="141.0708"
+ y="401.86218"
+ style="font-size:10px"
+ id="tspan5074">other place.</tspan></text>
+ <rect
+ style="color:#000000;fill:#bababa;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4347-8-9-9-4-6"
+ width="4.9999957"
+ height="94.999992"
+ x="303.5708"
+ y="321.36218" />
+ </g>
+ <g
+ id="g5021"
+ transform="matrix(0,-1,1,0,146.59921,420.54687)">
+ <g
+ transform="matrix(0,3.9435832,-3.9435832,0,1908.0696,-573.46249)"
+ id="g12499-6-7">
+ <g
+ id="g18065-9-2"
+ transform="matrix(0.5,0,0,0.5,8.55451,158.9407)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path18067-13-4"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path18069-0-6"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#656565;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </g>
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path4833-2-1-6-1-0"
+ d="m 266.87047,103.40079 0,83.96139"
+ style="fill:none;stroke:#656565;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" />
+ </g>
+ <g
+ transform="translate(233.12951,2.6171874e-6)"
+ id="g5028-9">
+ <g
+ transform="matrix(0,3.9435832,-3.9435832,0,1793.0696,-558.46249)"
+ id="g12499-6-9">
+ <g
+ id="g18065-9-1"
+ transform="matrix(0.5,0,0,0.5,8.55451,158.9407)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path18067-13-7"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path18069-0-62"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#656565;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </g>
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path4833-2-1-6-1-6"
+ d="m 151.87049,177.36218 0,25"
+ style="fill:none;stroke:#656565;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" />
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 562.2466,93.463523 c 20,0 -5,38.898657 10,38.898657 -15,0 10,40 -10,40"
+ id="path5078"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="575.84796"
+ y="129.91284"
+ id="text4367-9-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4369-2-1"
+ x="575.84796"
+ y="129.91284"
+ style="font-size:10px">Content</tspan><tspan
+ sodipodi:role="line"
+ x="575.84796"
+ y="142.41284"
+ style="font-size:10px"
+ id="tspan5101">Sub-View</tspan></text>
+ <g
+ id="g5021-7"
+ transform="matrix(0,-1,1,0,156.59921,315.54687)">
+ <g
+ transform="matrix(-3.9435832,0,0,-3.9435832,1025.3662,1764.5243)"
+ id="g12499-6-7-9">
+ <g
+ id="g18065-9-2-0"
+ transform="matrix(0.5,0,0,0.5,8.55451,158.9407)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path18067-13-4-3"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path18069-0-6-6"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#656565;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </g>
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path4833-2-1-6-1-0-3"
+ d="m 228.18469,398.40079 0,15 45,0 0,-290 -10,0"
+ style="fill:none;stroke:#656565;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" />
+ </g>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Varjot" />
+</svg>
|