You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by ar...@apache.org on 2022/06/01 15:25:19 UTC
[tvm-rfcs] branch main updated: [RFC] UMA Universal Modular Accelerator Interface (#60)
This is an automated email from the ASF dual-hosted git repository.
areusch pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tvm-rfcs.git
The following commit(s) were added to refs/heads/main by this push:
new 6990e13 [RFC] UMA Universal Modular Accelerator Interface (#60)
6990e13 is described below
commit 6990e1363c96945b6c9d19dc2d331306d2be2a17
Author: Michael J. Klaiber <gi...@michael-klaiber.de>
AuthorDate: Wed Jun 1 17:25:14 2022 +0200
[RFC] UMA Universal Modular Accelerator Interface (#60)
* moving uma rfc from dicuss forum here
* uma rfc update
* Update 00xx_UMA_Unified_Modular_Accelerator_Interface.md
Update code snippets
* Update 00xx_UMA_Unified_Modular_Accelerator_Interface.md
* UMA: Update reference level and guide level
* uma:added _register_config reference and example
* uma: minor update
* uma-rfc: update to questions/comments added
* Update 00xx_UMA_Unified_Modular_Accelerator_Interface.md
* Add descriptions for all API functions
* Clarify backend registration and add target hook explanation
* Remove schedules from API and corresponding descriptions
* uma_pipeline image update
* uma_pipeline image update
* Update target registration and add pass phases
* Target registration with support for attribute options
* Pass phases as enums
* Fix code snippets
* [UMA] update
* [UMA] update
* [UMA] RFC PR added
* Move backend usage to guide-level explanation
Co-authored-by: PaulPalomeroBernardo <pa...@uni-tuebingen.de>
Co-authored-by: Christoph Gerum <ch...@uni-tuebingen.de>
---
...60_UMA_Unified_Modular_Accelerator_Interface.md | 390 ++++++
rfcs/assets/0060/uma_pipeline.png | Bin 0 -> 114792 bytes
rfcs/assets/0060/uma_pipeline.svg | 1418 ++++++++++++++++++++
rfcs/assets/0060/uma_toplevel.png | Bin 0 -> 105226 bytes
rfcs/assets/0060/uma_toplevel.svg | 875 ++++++++++++
5 files changed, 2683 insertions(+)
diff --git a/rfcs/0060_UMA_Unified_Modular_Accelerator_Interface.md b/rfcs/0060_UMA_Unified_Modular_Accelerator_Interface.md
new file mode 100644
index 0000000..6b402a5
--- /dev/null
+++ b/rfcs/0060_UMA_Unified_Modular_Accelerator_Interface.md
@@ -0,0 +1,390 @@
+# UMA: Universal Modular Accelerator Interface
+
+ Feature Name: Universal Modular Accelerator Interface (UMA)
+ Start Date: 2022 February
+ Authors:
+ Paul Palomero Bernardo @paulpb, Christoph Gerum @cgerum - University of Tübingen
+ Michael J. Klaiber @mjklaiber, Ingo Feldner - Bosch Research
+ Philipp van Kempen @philippvk, Rafael Stahl @r.stahl, Daniel Müller-Gritschneder - Technical University of Munich
+ Johannes Partzsch - TU Dresden
+ Andrew Stevens - Infineon Technologies
+ RFC PR: https://github.com/apache/tvm-rfcs/pull/60
+ GitHub Tracking Issue: https://github.com/apache/tvm/issues/11260
+
+## Summary
+
+<img src="https://live.staticflickr.com/98/234261205_63fa6a3412_b.jpg" align="left" width="200px"/>
+
+
+The goal of **UMA (Universal Modular Accelerator Interface)** is to create a unified infrastructure for easily integrating external accelerators into TVM.
+UMA provides file structures, Python interface classes and an API for accelerator integration. These interfaces and API are accessible from Python and are part of the components *UMA Partitioner*, *UMA Lower* and *UMA Codgen*.
+The features and proposals of *Target registered compiler flow customization* [TVM-RFC0011] and [TVM-RFC0010] are considered, with the difference that UMA tries to provide a more general interface for integrating new accelerators and one specific implementation of the hooks described in [TVM-RFC0011].
+
+
+
+<br clear="left"/>
+
+<sub><sup> Image Source: https://www.flickr.com/photos/luvi/234261205 under CC BY-NC-ND 2.0</sup></sub>
+
+
+
+## Goal and Motivation
+
+A number of accelerators have already been integrated into TVM, e.g. VTA, ARM EthosU.
+These are similar in both the structure of their build flow and the operations that they can offload.
+Nonetheless, due to incremental independent development, the TVM interfaces and processing steps used are quite different with little commonality. A consistent, unified, infrastructure would simplify accelerator integration making it accessible to smaller, hardware-focused, development teams.
+
+The **goal** of UMA is to establish two API layers with a different target groups of users:
+
+**Porcelain Layer**: UMA
+ - Straight-forward, *Python-only* and stable API wrapper of plumbing layer
+ - Easy and clearly-defined template for integration of accelerators
+ - Short learning period for hardware/software engineers new to TVM
+
+**Plumbing Layer**:
+ - Collage-like API [COLLAGE-RFC](https://github.com/mbs-octoml/mbs-tvm-rfcs/blob/mbs-rfcs-collage/rfcs/xxxx-collage.md) + other TVM APIs
+ - Powerful API to core-compiler + other TVM features
+ - Target audience is experienced TVM users/developers
+ - C++ and Python APIs
+
+
+## Focus
+
+UMA's primary objective is to enable straight-forward TVM integration of loosely-coupled processor/microcontroller controlled accelerators. That is, accelerators capable of executing complete tensor operations or operation-graphs without host processor intervention.
+Secondary objectives are:
+
+* Support for closely-coupled accelerators (those offload parts of CPU computation for significant elements of tensor operations)
+* Compatibility with both run-time or ahead-of-time compilation
+* Support for heterogeneous execution utilizing accelerators optimized for specific operations or data types
+
+Accelerator support or optimization functions **outside** the scope of UMA are:
+
+* Parallel execution on multi-accelerator architectures (to be handled by executor/run-time and customized layer splitting)
+* Real-time execution (to be handled by executor/run-time)
+* High-level support for parameter conversion like quantization or sparsity exploitation (to be realized via model pre-processing or in accelerator backends)
+
+## Guide-level explanation
+
+
+### Flow description
+
+
+
+The figure below describes the UMA interface from a top level. An *Accelerator Partitioner* which is a specialization of the *UMA Partitioner* takes the Relay graph and matches for supported and unsupported operators. Unsupported operators are processed with the default TVM flow. Supported operator are processed with **UMA Pipeline**.
+In the following the tasks and the functionality of each block in the figure below is described:
+
+![](assets/0060/uma_toplevel.png)
+
+UMA Partitioner:
+* Register relay passes
+* Register patterns - supported sub-graph operations
+* Order: pre-partitioning passes, Graph partitioning, post-partitioning passes
+* API level:
+ * UMA Partitioner creates a wrapper API to TVM core-compiler APIs
+
+The figure below described the *UMA Pipeline*. The blocks are described below:
+
+![](assets/0060/uma_pipeline.png)
+
+UMA Pipelining:
+* Consists of UMALower and UMACodgen, which implement the target hook Relay-to-TIR and TIR-to-Runtime (proposed in [TVM-RFC0010])
+* UMALower
+ * Input: Partitioned composite functions
+ * Custom primitives can be registered
+ * Lowering from Relay to S-TIR, using TOPI or custom primitives
+ * Interface for registering accelerator-specific passes
+ * Execution of UMA passes on S-TIR and NS-TIR
+ * Output: NS-TIR(including tir.extern calls)
+* UMACodegen
+ * Input: NS-TIR(including tir.extern calls)
+ * Defaults to standard TVM codegen
+ * Intend is to provide a Python interface to insert/emit target code
+ * Output: Target .c files
+
+The intention is to use TensorIR with MetaScheduler for optimization and Relax (a possible succesor of Relay [video link](https://www.youtube.com/watch?v=xVbkjJDMexo)) in later versions.
+
+
+Abbreviations:
+S-TIR: Schedulable TIR
+NS-TIR: Non-Schedulable TIR
+
+### Adding a New Custom Accelerator
+
+A custom accelerator is added by inheriting the `UMABackend`. New elements (e.g., passes) are added using a registration machanism. Below example shows a backend that makes use of all available registration functions.
+```python
+"""UMA backend for the UltraTrail accelerator"""
+
+class UltraTrailBackend(UMABackend):
+ def __init__(self):
+ super(UltraTrailBackend, self).__init__()
+
+ # Target configuration
+ self._register_target_attr("dimension", default=8)
+
+ # Relay to Relay function registration
+ self._register_pattern("conv1d_relu", conv1d_relu_pattern())
+
+ self._register_relay_pass(PassPhase.POST_PARTITIONING, ConfigGenerator())
+ self._register_relay_pass(PassPhase.POST_PARTITIONING, BufferScopeAnnotator())
+
+ # Relay to TIR function registration
+ self._register_operator_strategy("nn.conv1d", custom_conv1d_strategy)
+
+ self._register_tir_pass(PassPhase.TIR_PHASE_0, CodegenGenerateExternCalls())
+
+ # TIR to runtime function registration
+ self._register_codegen(format="c", includes=gen_includes, replace_call_extern=None)
+
+ @property
+ def target_name(self):
+ return "ultra_trail"
+```
+
+### Using a Custom Backend
+
+A new custom backend is created by implementing the `UMABackend` as shown in the [previous section](#adding-a-new-custom-accelerator). To use the backend it simply needs to be registered using `backend.register()`. Once a `UMABackend` is registered, it hooks into the usual `relay.build` process to create the code for the target accelerator.
+```
+# Load model
+mod, params = relay.frontend.from_pytorch(scripted_model, [("input_data", input_shape)])
+
+# Register a UMA backend
+ut_backend = UltraTrailBackend()
+ut_backend.register()
+mod = ut_backend.partition(mod)
+
+# Relay build (AOT C target)
+TARGET = tvm.target.Target("c")
+RUNTIME = tvm.relay.backend.Runtime("crt")
+EXECUTOR = tvm.relay.backend.Executor("aot", {"unpacked-api": True})
+
+with tvm.transform.PassContext(
+ opt_level=3, config={"tir.disable_vectorize": True}, disabled_pass=["AlterOpLayout"]
+):
+ module = relay.build(mod, target=TARGET, runtime=RUNTIME, executor=EXECUTOR, params=params)
+```
+
+## Reference-level explanation
+
+### File and class structure and Snippets as example for integration
+
+UMA provides a fully python-based API. The API is structured as shown below. The base class `UMABackend` functions as the core API. It uses the API points described in the [flow description](#flow-description) to register elements for the different stages.
+```
+.
+├── backend.py
+├── api
+│ ├── codegen.py
+│ ├── lower.py
+│ ├── partitioner.py
+│ └── utils.py
+├── accelerator_A
+│ ├── backend.py
+│ ├── codegen.py
+│ ├── passes.py
+│ ├── patterns.py
+│ └── strategies.py
+└── accelerator_B
+ └── ...
+```
+
+### Pass Phases
+
+UMA allows users to register passes in different stages of the compilation pipeline called pass phases. They are motivated by the existing [TIR pass phases](https://tvm.apache.org/docs/how_to/extend_tvm/low_level_custom_pass.html?highlight=phase#glue-to-lowering) and provide new users with some orientation as to where they should put their custom passes in the entire compilation process. To be more expressive, pass phases are named enums of type `PassPhase`, e.g., `PassPhase.PRE_PARTITIO [...]
+
+Passes are divided into relay and TIR passes and can be registered as such (`_register_relay_pass`, `_register_tir_pass`). Each pass gets registered for a specific pass phase and the order of registration defines the order of exection within the same phase.
+
+Future versions of UMA could also provide a finer interface for where to register a pass by providing the passes dependencies, e.g., `_register_relay_pass(MyPass, before=PassA, after=(PassB, PassC))`. However, this would first require pass dependencies to be implemented in the TVM core since UMA only tries to wrap around existing TVM APIs.
+
+### UMA Target Hooks
+
+UMA uses target hooks (RFC [#0010](https://github.com/apache/tvm-rfcs/blob/main/rfcs/0010-target-registered-compiler-flow-customisation.md)) to perform the lowering of the partitioned, accelerator specific functions from relay to TIR and TIR to runtime. To register the hooks from the python side, a global function `RegisterTarget` is registered on the C++ side and used during backend registration. To allow customization of the target, it is possible to pass target-specific attribute opti [...]
+
+```cpp
+TVM_REGISTER_GLOBAL("relay.backend.contrib.uma.RegisterTarget")
+ .set_body_typed([](String target_name, Map<String, ObjectRef> attr_options){
+ auto target_kind = ::tvm::TargetKindRegEntry::RegisterOrGet(target_name)
+ .set_name()
+ .set_device_type(kDLCPU)
+ .add_attr_option<Array<String>>("keys")
+ .add_attr_option<String>("tag")
+ .add_attr_option<String>("device")
+ .add_attr_option<String>("model")
+ .add_attr_option<Array<String>>("libs")
+ .add_attr_option<Target>("host")
+ .add_attr_option<Integer>("from_device")
+ .set_attr<FTVMRelayToTIR>("RelayToTIR", relay::contrib::uma::RelayToTIR(target_name))
+ .set_attr<FTVMTIRToRuntime>("TIRToRuntime", relay::contrib::uma::TIRToRuntime);
+
+ for (auto &attr_option : attr_options) {
+ try {
+ target_kind.add_attr_option<String>(attr_option.first, Downcast<String>(attr_option.second));
+ continue;
+ } catch (...) {}
+ try {
+ target_kind.add_attr_option<Bool>(attr_option.first, Downcast<Bool>(attr_option.second));
+ continue;
+ } catch (...) {}
+ try {
+ target_kind.add_attr_option<Integer>(attr_option.first, Downcast<Integer>(attr_option.second));
+ continue;
+ } catch (...) {
+ LOG(FATAL) << "Attribute option of type " << attr_option.second->GetTypeKey()
+ << " can not be added. Only String, Integer, or Bool are supported.";
+ }
+ }
+ });
+```
+
+Future versions of UMA could support further customization of the target. One option that has been discussed is the possibility to also allow registration of target preprocessors (e.g., `.add_attrs_preprocessor(Preprocessor)`). A motivation for it in described in this [RFC](https://github.com/apache/tvm-rfcs/blob/1901b7361891fc7235b3bb8e80c89130cfe2c91d/rfcs/0070-target-preprocessing.md).
+
+### UMABackend References
+
+UMA should function as an easy to use API, that also helps new users gain orientation in the codebase. To this end, all API functions are typed and documented with examples of their use and required input.
+
+#### `_register_target_attr`
+```python
+_register_target_attr(self, name: str, default: Optional[Union[str, int, bool]] = "") -> None
+```
+
+|Parameter|Description|
+|---------|-----------|
+|name|The name of the target attribute.|
+|default|A default value for the attribute. If none is provided, the attribute will be treated as a string.|
+
+Example usage:
+```python
+self._register_target_attr("attrA", default=0)
+self._register_target_attr("attrB", default=False)
+```
+
+#### `_register_relay_pass`
+```python
+_register_relay_pass(self, phase: PassPhase, relay_pass: tvm.transform.Pass) -> None
+```
+
+|Parameter|Description|
+|---------|-----------|
+|phase|The phase at which the pass is registered.|
+|relay_pass|The relay pass to be registered.|
+
+Example usage:
+```python
+self._register_relay_pass(PassPhase.RELAY_PASS_PHASE, MyPassA)
+
+# Where a relay pass can look like this:
+@tvm.ir.transform.module_pass(opt_level=0)
+class MyPassA:
+ def transform_module(self, mod, ctx):
+ # My pass functionality...
+ return mod
+```
+
+#### `_register_pattern`
+```python
+_register_pattern(self, name: str, pattern: tvm.relay.dataflow_pattern.DFPattern,) -> None
+```
+
+|Parameter|Description|
+|---------|-----------|
+|name|The name of the pattern.|
+|pattern|The dataflow pattern.|
+
+Example usage:
+```python
+self._register_pattern("conv1d", conv1d_pattern)
+
+# Where a dataflow pattern can look like this:
+conv1d_pattern = is_op("nn.conv1d")(wildcard(), wildcard())
+optional_bias = lambda x: is_op("nn.bias_add")(x, wildcard())
+optional_relu = lambda x: is_op("nn.relu")(x)
+conv1d_pattern = conv1d_pattern.optional(optional_bias).optional(optional_relu)
+```
+
+#### `_register_operator_strategy`
+```python
+_register_operator_strategy(self, op: str, strategy: Callable[[tvm.ir.Attrs, tvm.ir.Array, tvm.ir.TensorType, tvm.target.Target], tvm.relay.op.op.OpStrategy], plevel: Optional[int] = 11) -> None
+```
+
+|Parameter|Description|
+|---------|-----------|
+|op|The name of the operator for which this strategy will be registered.|
+|strategy|The strategy function.|
+|plevel|The priority level of the strategy. Higher plevel equals higher priorization. The TVM default for topi strategies is 10 so by default new UMA strategies are always used.|
+
+Example usage:
+```python
+self._register_operator_strategy("nn.conv1d", custom_conv1d_strategy)
+
+# Where a strategy function can look like this:
+@relay.op.strategy.override_native_generic_func("custom_conv1d_strategy")
+def custom_conv1d_strategy(attrs, inputs, out_type, target):
+ strategy = _op.OpStrategy()
+ strategy.add_implementation(
+ wrap_compute_conv1d(custom_conv1d_compute),
+ wrap_topi_schedule(custom_conv1d_schedule),
+ name="custom_conv1d.generic",
+ return strategy
+```
+
+#### `_register_tir_pass`
+```python
+_register_tir_pass(self, phase: PassPhase, tir_pass: tvm.tir.transform.PrimFuncPass) -> None
+```
+
+|Parameter|Description|
+|---------|-----------|
+|phase|The phase at which the pass is registered.|
+|tir_pass|The relay pass to be registered.|
+
+Example usage:
+```python
+self._register_tir_pass(PassPhase.TIR_PASS_PHASE, MyPassA)
+
+# Where a TIR pass can look like this:
+@tvm.tir.transform.prim_func_pass(opt_level=0)
+class MyPassA:
+ def transform_function(self, func, mod, ctx):
+ # My pass functionality...
+ return func
+```
+
+#### `_register_codegen`
+```python
+_register_codegen(self, fmt: str = "c", **kwargs) -> None
+```
+
+|Parameter|Description|
+|---------|-----------|
+|fmt|The codegen format. For now, only C-codegen is supported by UMA.|
+|**kwargs|Keyword arguments for the chosen codegen.|
+
+Example usage:
+```python
+self._register_codegen(fmt="c", includes=gen_includes, replace_call_extern=gen_replace_call_extern)
+
+# The C-codegen provides two hooks which allows the user to insert code through the python API.
+# - `includes` hooks into the include stream and allows insertion of custom includes.
+# - `replace_call_extern` hooks into the expression visitor and allows the user to insert custom code for a given extern call.
+#
+# The code generation functions can look like this:
+
+def gen_includes() -> str:
+ includes = "#include <my_custom_header.h>\n"
+ return includes
+
+def gen_replace_call_extern(args: tvm.ir.container.Array) -> str:
+ return "my_custom_api_function({}, {}, {})".format(*args)
+```
+
+#### Configuration
+
+The `UMABackend` can be further configured through parameters during initialization. However, the amount of configurability should be kept to a minimum, since UMA tries to streamline and simplify the compilation pipeline.
+```python
+class UltraTrailBackend(UMABackend):
+ def __init__(self):
+ super(UltraTrailBackend, self).__init__(merge_compiler_regions=False)
+```
+
+Below is a list of currently planned configuration parameters for the initial version of UMA proposed in this RFC.
+|Parameter|Type|Description|
+|---------|----|-----------|
+|merge_compiler_regions|bool (default: True)|Enables/disables the `MergeCompilerRegions` pass during partitioning.|
diff --git a/rfcs/assets/0060/uma_pipeline.png b/rfcs/assets/0060/uma_pipeline.png
new file mode 100644
index 0000000..6581287
Binary files /dev/null and b/rfcs/assets/0060/uma_pipeline.png differ
diff --git a/rfcs/assets/0060/uma_pipeline.svg b/rfcs/assets/0060/uma_pipeline.svg
new file mode 100644
index 0000000..60da36d
--- /dev/null
+++ b/rfcs/assets/0060/uma_pipeline.svg
@@ -0,0 +1,1418 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ width="302.31488mm"
+ height="125.0298mm"
+ viewBox="0 0 302.31488 125.0298"
+ version="1.1"
+ id="svg1551"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ sodipodi:docname="uma_pipeline.svg"
+ inkscape:export-filename="C:\Users\kml2rng\Downloads\tvm-rfcs\rfcs\uma_pipeline.png"
+ inkscape:export-xdpi="120"
+ inkscape:export-ydpi="120"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <metadata
+ id="metadata285">
+ <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>
+ <sodipodi:namedview
+ id="namedview1553"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ inkscape:pagecheckerboard="0"
+ inkscape:document-units="mm"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:zoom="0.74118967"
+ inkscape:cx="491.77696"
+ inkscape:cy="116.70427"
+ inkscape:window-width="1920"
+ inkscape:window-height="1017"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="layer1" />
+ <defs
+ id="defs1548">
+ <marker
+ style="overflow:visible;"
+ id="Arrow2Mend"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:isstock="true">
+ <path
+ transform="scale(0.6) rotate(180) translate(0,0)"
+ 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 "
+ style="stroke:context-stroke;fill-rule:evenodd;fill:context-stroke;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path1657" />
+ </marker>
+ <marker
+ style="overflow:visible;"
+ id="Arrow2Lend"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend"
+ inkscape:isstock="true">
+ <path
+ transform="scale(1.1) rotate(180) translate(1,0)"
+ 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 "
+ style="stroke:context-stroke;fill-rule:evenodd;fill:context-stroke;stroke-width:0.62500000;stroke-linejoin:round;"
+ id="path1651" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="Arrow1Lstart"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lstart"
+ inkscape:isstock="true">
+ <path
+ transform="scale(0.8) translate(12.5,0)"
+ style="fill-rule:evenodd;fill:context-stroke;stroke:context-stroke;stroke-width:1.0pt"
+ 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 "
+ id="path1630" />
+ </marker>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipEmfPath1">
+ <path
+ d="M 0.47970927,0.47970927 H 1110.0472 V 439.41369 H 0.47970927 Z"
+ id="path1612" />
+ </clipPath>
+ <pattern
+ id="EMFhbasepattern"
+ patternUnits="userSpaceOnUse"
+ width="6"
+ height="6"
+ x="0"
+ y="0" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipEmfPath1-9">
+ <path
+ d="M 0.47970927,0.47970927 H 1084.3028 V 476.99091 H 0.47970927 Z"
+ id="path2416" />
+ </clipPath>
+ <pattern
+ id="EMFhbasepattern-6"
+ patternUnits="userSpaceOnUse"
+ width="6"
+ height="6"
+ x="0"
+ y="0" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipEmfPath1-2">
+ <path
+ d="M 0.47970927,0 H 1143.1472 V 475.23198 H 0.47970927 Z"
+ id="path63477" />
+ </clipPath>
+ <pattern
+ id="EMFhbasepattern-4"
+ patternUnits="userSpaceOnUse"
+ width="6"
+ height="6"
+ x="0"
+ y="0" />
+ <marker
+ style="overflow:visible"
+ id="Arrow2Lend-8"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Lend"
+ inkscape:isstock="true">
+ <path
+ transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+ id="path1651-9" />
+ </marker>
+ </defs>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-50.660822,225.14038)">
+ <rect
+ id="rect3990"
+ width="302.35458"
+ height="124.58293"
+ x="51.017792"
+ y="-225.05049"
+ style="stroke-width:0.26458332;fill:#ffffff"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96" />
+ <path
+ style="fill:#ffc000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 270.00505,-190.99278 v 39.38846 h 51.65768 v -39.38846 z"
+ id="path63483" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 270.00505,-151.60432 h 51.65768 v -39.38846 h -51.65768 z"
+ id="path63485" />
+ <path
+ style="fill:#ffc000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 89.901206,-190.86586 v 39.26154 H 267.38197 v -39.26154 z"
+ id="path63487" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 89.901206,-151.60432 H 267.38197 v -39.26154 H 89.901206 Z"
+ id="path63489" />
+ <path
+ style="fill:#d5e8d4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 50.766591,-203.98124 v 47.00384 h 37.823078 v -47.00384 z"
+ id="path63491" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.999394px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="url(#clipEmfPath1-2)"
+ d="M 0.87946699,80.351302 H 143.83283 V 258.00363 H 0.87946699 Z"
+ id="path63493"
+ transform="matrix(0.26458333,0,0,0.26458333,50.533899,-225.24086)" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="60.016418"
+ y="-198.60493"
+ id="text63499"><tspan
+ sodipodi:role="line"
+ x="60.016418"
+ y="-198.60493"
+ id="tspan63497"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63495">Supported</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="60.270264"
+ y="-193.528"
+ id="text63505"><tspan
+ sodipodi:role="line"
+ x="60.270264"
+ y="-193.528"
+ id="tspan63503"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63501">Operators</tspan></tspan></text>
+ <path
+ style="fill:#d5e8d4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 53.601207,-190.23124 v 18.82692 h 29.869229 v -18.82692 z"
+ id="path63507" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 53.601207,-190.23124 h 29.869229 v 18.82692 H 53.601207 Z"
+ id="path63509" />
+ <path
+ style="fill:#d5e8d4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 54.616591,-189.04663 v 18.82692 h 29.911538 v -18.82692 z"
+ id="path63511" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 54.616591,-189.04663 h 29.911538 v 18.82692 H 54.616591 Z"
+ id="path63513" />
+ <path
+ style="fill:#fff2cc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 133.98582,-187.81971 v 18.82693 h 24.87692 v -18.82693 z"
+ id="path63515" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 133.98582,-187.81971 h 24.87692 v 18.82693 h -24.87692 z"
+ id="path63517" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="140.88324"
+ y="-176.81241"
+ id="text63523"><tspan
+ sodipodi:role="line"
+ x="140.88324"
+ y="-176.81241"
+ id="tspan63521"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63519">S</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="143.67554"
+ y="-176.81241"
+ id="text63529"><tspan
+ sodipodi:role="line"
+ x="143.67554"
+ y="-176.81241"
+ id="tspan63527"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63525">-</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="145.114"
+ y="-176.81241"
+ id="text63535"><tspan
+ sodipodi:role="line"
+ x="145.114"
+ y="-176.81241"
+ id="tspan63533"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63531">TIR</tspan></tspan></text>
+ <g
+ id="g1513"
+ transform="translate(-17.991672)">
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 200.78966,-187.86201 h 25.74423 l 4.125,9.41346 -4.125,9.41346 h -25.74423 l 4.125,-9.41346 z"
+ id="path63539" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+ d="m 200.78966,-187.86201 h 25.74423 l 4.125,9.41346 -4.125,9.41346 h -25.74423 l 4.125,-9.41346 z"
+ id="path63541" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="208.99596"
+ y="-181.51137"
+ id="text63547"><tspan
+ sodipodi:role="line"
+ x="208.99596"
+ y="-181.51137"
+ id="tspan63545"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63543">Execute</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="211.61903"
+ y="-177.06906"
+ id="text63553"><tspan
+ sodipodi:role="line"
+ x="211.61903"
+ y="-177.06906"
+ id="tspan63551"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63549">UMA </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="209.63057"
+ y="-172.62675"
+ id="text63559"><tspan
+ sodipodi:role="line"
+ x="209.63057"
+ y="-172.62675"
+ id="tspan63557"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63555">Passes</tspan></tspan></text>
+ </g>
+ <path
+ style="fill:#fff2cc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 239.41659,-187.81971 v 18.82693 h 24.83461 v -18.82693 z"
+ id="path63561" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 239.41659,-187.81971 h 24.83461 v 18.82693 h -24.83461 z"
+ id="path63563" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="244.77019"
+ y="-181.88933"
+ id="text63569"><tspan
+ sodipodi:role="line"
+ x="244.77019"
+ y="-181.88933"
+ id="tspan63567"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63565">NS</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="250.60864"
+ y="-181.88933"
+ id="text63575"><tspan
+ sodipodi:role="line"
+ x="250.60864"
+ y="-181.88933"
+ id="tspan63573"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63571">-</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="252.0471"
+ y="-181.88933"
+ id="text63581"><tspan
+ sodipodi:role="line"
+ x="252.0471"
+ y="-181.88933"
+ id="tspan63579"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63577">TIR</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="248.07019"
+ y="-176.81241"
+ id="text63587"><tspan
+ sodipodi:role="line"
+ x="248.07019"
+ y="-176.81241"
+ id="tspan63585"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63583">incl. </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="242.18942"
+ y="-171.73549"
+ id="text63593"><tspan
+ sodipodi:role="line"
+ x="242.18942"
+ y="-171.73549"
+ id="tspan63591"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63589">tir.extern</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="258.64709"
+ y="-171.73549"
+ id="text63599"><tspan
+ sodipodi:role="line"
+ x="258.64709"
+ y="-171.73549"
+ id="tspan63597"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63595">()</tspan></tspan></text>
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 274.61659,-187.81971 h 29.00192 l 4.125,9.41347 -4.125,9.41346 h -29.00192 l 4.125,-9.41346 z"
+ id="path63601" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+ d="m 274.61659,-187.81971 h 29.00192 l 4.125,9.41347 -4.125,9.41346 h -29.00192 l 4.125,-9.41346 z"
+ id="path63603" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="283.56232"
+ y="-181.88933"
+ id="text63609"><tspan
+ sodipodi:role="line"
+ x="283.56232"
+ y="-181.88933"
+ id="tspan63607"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63605">Execute</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="286.52386"
+ y="-176.81241"
+ id="text63615"><tspan
+ sodipodi:role="line"
+ x="286.52386"
+ y="-176.81241"
+ id="tspan63613"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63611">UMA </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="282.63156"
+ y="-171.73549"
+ id="text63621"><tspan
+ sodipodi:role="line"
+ x="282.63156"
+ y="-171.73549"
+ id="tspan63619"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63617">Codegen</tspan></tspan></text>
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 307.75409,-178.59663 17.14518,0.12692 v 0.44424 l -17.15576,-0.13751 z m 16.79614,-0.70865 2.10482,1.07884 -2.11537,1.03654 z"
+ id="path63623" />
+ <path
+ style="fill:#ffe6cc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 326.65505,-186.29663 v 16.07692 h 26.18845 v -16.07692 z"
+ id="path63625" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.999394px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="url(#clipEmfPath1-2)"
+ d="m 1043.6075,147.19079 h 98.98 v 60.76318 h -98.98 z"
+ id="path63627"
+ transform="matrix(0.26458333,0,0,0.26458333,50.533899,-225.24086)" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="337.32791"
+ y="-179.66667"
+ id="text63633"><tspan
+ sodipodi:role="line"
+ x="337.32791"
+ y="-179.66667"
+ id="tspan63631"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63629">.c</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="334.11252"
+ y="-172.05128"
+ id="text63639"><tspan
+ sodipodi:role="line"
+ x="334.11252"
+ y="-172.05128"
+ id="tspan63637"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63635">files</tspan></tspan></text>
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 264.2512,-178.59663 h 12.73462 v 0.43365 H 264.2512 Z m 12.38558,-0.84615 2.11538,1.05769 -2.11538,1.05769 z"
+ id="path63643" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="160.40572"
+ y="-142.69321"
+ id="text63649"><tspan
+ sodipodi:role="line"
+ x="160.40572"
+ y="-142.69321"
+ id="tspan63647"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63645">Register</tspan></tspan></text>
+ <path
+ style="fill:#d5e8d4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 55.674284,-187.81971 v 18.82693 h 29.911538 v -18.82693 z"
+ id="path63651" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 55.674284,-187.81971 h 29.911538 v 18.82693 H 55.674284 Z"
+ id="path63653" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="60.538822"
+ y="-179.35088"
+ id="text63659"><tspan
+ sodipodi:role="line"
+ x="60.538822"
+ y="-179.35088"
+ id="tspan63657"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63655">Composite </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="62.569588"
+ y="-174.27396"
+ id="text63665"><tspan
+ sodipodi:role="line"
+ x="62.569588"
+ y="-174.27396"
+ id="tspan63663"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63661">Function</tspan></tspan></text>
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 127.00505,-178.60456 h 5.22764 v 0.44158 h -5.22764 z m 4.87332,-0.83822 2.11538,1.05769 -2.11538,1.05769 z"
+ id="path63667" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 91.678129,-187.81971 h 31.201921 l 4.125,9.41347 -4.125,9.41346 H 91.678129 l 4.125002,-9.41346 z"
+ id="path63669" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+ d="m 91.678129,-187.81971 h 31.201921 l 4.125,9.41347 -4.125,9.41346 H 91.678129 l 4.125002,-9.41346 z"
+ id="path63671" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="101.70953"
+ y="-181.88933"
+ id="text63677"><tspan
+ sodipodi:role="line"
+ x="101.70953"
+ y="-181.88933"
+ id="tspan63675"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63673">Execute</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="104.67107"
+ y="-176.81241"
+ id="text63683"><tspan
+ sodipodi:role="line"
+ x="104.67107"
+ y="-176.81241"
+ id="tspan63681"
+ style="stroke-width:0.264583"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63679">TVM </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="103.57108"
+ y="-171.73549"
+ id="text63689"><tspan
+ sodipodi:role="line"
+ x="103.57108"
+ y="-171.73549"
+ id="tspan63687"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan63685">Lower</tspan></tspan></text>
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 85.585822,-178.60456 h 8.453607 v 0.44158 h -8.453607 z m 8.101923,-0.83822 2.115386,1.05769 -2.115386,1.05769 z"
+ id="path63691" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 282.91947,-187.9149 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.2375 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.2375 v -0.69808 h -0.17981 v 0.69808 z m 0,-1.22692 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.2375 v -0.69808 h -0.17981 v 0.69808 z m 0,-1.22692 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.23751 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.23749 v -0.69808 h -0.17981 v 0.69808 z m 0,-1.22693 v -0.70865 h -0.17981 v 0.70865 z m 0,-1. [...]
+ id="path63693" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 266.78966,-201.61201 h 0.70866 v 0.1798 h -0.70866 z m 1.2375,0 h 0.70866 v 0.1798 h -0.70866 z m 1.2375,0 h 0.69808 v 0.1798 h -0.69808 z m 1.22693,0 h 0.70865 v 0.1798 h -0.70865 z m 1.2375,0 h 0.70865 v 0.1798 h -0.70865 z m 1.2375,0 h 0.69807 v 0.1798 h -0.69807 z m 1.22692,0 h 0.70866 v 0.1798 h -0.70866 z m 1.2375,0 h 0.70865 v 0.1798 h -0.70865 z m 1.2375,0 h 0.69808 v 0.1798 h -0.69808 z m 1.22692,0 h 0.70866 v 0.1798 h -0.70866 z m 1.2375,0 h 0.70866 v 0.1798 h -0.70 [...]
+ id="path63695" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 266.88486,-201.51682 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.69808 h -0.17981 v 0.69808 z m 0,-1.22692 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.69808 h -0.17981 v 0.69808 z m 0,-1.22693 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.2375 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.2375 v -0.69807 h -0.17981 v 0.69807 z m 0,-1.22692 v -0.4125 h -0.17981 v 0.4125 z"
+ id="path63697" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 299.84255,-201.51682 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.69808 h -0.17981 v 0.69808 z m 0,-1.22692 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.69808 h -0.17981 v 0.69808 z m 0,-1.22693 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.2375 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.2375 v -0.69807 h -0.17981 v 0.69807 z m 0,-1.22692 v -0.4125 h -0.17981 v 0.4125 z"
+ id="path63699" />
+ <path
+ style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 243.8589,-225.00817 v 12.31154 h 35.53846 v -12.31154 z"
+ id="path63701" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.999394px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="url(#clipEmfPath1-2)"
+ d="M 730.67717,0.87946699 H 864.99576 V 47.411266 H 730.67717 Z"
+ id="path63703"
+ transform="matrix(0.26458333,0,0,0.26458333,50.533899,-225.24086)" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="248.97173"
+ y="-219.79803"
+ id="text63709"><tspan
+ sodipodi:role="line"
+ x="248.97173"
+ y="-219.79803"
+ id="tspan63707"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63705">Accelerator </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="271.4794"
+ y="-219.79803"
+ id="text63715"><tspan
+ sodipodi:role="line"
+ x="271.4794"
+ y="-219.79803"
+ id="tspan63713"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63711">A</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="253.07558"
+ y="-214.7211"
+ id="text63721"><tspan
+ sodipodi:role="line"
+ x="253.07558"
+ y="-214.7211"
+ id="tspan63719"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63717">Codegen</tspan></tspan></text>
+ <path
+ style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 287.3512,-225.00817 v 12.31154 h 35.49615 v -12.31154 z"
+ id="path63723" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.999394px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="url(#clipEmfPath1-2)"
+ d="M 895.05754,0.87946699 H 1029.2162 V 47.411266 H 895.05754 Z"
+ id="path63725"
+ transform="matrix(0.26458333,0,0,0.26458333,50.533899,-225.24086)" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="292.45441"
+ y="-219.79807"
+ id="text63731"><tspan
+ sodipodi:role="line"
+ x="292.45441"
+ y="-219.79807"
+ id="tspan63729"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63727">Accelerator </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="314.9621"
+ y="-219.79807"
+ id="text63737"><tspan
+ sodipodi:role="line"
+ x="314.9621"
+ y="-219.79807"
+ id="tspan63735"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63733">B </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="296.55823"
+ y="-214.72115"
+ id="text63743"><tspan
+ sodipodi:role="line"
+ x="296.55823"
+ y="-214.72115"
+ id="tspan63741"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63739">Codegen</tspan></tspan></text>
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 183.79255,-136.72788 v -13.1101 h -0.43894 v 13.1101 z m 0.83558,-12.76106 -1.0577,-2.11538 -1.05769,2.11538 z"
+ id="path63769" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="148.91777"
+ y="-162.86371"
+ id="text63775"><tspan
+ sodipodi:role="line"
+ x="148.91777"
+ y="-162.86371"
+ id="tspan63773"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63771">UMA</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="157.16777"
+ y="-162.86371"
+ id="text63781"><tspan
+ sodipodi:role="line"
+ x="157.16777"
+ y="-162.86371"
+ id="tspan63779"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63777">-</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="158.39468"
+ y="-162.86371"
+ id="text63787"><tspan
+ sodipodi:role="line"
+ x="158.39468"
+ y="-162.86371"
+ id="tspan63785"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63783">Implementation of Relay</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="198.37546"
+ y="-162.86371"
+ id="text63793"><tspan
+ sodipodi:role="line"
+ x="198.37546"
+ y="-162.86371"
+ id="tspan63791"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63789">-</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="199.60237"
+ y="-162.86371"
+ id="text63799"><tspan
+ sodipodi:role="line"
+ x="199.60237"
+ y="-162.86371"
+ id="tspan63797"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63795">to</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="202.77545"
+ y="-162.86371"
+ id="text63805"><tspan
+ sodipodi:role="line"
+ x="202.77545"
+ y="-162.86371"
+ id="tspan63803"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63801">-</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="204.00238"
+ y="-162.86371"
+ id="text63811"><tspan
+ sodipodi:role="line"
+ x="204.00238"
+ y="-162.86371"
+ id="tspan63809"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63807">TIR [RFC</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="220.58699"
+ y="-162.86371"
+ id="text63817"><tspan
+ sodipodi:role="line"
+ x="220.58699"
+ y="-162.86371"
+ id="tspan63815"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63813">-</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="221.81392"
+ y="-162.86371"
+ id="text63823"><tspan
+ sodipodi:role="line"
+ x="221.81392"
+ y="-162.86371"
+ id="tspan63821"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63819">10]</tspan></tspan></text>
+ <path
+ style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 88.928129,-221.15817 v 11.12693 h 15.146151 v -11.12693 z"
+ id="path63825" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 88.928129,-221.15817 h 15.146151 v 11.12693 H 88.928129 Z"
+ id="path63827" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="91.578384"
+ y="-214.00343"
+ id="text63833"><tspan
+ sodipodi:role="line"
+ x="91.578384"
+ y="-214.00343"
+ id="tspan63831"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63829">TOPI</tspan></tspan></text>
+ <path
+ style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 106.4012,-221.20048 v 11.12693 h 23.43846 v -11.12693 z"
+ id="path63835" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 106.4012,-221.20048 h 23.43846 v 11.12693 H 106.4012 Z"
+ id="path63837" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="110.86037"
+ y="-216.5737"
+ id="text63843"><tspan
+ sodipodi:role="line"
+ x="110.86037"
+ y="-216.5737"
+ id="tspan63841"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63839">Custom</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="108.99883"
+ y="-211.49678"
+ id="text63849"><tspan
+ sodipodi:role="line"
+ x="108.99883"
+ y="-211.49678"
+ id="tspan63847"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63845">Primitives</tspan></tspan></text>
+ <path
+ style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 165.03966,-136.66971 v 18.82693 h 30.29231 v -18.82693 z"
+ id="path63851" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 165.03966,-136.66971 h 30.29231 v 18.82693 h -30.29231 z"
+ id="path63853" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="169.51019"
+ y="-130.75974"
+ id="text63859"><tspan
+ sodipodi:role="line"
+ x="169.51019"
+ y="-130.75974"
+ id="tspan63857"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63855">Accelerator </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="178.77557"
+ y="-125.68281"
+ id="text63865"><tspan
+ sodipodi:role="line"
+ x="178.77557"
+ y="-125.68281"
+ id="tspan63863"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63861">A</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="170.31404"
+ y="-120.60589"
+ id="text63871"><tspan
+ sodipodi:role="line"
+ x="170.31404"
+ y="-120.60589"
+ id="tspan63869"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63867">Schedules</tspan></tspan></text>
+ <path
+ style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 172.06274,-119.06971 v 18.82692 h 30.33462 v -18.82692 z"
+ id="path63873" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 172.06274,-119.06971 h 30.33462 v 18.82692 h -30.33462 z"
+ id="path63875" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="176.54108"
+ y="-113.1256"
+ id="text63881"><tspan
+ sodipodi:role="line"
+ x="176.54108"
+ y="-113.1256"
+ id="tspan63879"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63877">Accelerator </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="185.80646"
+ y="-108.04867"
+ id="text63887"><tspan
+ sodipodi:role="line"
+ x="185.80646"
+ y="-108.04867"
+ id="tspan63885"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63883">B</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="177.34491"
+ y="-102.97174"
+ id="text63893"><tspan
+ sodipodi:role="line"
+ x="177.34491"
+ y="-102.97174"
+ id="tspan63891"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63889">Schedules</tspan></tspan></text>
+ <path
+ style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 209.71659,-136.71201 v 18.82692 h 30.33461 v -18.82692 z"
+ id="path63895" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 209.71659,-136.71201 h 30.33461 v 18.82692 h -30.33461 z"
+ id="path63897" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="214.21466"
+ y="-130.80823"
+ id="text63903"><tspan
+ sodipodi:role="line"
+ x="214.21466"
+ y="-130.80823"
+ id="tspan63901"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63899">Accelerator </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="223.48004"
+ y="-125.73131"
+ id="text63909"><tspan
+ sodipodi:role="line"
+ x="223.48004"
+ y="-125.73131"
+ id="tspan63907"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63905">A</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="217.93773"
+ y="-120.65439"
+ id="text63915"><tspan
+ sodipodi:role="line"
+ x="217.93773"
+ y="-120.65439"
+ id="tspan63913"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63911">Passes</tspan></tspan></text>
+ <path
+ style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 213.52428,-119.78894 v 18.82692 h 30.33462 v -18.82692 z"
+ id="path63917" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 213.52428,-119.78894 h 30.33462 v 18.82692 h -30.33462 z"
+ id="path63919" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="218.01405"
+ y="-113.85035"
+ id="text63925"><tspan
+ sodipodi:role="line"
+ x="218.01405"
+ y="-113.85035"
+ id="tspan63923"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63921">Accelerator </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="227.27943"
+ y="-108.77342"
+ id="text63931"><tspan
+ sodipodi:role="line"
+ x="227.27943"
+ y="-108.77342"
+ id="tspan63929"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63927">B</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="221.73714"
+ y="-103.6965"
+ id="text63937"><tspan
+ sodipodi:role="line"
+ x="221.73714"
+ y="-103.6965"
+ id="tspan63935"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63933">Passes</tspan></tspan></text>
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 224.69351,-136.74374 -0.19038,-13.60193 h 0.44423 l 0.1798,13.60193 z m -1.02596,-13.23173 1.02596,-2.13654 1.08942,2.1048 z"
+ id="path63939" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="200.36456"
+ y="-144.22972"
+ id="text63945"><tspan
+ sodipodi:role="line"
+ x="200.36456"
+ y="-144.22972"
+ id="tspan63943"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63941">Register</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="272.25024"
+ y="-161.70691"
+ id="text63951"><tspan
+ sodipodi:role="line"
+ x="272.25024"
+ y="-161.70691"
+ id="tspan63949"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63947">UMA</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="280.50024"
+ y="-161.70691"
+ id="text63957"><tspan
+ sodipodi:role="line"
+ x="280.50024"
+ y="-161.70691"
+ id="tspan63955"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63953">-</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="281.72717"
+ y="-161.70691"
+ id="text63963"><tspan
+ sodipodi:role="line"
+ x="281.72717"
+ y="-161.70691"
+ id="tspan63961"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63959">Impl</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="288.83484"
+ y="-161.70691"
+ id="text63969"><tspan
+ sodipodi:role="line"
+ x="288.83484"
+ y="-161.70691"
+ id="tspan63967"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63965">. of TIR</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="300.80792"
+ y="-161.70691"
+ id="text63975"><tspan
+ sodipodi:role="line"
+ x="300.80792"
+ y="-161.70691"
+ id="tspan63973"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63971">-</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="302.03485"
+ y="-161.70691"
+ id="text63981"><tspan
+ sodipodi:role="line"
+ x="302.03485"
+ y="-161.70691"
+ id="tspan63979"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63977">to</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="305.20792"
+ y="-161.70691"
+ id="text63987"><tspan
+ sodipodi:role="line"
+ x="305.20792"
+ y="-161.70691"
+ id="tspan63985"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63983">-</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="306.43484"
+ y="-161.70691"
+ id="text63993"><tspan
+ sodipodi:role="line"
+ x="306.43484"
+ y="-161.70691"
+ id="tspan63991"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63989">Runtime</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="176.35831"
+ y="-154.63794"
+ id="text63999"><tspan
+ sodipodi:role="line"
+ x="176.35831"
+ y="-154.63794"
+ id="tspan63997"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan63995">UMALower</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="277.80807"
+ y="-154.79854"
+ id="text64005"><tspan
+ sodipodi:role="line"
+ x="277.80807"
+ y="-154.79854"
+ id="tspan64003"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan64001">UMACodegen</tspan></tspan></text>
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 96.723323,-210.03124 v 20.56682 h -0.441587 v -20.56682 z m 0.835575,20.21514 -1.05769,2.11538 -1.057693,-2.11538 z"
+ id="path64007" />
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 118.34255,-210.07355 v 20.59855 h -0.44159 v -20.59855 z m 0.83558,20.24687 -1.0577,2.11539 -1.05769,-2.11539 z"
+ id="path64009" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="119.85206"
+ y="-198.16464"
+ id="text64015"><tspan
+ sodipodi:role="line"
+ x="119.85206"
+ y="-198.16464"
+ id="tspan64013"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan64011">Register</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="97.086075"
+ y="-198.16464"
+ id="text64021"><tspan
+ sodipodi:role="line"
+ x="97.086075"
+ y="-198.16464"
+ id="tspan64019"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan64017">Use</tspan></tspan></text>
+ <path
+ style="fill:#007bc0;fill-opacity:1;stroke:#007bc0;stroke-width:0.396875;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
+ d="m 158.87109,-178.16121 27.29829,-0.2875"
+ id="path1628" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;stroke:#007bc0;stroke-width:0.396875;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
+ d="m 212.68479,-178.44476 26.44417,-0.28971"
+ id="path1628-3" />
+ </g>
+</svg>
diff --git a/rfcs/assets/0060/uma_toplevel.png b/rfcs/assets/0060/uma_toplevel.png
new file mode 100644
index 0000000..d447299
Binary files /dev/null and b/rfcs/assets/0060/uma_toplevel.png differ
diff --git a/rfcs/assets/0060/uma_toplevel.svg b/rfcs/assets/0060/uma_toplevel.svg
new file mode 100644
index 0000000..d2f94ff
--- /dev/null
+++ b/rfcs/assets/0060/uma_toplevel.svg
@@ -0,0 +1,875 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="293.54663mm"
+ height="119.06223mm"
+ viewBox="0 0 293.54663 119.06223"
+ version="1.1"
+ id="svg5"
+ inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+ sodipodi:docname="uma_toplevel.svg"
+ inkscape:export-filename="uma_toplevel.png"
+ inkscape:export-xdpi="120"
+ inkscape:export-ydpi="120">
+ <metadata
+ id="metadata197">
+ <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>
+ <sodipodi:namedview
+ id="namedview7"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ inkscape:pagecheckerboard="0"
+ inkscape:document-units="mm"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:zoom="1.0482005"
+ inkscape:cx="419.09385"
+ inkscape:cy="167.16933"
+ inkscape:window-width="1904"
+ inkscape:window-height="892"
+ inkscape:window-x="0"
+ inkscape:window-y="31"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="layer1" />
+ <defs
+ id="defs2">
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipEmfPath1">
+ <path
+ d="M 0.47970927,0.47970927 H 1110.0472 V 439.41369 H 0.47970927 Z"
+ id="path824" />
+ </clipPath>
+ <pattern
+ id="EMFhbasepattern"
+ patternUnits="userSpaceOnUse"
+ width="6"
+ height="6"
+ x="0"
+ y="0" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipEmfPath1-8">
+ <path
+ d="M 0.47970927,0.47970927 H 1110.0472 V 462.59964 H 0.47970927 Z"
+ id="path62393" />
+ </clipPath>
+ <pattern
+ id="EMFhbasepattern-0"
+ patternUnits="userSpaceOnUse"
+ width="6"
+ height="6"
+ x="0"
+ y="0" />
+ </defs>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-18.446163,-164.19725)">
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="118.42534"
+ y="121.10603"
+ id="text1084"><tspan
+ sodipodi:role="line"
+ x="0"
+ y="0"
+ id="tspan1082"
+ style="stroke-width:0.264583"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan1080" /></tspan></text>
+ <rect
+ style="fill:#ffffff;stroke-width:0.26458332"
+ id="rect205"
+ width="294.57031"
+ height="119.3931"
+ x="17.94133"
+ y="164.11879"
+ inkscape:export-xdpi="120"
+ inkscape:export-ydpi="120" />
+ <path
+ style="fill:#ffe6cc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 181.09808,250.77995 v 26.27307 H 305.525 v -26.27307 z"
+ id="path62399" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 181.09808,250.77995 H 305.525 v 26.27307 H 181.09808 Z"
+ id="path62401" />
+ <path
+ style="fill:#dae8fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 18.551932,192.31072 v 18.82692 h 24.876923 v -18.82692 z"
+ id="path62403" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.999394px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="url(#clipEmfPath1-8)"
+ d="M 0.87946699,106.73531 H 94.902483 v 71.15688 H 0.87946699 Z"
+ id="path62405"
+ transform="matrix(0.26458333,0,0,0.26458333,18.31924,164.07033)" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="21.721485"
+ y="200.77989"
+ id="text62411"><tspan
+ sodipodi:role="line"
+ x="21.721485"
+ y="200.77989"
+ id="tspan62409"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan62407">ML Model</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="22.186869"
+ y="205.85681"
+ id="text62417"><tspan
+ sodipodi:role="line"
+ x="22.186869"
+ y="205.85681"
+ id="tspan62415"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan62413">Onnx</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="32.2561"
+ y="205.85681"
+ id="text62423"><tspan
+ sodipodi:role="line"
+ x="32.2561"
+ y="205.85681"
+ id="tspan62421"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan62419">, TF</tspan></tspan></text>
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+ d="M 48.082701,192.35302 H 74.55674 l 3.860578,9.41346 -3.860578,9.41347 H 48.082701 l 3.860578,-9.41347 z"
+ id="path62425" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="58.812145"
+ y="200.82275"
+ id="text62431"><tspan
+ sodipodi:role="line"
+ x="58.812145"
+ y="200.82275"
+ id="tspan62429"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62427">TVM </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="54.877529"
+ y="205.89967"
+ id="text62437"><tspan
+ sodipodi:role="line"
+ x="54.877529"
+ y="205.89967"
+ id="tspan62435"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62433">Frontend</tspan></tspan></text>
+ <path
+ style="fill:#d5e8d4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 81.971164,192.35302 v 18.82693 h 30.334616 v -18.82693 z"
+ id="path62439" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 81.971164,192.35302 h 30.334616 v 18.82693 H 81.971164 Z"
+ id="path62441" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="85.725502"
+ y="200.82275"
+ id="text62447"><tspan
+ sodipodi:role="line"
+ x="85.725502"
+ y="200.82275"
+ id="tspan62445"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62443">Relay/Relax </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="91.267807"
+ y="205.89967"
+ id="text62453"><tspan
+ sodipodi:role="line"
+ x="91.267807"
+ y="205.89967"
+ id="tspan62451"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62449">Graph</tspan></tspan></text>
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 115.81732,192.31072 h 30.81057 l 5.44712,9.41346 -5.44712,9.41346 h -30.81057 l 5.44711,-9.41346 z"
+ id="path62455" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+ d="m 115.81732,192.31072 h 30.81057 l 5.44712,9.41346 -5.44712,9.41346 h -30.81057 l 5.44711,-9.41346 z"
+ id="path62457" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="133.18175"
+ y="197.52748"
+ id="text62463"><tspan
+ sodipodi:role="line"
+ x="133.18175"
+ y="197.52748"
+ id="tspan62461"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';text-align:center;text-anchor:middle;fill:#000000;stroke-width:0.264583">TVM </tspan><tspan
+ sodipodi:role="line"
+ x="133.18175"
+ y="202.81914"
+ style="text-align:center;text-anchor:middle;stroke-width:0.264583"
+ id="tspan9203"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';text-align:center;text-anchor:middle;fill:#000000;stroke-width:0.264583"
+ dy="0"
+ dx="0"
+ id="tspan11751">Graph </tspan></tspan><tspan
+ sodipodi:role="line"
+ x="133.76982"
+ y="208.11081"
+ style="text-align:center;text-anchor:middle;stroke-width:0.264583"
+ id="tspan12973"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';text-align:center;text-anchor:middle;fill:#000000;stroke-width:0.264583"
+ id="tspan12975">Partitioning </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="124.5541"
+ y="203.31834"
+ id="text62469"><tspan
+ sodipodi:role="line"
+ x="0"
+ y="0"
+ id="tspan62467"
+ style="stroke-width:0.264583"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62465" /></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="132.7618"
+ y="208.39526"
+ id="text62475"><tspan
+ sodipodi:role="line"
+ x="0"
+ y="0"
+ id="tspan62473"
+ style="stroke-width:0.264583"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62471" /></tspan></text>
+ <path
+ style="fill:#d5e8d4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 155.75577,169.33764 v 64.77307 h 35.32693 v -64.77307 z"
+ id="path62477" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 155.75577,169.33764 h 35.32693 v 64.77307 h -35.32693 z"
+ id="path62479" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 158.92885,205.93379 h 29.02308 v 18.15 h -29.02308 z"
+ id="path62481" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="163.76509"
+ y="214.05873"
+ id="text62487"><tspan
+ sodipodi:role="line"
+ x="163.76509"
+ y="214.05873"
+ id="tspan62485"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62483">Supported</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="164.01894"
+ y="219.13565"
+ id="text62493"><tspan
+ sodipodi:role="line"
+ x="164.01894"
+ y="219.13565"
+ id="tspan62491"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62489">Operators</tspan></tspan></text>
+ <path
+ style="fill:#e1d5e7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.26458299"
+ d="m 198.90962,172.79629 c 0,-4.68557 3.80769,-8.49327 8.49327,-8.49327 h 33.9625 c 4.68558,0 8.48269,3.8077 8.48269,8.49327 v 59.47404 c 0,4.68558 -3.79711,8.48269 -8.48269,8.48269 h -33.9625 c -4.68558,0 -8.49327,-3.79711 -8.49327,-8.48269 z"
+ id="path62495"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.999394px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="url(#clipEmfPath1-8)"
+ d="m 682.54634,32.980012 c 0,-17.709267 14.39127,-32.10054501 32.10054,-32.10054501 h 128.36221 c 17.70926,0 32.06056,14.39127801 32.06056,32.10054501 V 257.76378 c 0,17.70927 -14.3513,32.06057 -32.06056,32.06057 H 714.64688 c -17.70927,0 -32.10054,-14.3513 -32.10054,-32.06057 z"
+ id="path62497"
+ transform="matrix(0.26458333,0,0,0.26458333,18.31924,164.07033)" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.88607001px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
+ x="207.93828"
+ y="171.6328"
+ id="text62503"><tspan
+ sodipodi:role="line"
+ x="207.93828"
+ y="171.6328"
+ id="tspan62501"
+ style="stroke-width:0.26458299"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.88607001px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.26458299"
+ id="tspan62499">Relay/ Relax.build()</tspan></tspan></text>
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 204.24039,175.93764 h 30.86346 l 9.41347,9.41346 -9.41347,9.41346 h -30.86346 l 9.41346,-9.41346 z"
+ id="path62517" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+ d="m 204.24039,175.93764 h 30.86346 l 9.41347,9.41346 -9.41347,9.41346 h -30.86346 l 9.41346,-9.41346 z"
+ id="path62519" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="219.929"
+ y="184.40004"
+ id="text62525"><tspan
+ sodipodi:role="line"
+ x="219.929"
+ y="184.40004"
+ id="tspan62523"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62521">TVM </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="217.68669"
+ y="189.47696"
+ id="text62531"><tspan
+ sodipodi:role="line"
+ x="217.68669"
+ y="189.47696"
+ id="tspan62529"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62527">Default</tspan></tspan></text>
+ <path
+ style="fill:#fed403;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 204.24039,206.65302 h 30.86346 l 9.41347,9.41347 -9.41347,9.41346 h -30.86346 l 9.41346,-9.41346 z"
+ id="path62533" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+ d="m 204.24039,206.65302 h 30.86346 l 9.41347,9.41347 -9.41347,9.41346 h -30.86346 l 9.41346,-9.41346 z"
+ id="path62535" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:700;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="219.59053"
+ y="215.09785"
+ id="text62541"><tspan
+ sodipodi:role="line"
+ x="219.59053"
+ y="215.09785"
+ id="tspan62539"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:700;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62537">UMA</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="216.84053"
+ y="220.17477"
+ id="text62547"><tspan
+ sodipodi:role="line"
+ x="216.84053"
+ y="220.17477"
+ id="tspan62545"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62543">Pipeline</tspan></tspan></text>
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 43.4315,201.65807 6.790384,0.0344 v 0.17716 l -6.793029,-0.0344 z m 6.443991,-0.93606 2.110095,1.06827 -2.120673,1.04712 z"
+ id="path62549" />
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 78.417318,201.70038 h 1.766345 v 0.17716 h -1.766345 z m 1.414663,-0.97043 2.115384,1.05769 -2.115384,1.05769 z"
+ id="path62551" />
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 112.31107,201.87754 7.20817,-0.0317 v -0.17981 l -7.21346,0.037 z m 6.86442,0.93606 2.1101,-1.06827 -2.12068,-1.04711 z"
+ id="path62553" />
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 152.07501,201.66071 h 1.925 v 0.17452 h -1.925 z m 1.57596,-0.97307 2.11538,1.05769 -2.11538,1.05769 z"
+ id="path62555" />
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 191.0827,185.28764 h 20.83654 v 0.17981 H 191.0827 Z m 20.4875,-0.97308 2.11538,1.05769 -2.11538,1.0577 z"
+ id="path62557" />
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 191.09328,215.70687 20.82596,0.23269 v 0.17981 l -20.83654,-0.23269 z m 20.4875,-0.74038 2.1048,1.08942 -2.12596,1.02596 z"
+ id="path62559" />
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 244.51732,215.96072 h 15.04038 v 0.1798 h -15.04038 z m 14.68076,-0.97308 2.11539,1.05769 -2.11539,1.05769 z"
+ id="path62561" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 261.31347,208.00687 h 26.14615 v 16.07692 h -26.14615 z"
+ id="path62563" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="271.95032"
+ y="214.63245"
+ id="text62569"><tspan
+ sodipodi:role="line"
+ x="271.95032"
+ y="214.63245"
+ id="tspan62567"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62565">.c </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="268.73492"
+ y="222.24783"
+ id="text62575"><tspan
+ sodipodi:role="line"
+ x="268.73492"
+ y="222.24783"
+ id="tspan62573"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62571">files</tspan></tspan></text>
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 244.51732,185.28764 h 15.04038 v 0.17981 h -15.04038 z m 14.68076,-0.97308 2.11539,1.05769 -2.11539,1.0577 z"
+ id="path62577" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 261.31347,177.33379 h 26.14615 v 16.03462 h -26.14615 z"
+ id="path62579" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.3499999px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
+ x="266.95801"
+ y="183.93465"
+ id="text62585"><tspan
+ sodipodi:role="line"
+ x="266.95801"
+ y="183.93465"
+ id="tspan62583"
+ style="stroke-width:0.26458299"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.3499999px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.26458299"
+ id="tspan62581">.c / .ll</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="268.73492"
+ y="191.55002"
+ id="text62597"><tspan
+ sodipodi:role="line"
+ x="268.73492"
+ y="191.55002"
+ id="tspan62595"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62593">files</tspan></tspan></text>
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 252.25962,255.89918 h 44.21155 v 10.83077 h -44.21155 z"
+ id="path62599" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="268.39557"
+ y="260.34909"
+ id="text62605"><tspan
+ sodipodi:role="line"
+ x="268.39557"
+ y="260.34909"
+ id="tspan62603"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62601">HW or</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="260.61096"
+ y="265.42599"
+ id="text62611"><tspan
+ sodipodi:role="line"
+ x="260.61096"
+ y="265.42599"
+ id="tspan62609"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62607">HW </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="268.86096"
+ y="265.42599"
+ id="text62617"><tspan
+ sodipodi:role="line"
+ x="268.86096"
+ y="265.42599"
+ id="tspan62615"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62613">-</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="270.29941"
+ y="265.42599"
+ id="text62623"><tspan
+ sodipodi:role="line"
+ x="270.29941"
+ y="265.42599"
+ id="tspan62621"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62619">Simulator</tspan></tspan></text>
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 181.10337,263.99052 h -7.74759 v -28.11346 h 0.17451 v 28.02885 l -0.0899,-0.0899 h 7.66298 z m -8.72067,-27.76442 1.05769,-2.11539 1.05769,2.11539 z"
+ id="path62625" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 193.53654,255.89918 h 43.83077 v 10.83077 h -43.83077 z"
+ id="path62627" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="200.63858"
+ y="262.88754"
+ id="text62633"><tspan
+ sodipodi:role="line"
+ x="200.63858"
+ y="262.88754"
+ id="tspan62631"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62629">Meta Scheduler</tspan></tspan></text>
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 158.92885,179.44918 h 29.02308 v 18.10769 h -29.02308 z"
+ id="path62635" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23332977px;line-height:125%;font-family:'Bosch Office Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
+ x="173.61946"
+ y="186.52211"
+ id="text62641"><tspan
+ sodipodi:role="line"
+ x="173.61946"
+ y="186.52211"
+ id="tspan62639"
+ style="text-align:center;text-anchor:middle;stroke-width:0.26458299"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23332977px;font-family:'Bosch Office Sans';text-align:center;text-anchor:middle;fill:#000000;stroke-width:0.26458299"
+ id="tspan62637">Unsupported</tspan></tspan><tspan
+ sodipodi:role="line"
+ x="173.61946"
+ y="191.81377"
+ style="text-align:center;text-anchor:middle;stroke-width:0.26458299"
+ id="tspan199">Operators</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.88607px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="157.02672"
+ y="175.72591"
+ id="text62659"><tspan
+ sodipodi:role="line"
+ x="157.02672"
+ y="175.72591"
+ id="tspan62657"
+ style="stroke-width:0.264583;font-size:3.52777778px"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.52777778px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62655">Relay/Relax Graph</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.88607px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="234.20096"
+ y="272.85437"
+ id="text62665"><tspan
+ sodipodi:role="line"
+ x="234.20096"
+ y="272.85437"
+ id="tspan62663"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.88607px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+ id="tspan62661">Optimization</tspan></tspan></text>
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0399758px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ clip-path="url(#clipEmfPath1-8)"
+ d="m 967.49364,226.82253 v 50.80921 h 142.07386 l -0.3198,-0.31981 v 100.09934 l 0.3198,-0.35979 h -17.3095 v 0.67959 h 17.6693 V 276.95215 H 967.81345 l 0.35978,0.35978 v -50.4894 z m 126.08356,146.59116 -7.9951,3.99758 7.9951,3.99757 z"
+ id="path62667"
+ transform="matrix(0.26458333,0,0,0.26458333,18.31924,164.07033)" />
+ <path
+ style="fill:#fed403;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 117.21347,222.17995 v 14.97692 h 28.55769 v -14.97692 z"
+ id="path62669" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 117.21347,222.17995 h 28.55769 v 14.97692 h -28.55769 z"
+ id="path62671" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:700;font-size:4.23332977px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
+ x="125.54424"
+ y="228.25558"
+ id="text62677"><tspan
+ sodipodi:role="line"
+ x="125.54424"
+ y="228.25558"
+ id="tspan62675"
+ style="stroke-width:0.26458299"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:700;font-size:4.23332977px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.26458299"
+ id="tspan62673">UMA</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23332977px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
+ x="121.12505"
+ y="233.51099"
+ id="text62683"><tspan
+ sodipodi:role="line"
+ x="121.12505"
+ y="233.51099"
+ id="tspan62681"
+ style="stroke-width:0.26458299"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23332977px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.26458299"
+ id="tspan62679">Partitioner</tspan></tspan></text>
+ <path
+ style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 88.82501,255.43379 v 13.91923 h 33.93077 v -13.91923 z"
+ id="path62685" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 88.82501,255.43379 h 33.93077 v 13.91923 H 88.82501 Z"
+ id="path62687" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="92.532028"
+ y="261.45746"
+ id="text62693"><tspan
+ sodipodi:role="line"
+ x="92.532028"
+ y="261.45746"
+ id="tspan62691"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan62689">Accelerator </tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="116.22433"
+ y="261.45746"
+ id="text62699"><tspan
+ sodipodi:role="line"
+ x="116.22433"
+ y="261.45746"
+ id="tspan62697"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan62695">A</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="96.128181"
+ y="266.53436"
+ id="text62705"><tspan
+ sodipodi:role="line"
+ x="96.128181"
+ y="266.53436"
+ id="tspan62703"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan62701">Partitioner</tspan></tspan></text>
+ <path
+ style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+ d="m 130.83655,255.43379 v 14.04616 h 32.11153 v -14.04616 z"
+ id="path62707" />
+ <path
+ style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 130.83655,255.43379 h 32.11153 v 14.04616 h -32.11153 z"
+ id="path62709" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23332977px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
+ x="133.63939"
+ y="261.50671"
+ id="text62715"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96"><tspan
+ sodipodi:role="line"
+ x="133.63939"
+ y="261.50671"
+ id="tspan62713"
+ style="stroke-width:0.26458299"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23332977px;font-family:Arial;fill:#000000;stroke-width:0.26458299"
+ id="tspan62711">Accelerator B</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="137.27786"
+ y="266.58365"
+ id="text62721"><tspan
+ sodipodi:role="line"
+ x="137.27786"
+ y="266.58365"
+ id="tspan62719"
+ style="stroke-width:0.264583"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+ id="tspan62717">Partitioner</tspan></tspan></text>
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 131.34953,237.49533 v 0.70866 h -0.17452 v -0.70866 z m 0,1.2375 v 0.70337 h -0.17452 v -0.70337 z m 0,1.23221 v 0.70337 h -0.17452 v -0.70337 z m 0,1.23221 v 0.70866 h -0.17452 v -0.70866 z m 0,1.23751 v 0.70336 h -0.17452 v -0.70336 z m 0,1.2322 v 0.70337 h -0.17452 v -0.70337 z m 0,1.23222 v 0.70865 h -0.17452 v -0.70865 z m 0,1.2375 v 0.70336 h -0.17452 v -0.70336 z"
+ id="path62723" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 114.75962,247.44293 h 0.70866 v -0.17452 h -0.70866 z m 1.23751,0 h 0.70336 v -0.17452 h -0.70336 z m 1.23221,0 h 0.70336 v -0.17452 h -0.70336 z m 1.23221,0 h 0.70865 v -0.17452 h -0.70865 z m 1.2375,0 h 0.70336 v -0.17452 h -0.70336 z m 1.23221,0 h 0.70336 v -0.17452 h -0.70336 z m 1.23221,0 h 0.70866 v -0.17452 h -0.70866 z m 1.2375,0 h 0.70337 v -0.17452 h -0.70337 z m 1.23221,0 h 0.70337 v -0.17452 h -0.70337 z m 1.23221,0 h 0.70866 v -0.17452 h -0.70866 z m 1.23751,0 h [...]
+ id="path62725" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 114.84953,247.35302 v 0.70866 h -0.17452 v -0.70866 z m 0,1.2375 v 0.70337 h -0.17452 v -0.70337 z m 0,1.23221 v 0.70337 h -0.17452 v -0.70337 z m 0,1.23222 v 0.70865 h -0.17452 v -0.70865 z m 0,1.2375 v 0.70336 h -0.17452 v -0.70336 z m 0,1.23221 v 0.70336 h -0.17452 v -0.70336 z m 0,1.23221 v 0.70865 h -0.17452 v -0.70865 z"
+ id="path62727" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 148.7803,247.35302 v 0.70866 h -0.17452 v -0.70866 z m 0,1.2375 v 0.70337 h -0.17452 v -0.70337 z m 0,1.23221 v 0.70337 h -0.17452 v -0.70337 z m 0,1.23222 v 0.70865 h -0.17452 v -0.70865 z m 0,1.2375 v 0.70336 h -0.17452 v -0.70336 z m 0,1.23221 v 0.70336 h -0.17452 v -0.70336 z m 0,1.23221 v 0.70865 h -0.17452 v -0.70865 z"
+ id="path62729" />
+ <path
+ style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 131.39712,222.16408 -0.22211,-9.2601 0.17452,-0.005 0.22211,9.26009 z m -1.18461,-8.88461 1.00481,-2.14183 1.11057,2.09423 z"
+ id="path62731" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.94439983px;line-height:125%;font-family:'Bosch Office Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
+ x="127.17078"
+ y="275.10947"
+ id="text62737"><tspan
+ sodipodi:role="line"
+ x="127.17078"
+ y="275.10947"
+ id="tspan62735"
+ style="text-align:center;text-anchor:middle;stroke-width:0.26458299"><tspan
+ dx="0"
+ dy="0"
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.94439983px;font-family:'Bosch Office Sans';text-align:center;text-anchor:middle;fill:#000000;stroke-width:0.26458299"
+ id="tspan62733">Register pattern e.g. hard rules</tspan></tspan><tspan
+ sodipodi:role="line"
+ x="127.95663"
+ y="281.28998"
+ style="text-align:center;text-anchor:middle;stroke-width:0.26458299"
+ id="tspan201"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.94439983px;font-family:'Bosch Office Sans';text-align:center;text-anchor:middle;fill:#000000;stroke-width:0.26458299"
+ id="tspan203">and relay passes </tspan></tspan></text>
+ </g>
+</svg>