From 71d1920813673eede923b16b5a65c715277a8c32 Mon Sep 17 00:00:00 2001
From: Nicolas Fley <nicolas.fley@student.ecp.fr>
Date: Fri, 5 May 2017 15:35:17 +0200
Subject: [PATCH] modif

---
 model.di                                      |    2 +
 model.notation                                | 2276 +++++++++++++++++
 model.uml                                     |  377 +++
 scenario/my_foodora.ini                       |    0
 scenario/testScenario1.txt                    |    0
 src/Cards/BasicFidelityCard.java              |   17 +-
 src/Cards/LotteryFidelityCard.java            |   43 +-
 src/Cards/PointFidelityCard.java              |   18 +-
 src/Cards/VisitableCard.java                  |    3 +-
 src/Cards/VisiterCard.java                    |    3 +-
 src/Cli/Clui.java                             |   56 +-
 src/Cli/Command.java                          |    8 +-
 src/Commands/AddDishRestaurantMenu.java       |   41 +
 src/Commands/AddDishToMeal.java               |   35 +
 src/Commands/AddItemToOrder.java              |   39 +
 src/Commands/AssociateCard.java               |   38 +
 src/Commands/CreateMeal.java                  |   35 +
 src/Commands/CreateOrder.java                 |   36 +
 src/Commands/EndOrder.java                    |   35 +
 src/Commands/FindDeliverer.java               |   36 +
 src/Commands/OffDuty.java                     |   36 +
 src/Commands/OnDuty.java                      |   37 +
 src/Commands/RegisterCourier.java             |    3 +-
 src/Commands/RegisterCustomer.java            |    5 +-
 src/Commands/RegisterRestaurant.java          |    3 +-
 src/Commands/RemoveSpecialOffer.java          |   32 +
 src/Commands/RenameMeal.java                  |   35 +
 src/Commands/RunTest.java                     |   56 +
 src/Commands/SetDeliveryPolicy.java           |   35 +
 src/Commands/SetProfitPolicy.java             |   35 +
 src/Commands/SetSpecialOffer.java             |   33 +
 src/Commands/ShowCourier.java                 |   32 +
 src/Commands/ShowMeal.java                    |   31 +
 src/Commands/ShowMenuItem.java                |   37 +
 src/Commands/ShowProfitBetween.java           |   32 +
 src/Commands/ShowTotalProfit.java             |   32 +
 src/Core/Main.java                            |    7 +-
 src/Core/MyFoodora.java                       |  108 +-
 .../FairOccupationDelivery.java               |    3 +-
 src/DeliveryStrategy/FastestDelivery.java     |    6 +-
 .../StrategyDeliveryPolicy.java               |    3 +-
 src/Exception/ExceptionUnknownTypeOfUser.java |   38 +
 src/Item/FactoryMeal.java                     |    4 +-
 src/Item/FullMeal.java                        |    3 +-
 src/Item/HalfMeal.java                        |    5 +-
 src/Item/Meal.java                            |    7 +-
 src/Offers/BirthdayOffer.java                 |   13 +-
 src/Offers/MealOfTheWeek.java                 |   40 +-
 src/Offers/ObservableOffer.java               |    4 +-
 src/Offers/Observer.java                      |    2 +-
 src/Order/Order.java                          |   55 +-
 .../TargetProfitDeliveryCost.java             |    9 +-
 src/StrategyProfit/TargetProfitMarkup.java    |    9 +-
 .../TargetProfitServiceFee.java               |   11 +-
 src/User/Courier.java                         |    5 +
 src/User/Customer.java                        |   58 +-
 src/User/Manager.java                         |    9 +-
 src/User/Restaurant.java                      |   34 +-
 .../FactoryUserFactory.java                   |    8 +-
 src/UserFactoryPattern/HumanUserFactory.java  |    6 +-
 src/UserFactoryPattern/MoralUserFactory.java  |    6 +-
 src/UserFactoryPattern/UserFactory.java       |    5 +-
 src/model.di                                  |    2 +
 src/model.notation                            | 2276 +++++++++++++++++
 src/model.uml                                 |  377 +++
 src/test/TestCard.java                        |   77 +
 src/test/TestCli.java                         |   10 +
 src/test/TestCore.java                        |  128 +
 src/test/TestCourier.java                     |    6 +-
 src/test/TestCustomer.java                    |   11 +-
 src/test/TestDeliveryStrategy.java            |   68 +
 src/test/TestException.java                   |  106 +
 src/test/TestItem.java                        |   90 +
 src/test/TestManager.java                     |   28 +-
 src/test/TestOffers.java                      |   80 +
 src/test/TestOrder.java                       |   70 +
 src/test/TestOthers.java                      |   27 +
 src/test/TestRestaurant.java                  |   34 +-
 src/test/TestTargetProfitStrategy.java        |  146 ++
 src/test/TestUserFactory.java                 |   42 +
 80 files changed, 7486 insertions(+), 122 deletions(-)
 create mode 100644 model.di
 create mode 100644 model.notation
 create mode 100644 model.uml
 create mode 100644 scenario/my_foodora.ini
 create mode 100644 scenario/testScenario1.txt
 create mode 100644 src/Commands/AddDishRestaurantMenu.java
 create mode 100644 src/Commands/AddDishToMeal.java
 create mode 100644 src/Commands/AddItemToOrder.java
 create mode 100644 src/Commands/AssociateCard.java
 create mode 100644 src/Commands/CreateMeal.java
 create mode 100644 src/Commands/CreateOrder.java
 create mode 100644 src/Commands/EndOrder.java
 create mode 100644 src/Commands/FindDeliverer.java
 create mode 100644 src/Commands/OffDuty.java
 create mode 100644 src/Commands/OnDuty.java
 create mode 100644 src/Commands/RemoveSpecialOffer.java
 create mode 100644 src/Commands/RenameMeal.java
 create mode 100644 src/Commands/RunTest.java
 create mode 100644 src/Commands/SetDeliveryPolicy.java
 create mode 100644 src/Commands/SetProfitPolicy.java
 create mode 100644 src/Commands/SetSpecialOffer.java
 create mode 100644 src/Commands/ShowCourier.java
 create mode 100644 src/Commands/ShowMeal.java
 create mode 100644 src/Commands/ShowMenuItem.java
 create mode 100644 src/Commands/ShowProfitBetween.java
 create mode 100644 src/Commands/ShowTotalProfit.java
 create mode 100644 src/Exception/ExceptionUnknownTypeOfUser.java
 create mode 100644 src/model.di
 create mode 100644 src/model.notation
 create mode 100644 src/model.uml
 create mode 100644 src/test/TestCard.java
 create mode 100644 src/test/TestCli.java
 create mode 100644 src/test/TestCore.java
 create mode 100644 src/test/TestDeliveryStrategy.java
 create mode 100644 src/test/TestException.java
 create mode 100644 src/test/TestItem.java
 create mode 100644 src/test/TestOffers.java
 create mode 100644 src/test/TestOrder.java
 create mode 100644 src/test/TestOthers.java
 create mode 100644 src/test/TestTargetProfitStrategy.java
 create mode 100644 src/test/TestUserFactory.java

diff --git a/model.di b/model.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/model.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/model.notation b/model.notation
new file mode 100644
index 0000000..cf3b4a4
--- /dev/null
+++ b/model.notation
@@ -0,0 +1,2276 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_AN9ZEBVKEeeMzp7YIeMZtw" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_td6vkBVLEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_td6vkhVLEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_td6vkxVLEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_td6vlBVLEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_td6vlRVLEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_td6vlhVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_td6vlxVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_td6vmBVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_td6vmRVLEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_td6vmhVLEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_td6vmxVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_td6vnBVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_td6vnRVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_td6vnhVLEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_td6vnxVLEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_td6voBVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_td6voRVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_td6vohVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_td6voxVLEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_tdw-kBVLEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_td6vkRVLEeeMzp7YIeMZtw" x="2399" y="1088"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_3Heq0RVLEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_3Heq0xVLEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_3Heq1BVLEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_3Heq1RVLEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_3Heq1hVLEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3Heq1xVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_3Heq2BVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_3Heq2RVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Heq2hVLEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_3Heq2xVLEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3Heq3BVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_3Heq3RVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_3Heq3hVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Heq3xVLEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_3Heq4BVLEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3Heq4RVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_3Heq4hVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_3Heq4xVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Heq5BVLEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_3Heq0BVLEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Heq0hVLEeeMzp7YIeMZtw" x="2519" y="1090"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_7yg2kRVLEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_7yg2kxVLEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_7yg2lBVLEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_7yg2lRVLEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7yg2lhVLEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7yg2lxVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7yg2mBVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7yg2mRVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7yg2mhVLEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7yg2mxVLEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7yg2nBVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7yg2nRVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7yg2nhVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7yg2nxVLEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7yg2oBVLEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7yg2oRVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7yg2ohVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7yg2oxVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7yg2pBVLEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_7yg2kBVLEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7yg2khVLEeeMzp7YIeMZtw" x="2651" y="1080"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_0EXCoBVMEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_0EXCohVMEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_0EXCoxVMEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_0EXCpBVMEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_0EXCpRVMEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_-U5eUBVMEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_-UmjYBVMEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-U5eURVMEeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_FrX8oBVNEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_FrEaoBVNEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_FrX8oRVNEeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_OA0n0BVREeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_OAX74BVREeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OA0n0RVREeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_0EXCphVMEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_0EXCpxVMEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_0EXCqBVMEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EXCqRVMEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_0EXCqhVMEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_0EXCqxVMEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_0EXCrBVMEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_0EXCrRVMEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EXCrhVMEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_0EXCrxVMEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_0EXCsBVMEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_0EXCsRVMEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_0EXCshVMEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EXCsxVMEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_0EEHsBVMEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EXCoRVMEeeMzp7YIeMZtw" x="2503" y="934"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_4sOJIRVNEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_4sOJIxVNEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_4sOJJBVNEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_4sOJJRVNEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_4sOJJhVNEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_4sOJJxVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_4sOJKBVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_4sOJKRVNEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4sOJKhVNEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_4sOJKxVNEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_5RXoIBVOEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_5QxLMBVOEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_5RXoIRVOEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_4sOJLBVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_4sOJLRVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_4sOJLhVNEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4sOJLxVNEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_4sOJMBVNEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_4sOJMRVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_4sOJMhVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_4sOJMxVNEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4sOJNBVNEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_4sOJIBVNEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4sOJIhVNEeeMzp7YIeMZtw" x="2638" y="739" width="227"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_9zOfMRVNEeeMzp7YIeMZtw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_9zOfMxVNEeeMzp7YIeMZtw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_9zOfNBVNEeeMzp7YIeMZtw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_9zOfNRVNEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_9zOfNhVNEeeMzp7YIeMZtw" type="Interface_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9zOfNxVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_9zOfOBVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_9zOfORVNEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zOfOhVNEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_9zOfOxVNEeeMzp7YIeMZtw" type="Interface_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9zOfPBVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_9zOfPRVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_9zOfPhVNEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zOfPxVNEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_9zOfQBVNEeeMzp7YIeMZtw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9zOfQRVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_9zOfQhVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_9zOfQxVNEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zOfRBVNEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="model.uml#_9zOfMBVNEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zOfMhVNEeeMzp7YIeMZtw" x="2176" y="799" height="62"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QsWr8xVPEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWr9BVPEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWr9RVPEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWr9hVPEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWr9xVPEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWr-BVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWr-RVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWr-hVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWr-xVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWr_BVPEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QsWr_RVPEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QsWr8RVPEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWr_hVPEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWr_xVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsABVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsARVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsAhVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsAxVPEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsBBVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsBRVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsBhVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsBxVPEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QsWr7xVPEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsCxVPEeeMzp7YIeMZtw" x="1418" y="929" width="227"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QsWsSBVPEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWsSRVPEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWsShVPEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWsSxVPEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsTBVPEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsTRVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsThVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsTxVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsUBVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsURVPEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsUhVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsUxVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsVBVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsVRVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsVhVPEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsVxVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsWBVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsWRVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsWhVPEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QsWr4xVPEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsXhVPEeeMzp7YIeMZtw" x="1983" y="1091"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QsWsXxVPEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWsYBVPEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWsYRVPEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWsYhVPEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsYxVPEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsZBVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsZRVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsZhVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsZxVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsaBVPEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsaRVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsahVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsaxVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsbBVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsbRVPEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsbhVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsbxVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWscBVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWscRVPEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QsWr4RVPEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsdRVPEeeMzp7YIeMZtw" x="1732" y="1088"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QsWslBVPEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWslRVPEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWslhVPEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWslxVPEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsmBVPEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QsWsmRVPEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QsWr7RVPEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWsmhVPEeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_SCRggBVQEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_SBh5oBVQEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_SCRggRVQEeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_bQ1FUBVREeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_bQOoYBVREeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bQ1FURVREeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsnRVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsnhVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsnxVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsoBVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsoRVPEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_uK47kBVREeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_uKTFsBVREeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uK47kRVREeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsohVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsoxVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWspBVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWspRVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsphVPEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWspxVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsqBVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsqRVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsqhVPEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QsWr7BVPEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsrhVPEeeMzp7YIeMZtw" x="1826" y="930"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_D3T2oBVQEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_D3T2ohVQEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_D3T2oxVQEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_D3T2pBVQEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_D3T2pRVQEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_D3T2phVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_D3T2pxVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_D3T2qBVQEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D3T2qRVQEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_D3T2qhVQEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_D3T2qxVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_D3T2rBVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_D3T2rRVQEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D3T2rhVQEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_D3T2rxVQEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_D3T2sBVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_D3T2sRVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_D3T2shVQEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D3T2sxVQEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_D3KFoBVQEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D3T2oRVQEeeMzp7YIeMZtw" x="1783" y="835" height="29"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_-j608RVQEeeMzp7YIeMZtw" type="Enumeration_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_-j608xVQEeeMzp7YIeMZtw" type="Enumeration_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-j609BVQEeeMzp7YIeMZtw" type="Enumeration_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-j609RVQEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_-j609hVQEeeMzp7YIeMZtw" type="Enumeration_LiteralCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_-j609xVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_-j60-BVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_-j60-RVQEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-j60-hVQEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Enumeration" href="model.uml#_-j608BVQEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-j608hVQEeeMzp7YIeMZtw" x="2184" y="965" height="58"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_31XnYRVSEeeMzp7YIeMZtw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_31XnYxVSEeeMzp7YIeMZtw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_31XnZBVSEeeMzp7YIeMZtw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_31XnZRVSEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_31XnZhVSEeeMzp7YIeMZtw" type="Interface_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_31XnZxVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_31XnaBVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_31XnaRVSEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_31XnahVSEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_31XnaxVSEeeMzp7YIeMZtw" type="Interface_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_31XnbBVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_31XnbRVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_31XnbhVSEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_31XnbxVSEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_31XncBVSEeeMzp7YIeMZtw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_31XncRVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_31XnchVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_31XncxVSEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_31XndBVSEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="model.uml#_31XnYBVSEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_31XnYhVSEeeMzp7YIeMZtw" x="2177" y="744" height="52"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_6giNIBVSEeeMzp7YIeMZtw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_6giNIhVSEeeMzp7YIeMZtw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_6giNIxVSEeeMzp7YIeMZtw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_6giNJBVSEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6giNJRVSEeeMzp7YIeMZtw" type="Interface_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U78U8BVTEeeMzp7YIeMZtw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U78U8RVTEeeMzp7YIeMZtw" key="collapsed" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6giNJhVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_6giNJxVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_6giNKBVSEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6giNKRVSEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6giNKhVSEeeMzp7YIeMZtw" type="Interface_OperationCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VJeaoBVTEeeMzp7YIeMZtw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VJeaoRVTEeeMzp7YIeMZtw" key="collapsed" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_ETBa4BVTEeeMzp7YIeMZtw" type="Operation_InterfaceOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_ESR0ABVTEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ETBa4RVTEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6giNKxVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_6giNLBVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_6giNLRVSEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6giNLhVSEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6giNLxVSEeeMzp7YIeMZtw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6giNMBVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_6giNMRVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_6giNMhVSEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6giNMxVSEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="model.uml#_6gYcIBVSEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6giNIRVSEeeMzp7YIeMZtw" x="2175" y="864" width="100" height="67"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_qOaNARVTEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_qOaNAxVTEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_qOjW8BVTEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_qOjW8RVTEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_qOjW8hVTEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_hxRLIBVfEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_hwhkQBVfEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hxRLIRVfEeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_xW6N0BVgEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_xVpCgBVgEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_xW6N0RVgEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qOjW8xVTEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_qOjW9BVTEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_qOjW9RVTEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qOjW9hVTEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_qOjW9xVTEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qOjW-BVTEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_qOjW-RVTEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_qOjW-hVTEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qOjW-xVTEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_qOjW_BVTEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qOjW_RVTEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_qOjW_hVTEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_qOjW_xVTEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qOjXABVTEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_qOaNABVTEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qOaNAhVTEeeMzp7YIeMZtw" x="2185" y="1100"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_o3hKMBVhEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_o3iYUBVhEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_o3iYURVhEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_o3iYUhVhEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_o3iYUxVhEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_o3iYVBVhEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_o3iYVRVhEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_o3iYVhVhEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o3iYVxVhEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_o3iYWBVhEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_xEQiIBVhEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_xDYYYBVhEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_xEQiIRVhEeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_6AI4ABVhEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_5_YDABVhEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_6AI4ARVhEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_o3iYWRVhEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_o3iYWhVhEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_o3iYWxVhEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o3iYXBVhEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_o3iYXRVhEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_o3iYXhVhEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_o3iYXxVhEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_o3iYYBVhEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o3iYYRVhEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_o3bDkBVhEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o3hKMRVhEeeMzp7YIeMZtw" x="2159" y="652" height="87"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_T_A7MBVqEeeMzp7YIeMZtw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_T_A7MhVqEeeMzp7YIeMZtw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_T_A7MxVqEeeMzp7YIeMZtw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_T_A7NBVqEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_T_A7NRVqEeeMzp7YIeMZtw" type="Interface_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_T_A7NhVqEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_T_A7NxVqEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_T_A7OBVqEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T_A7ORVqEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_T_A7OhVqEeeMzp7YIeMZtw" type="Interface_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_aBtdcBVqEeeMzp7YIeMZtw" type="Operation_InterfaceOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_aBVC8BVqEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_aBtdcRVqEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_T_A7OxVqEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_T_A7PBVqEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_T_A7PRVqEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T_A7PhVqEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_T_A7PxVqEeeMzp7YIeMZtw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_T_A7QBVqEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_T_A7QRVqEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_T_A7QhVqEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T_A7QxVqEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="model.uml#_T-934BVqEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T_A7MRVqEeeMzp7YIeMZtw" x="2306" y="1253"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_wWO9gBVsEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_wWO9ghVsEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_wWO9gxVsEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_wWO9hBVsEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_wWO9hRVsEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wWO9hhVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_wWO9hxVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_wWO9iBVsEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wWO9iRVsEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_wWO9ihVsEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_zWxWUBVsEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_zWDkoBVsEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zWxWURVsEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wWO9ixVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_wWO9jBVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_wWO9jRVsEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wWO9jhVsEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_wWO9jxVsEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wWO9kBVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_wWO9kRVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_wWO9khVsEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wWO9kxVsEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_wWBiIBVsEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wWO9gRVsEeeMzp7YIeMZtw" x="2216" y="1415"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_15nGgRVsEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_15nGgxVsEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_15nGhBVsEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_15nGhRVsEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_15nGhhVsEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_15nGhxVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_15nGiBVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_15nGiRVsEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_15nGihVsEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_15nGixVsEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_6hM8sBVsEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_6gpjEBVsEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_6hM8sRVsEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_15nGjBVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_15nGjRVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_15nGjhVsEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_15nGjxVsEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_15nGkBVsEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_15nGkRVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_15nGkhVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_15nGkxVsEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_15nGlBVsEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_15nGgBVsEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_15nGghVsEeeMzp7YIeMZtw" x="2371" y="1415"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_TQvYkBVtEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_TQvYkhVtEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_TQvYkxVtEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_TQvYlBVtEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_TQvYlRVtEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_Fmv4UBVuEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_Fl5jwBVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Fmv4URVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_TQvYlhVtEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_TQvYlxVtEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_TQvYmBVtEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TQvYmRVtEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_TQxNwBVtEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_BYH7wBVuEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_BXlJMBVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BYH7wRVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_TQxNwRVtEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_TQxNwhVtEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_TQxNwxVtEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TQxNxBVtEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_TQxNxRVtEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_TQxNxhVtEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_TQxNxxVtEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_TQxNyBVtEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TQxNyRVtEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_TQsVQBVtEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TQvYkRVtEeeMzp7YIeMZtw" x="2611" y="1310"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_trQ6MRVuEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_trQ6MhVuEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trQ6MxVuEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trQ6NBVuEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trQ6NRVuEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trQ6NhVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trQ6NxVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trQ6OBVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trQ6ORVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trQ6OhVuEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_trQ6OxVuEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_trQ6JRVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_trQ6PBVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trQ6PRVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trQ6PhVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trQ6PxVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trQ6QBVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trQ6QRVuEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trQ6QhVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trQ6QxVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trQ6RBVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trQ6RRVuEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_trQ6JBVuEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trQ6SRVuEeeMzp7YIeMZtw" x="2956" y="1271"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_trRhOxVuEeeMzp7YIeMZtw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhPBVuEeeMzp7YIeMZtw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhPRVuEeeMzp7YIeMZtw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhPhVuEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhPxVuEeeMzp7YIeMZtw" type="Interface_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhQBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhQRVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhQhVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhQxVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhRBVuEeeMzp7YIeMZtw" type="Interface_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_trRhRRVuEeeMzp7YIeMZtw" type="Operation_InterfaceOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_trQTGBVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhRhVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhRxVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhSBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhSRVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhShVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhSxVuEeeMzp7YIeMZtw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhTBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhTRVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhThVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhTxVuEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="model.uml#_trQTFxVuEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhUxVuEeeMzp7YIeMZtw" x="3046" y="1109"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_trRhaxVuEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhbBVuEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhbRVuEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhbhVuEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhbxVuEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhcBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhcRVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhchVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhcxVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhdBVuEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_trRhdRVuEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_trQTFhVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhdhVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhdxVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRheBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRheRVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhehVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhexVuEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhfBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhfRVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhfhVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhfxVuEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_trQTFRVuEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhgxVuEeeMzp7YIeMZtw" x="3139" y="1275"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_trRhhBVuEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhhRVuEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhhhVuEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhhxVuEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhiBVuEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_trRhiRVuEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_trQTERVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhihVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhixVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhjBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhjRVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhjhVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhjxVuEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_trRhkBVuEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_trQTExVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhkRVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhkhVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhkxVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhlBVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhlRVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhlhVuEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhlxVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhmBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhmRVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhmhVuEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_trQTEBVuEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhnhVuEeeMzp7YIeMZtw" x="2838" y="959"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_7uQ60BVuEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_7uQ60RVuEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_7uQ60hVuEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_7uQ60xVuEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7uQ61BVuEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7uQ61RVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7uQ61hVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7uQ61xVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uQ62BVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7uQ62RVuEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_7uQ62hVuEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_7uPssRVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_7uQ62xVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7uQ63BVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7uQ63RVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7uQ63hVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uQ63xVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7uQ64BVuEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7uQ64RVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7uQ64hVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7uQ64xVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uQ65BVuEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_7uPssBVuEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uQ66BVuEeeMzp7YIeMZtw" x="2841" y="1127"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_OgQLcBV1EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_OgQLchV1EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_OgQLcxV1EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_OgQLdBV1EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_OgQLdRV1EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_SBongBV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_SBA8cBV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_SBongRV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_VfZH0BV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_Ve1uMBV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_VfZH0RV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_agXHUBV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_afrK0BV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_agXHURV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_hKpOABV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_hKSosBV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hKpOARV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_hka_8BV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_hkFowBV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hka_8RV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_hlW0EBV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_hk8kYBV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hlW0ERV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_uwAQcBV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_uvbosBV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uwAQcRV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_1l2t8BV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_1lKKYBV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1l2t8RV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_ARw3ABV2EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_AQ-M0BV2EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ARw3ARV2EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_JGnX0BV2EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_JFxqUBV2EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JGnX0RV2EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_OgQLdhV1EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_OgQLdxV1EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_OgQLeBV1EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OgQLeRV1EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_OgSAoBV1EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_avHfkBV2EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_auaU8BV2EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_avHfkRV2EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_OgSAoRV1EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_OgSAohV1EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_OgSAoxV1EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OgSApBV1EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_OgSApRV1EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_OgSAphV1EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_OgSApxV1EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_OgSAqBV1EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OgSAqRV1EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_OgNIIBV1EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OgQLcRV1EeeMzp7YIeMZtw" x="990" y="834"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxSq4xV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxSq5BV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxSq5RV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxSq5hV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxSq5xV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxSq6BV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxSq6RV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxSq6hV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSq6xV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxSq7BV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxSq7RV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxSq7hV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxSq7xV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSq8BV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxSq8RV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxSq8hV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxSq8xV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxSq9BV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSq9RV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQ1sBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSq-RV-EeeMzp7YIeMZtw" x="670" y="398" width="177" height="176"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxSq-hV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxSq-xV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxSq_BV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxSq_RV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxSq_hV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxSq_xV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQ1thV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxSrABV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxSrARV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQ1txV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxSrAhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxSrAxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxSrBBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxSrBRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSrBhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxSrBxV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxSrCBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxSrCRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxSrChV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSrCxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxSrDBV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxSrDRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxSrDhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxSrDxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSrEBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQ1tRV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSrFBV-EeeMzp7YIeMZtw" x="1702" y="198"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxTR8BV-EeeMzp7YIeMZtw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTR8RV-EeeMzp7YIeMZtw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTR8hV-EeeMzp7YIeMZtw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTR8xV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTR9BV-EeeMzp7YIeMZtw" type="Interface_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTR9RV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTR9hV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTR9xV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTR-BV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTR-RV-EeeMzp7YIeMZtw" type="Interface_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxTR-hV-EeeMzp7YIeMZtw" type="Operation_InterfaceOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxRcxhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTR-xV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxTR_BV-EeeMzp7YIeMZtw" type="Operation_InterfaceOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxRcxxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTR_RV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxTR_hV-EeeMzp7YIeMZtw" type="Operation_InterfaceOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxRcyBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTR_xV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSABV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSARV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSAhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSAxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSBBV-EeeMzp7YIeMZtw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSBRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSBhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSBxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSCBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="model.uml#_QxRcxRV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSDBV-EeeMzp7YIeMZtw" x="557" y="1010" width="140" height="131"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxTSIRV-EeeMzp7YIeMZtw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSIhV-EeeMzp7YIeMZtw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSIxV-EeeMzp7YIeMZtw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSJBV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSJRV-EeeMzp7YIeMZtw" type="Interface_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSJhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSJxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSKBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSKRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSKhV-EeeMzp7YIeMZtw" type="Interface_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxTSKxV-EeeMzp7YIeMZtw" type="Operation_InterfaceOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxPnkhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSLBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSLRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSLhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSLxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSMBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSMRV-EeeMzp7YIeMZtw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSMhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSMxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSNBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSNRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="model.uml#_QxPnkBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSORV-EeeMzp7YIeMZtw" x="215" y="995" width="139" height="145"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxTSQxV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSRBV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSRRV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSRhV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSRxV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxTSSBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPnmRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSSRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSShV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSSxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSTBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSTRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSThV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSTxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSUBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSURV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSUhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSUxV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSVBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSVRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSVhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSVxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxPnmBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSWxV-EeeMzp7YIeMZtw" x="920" y="357"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxTSXBV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSXRV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSXhV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSXxV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSYBV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxTSYRV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOthV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSYhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSYxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSZBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSZRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSZhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSZxV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSaBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSaRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSahV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSaxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSbBV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSbRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSbhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSbxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTScBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQOtRV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSdBV-EeeMzp7YIeMZtw" x="1273" y="413" width="240" height="199"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxT5HhV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5HxV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5IBV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5IRV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5IhV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxT5IxV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxSD3RV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5JBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5JRV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxSD3hV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5JhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5JxV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxSD3xV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5KBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5KRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5KhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5KxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5LBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5LRV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxT5LhV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD4BV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5LxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5MBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD4RV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5MRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5MhV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD4hV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5MxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5NBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD4xV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5NRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5NhV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD5BV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5NxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5OBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD5RV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5ORV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5OhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5OxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5PBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5PRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5PhV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5PxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5QBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5QRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5QhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxSD2xV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5RhV-EeeMzp7YIeMZtw" x="442" y="603" width="189" height="249"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxT5TxV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5UBV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5URV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5UhV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5UxV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxT5VBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAhRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5VRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5VhV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAhhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5VxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5WBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5WRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5WhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5WxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5XBV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5XRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5XhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5XxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5YBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5YRV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5YhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5YxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5ZBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5ZRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5ZhV-EeeMzp7YIeMZtw" type="compartment_shape_display">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5ZxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5aBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxPAhBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5aRV-EeeMzp7YIeMZtw" x="166" y="403" width="196" height="173"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxT5ahV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5axV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5bBV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5bRV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5bhV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5bxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5cBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5cRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5chV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5cxV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5dBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5dRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5dhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5dxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5eBV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5eRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5ehV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5exV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5fBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQOrxV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5gBV-EeeMzp7YIeMZtw" x="1115" y="676"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxT5gRV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5ghV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5gxV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5hBV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5hRV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5hhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5hxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5iBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5iRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5ihV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxT5ixV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSq4hV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5jBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5jRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5jhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5jxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5kBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5kRV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5khV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5kxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5lBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5lRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxSq4BV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5mRV-EeeMzp7YIeMZtw" x="868" y="36" width="208" height="196"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxT5mhV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5mxV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5nBV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5nRV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5nhV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxT5nxV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOoRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5oBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5oRV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOohV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5ohV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5oxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5pBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5pRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5phV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5pxV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5qBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5qRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5qhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5qxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5rBV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5rRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5rhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5rxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5sBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQOoBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5tBV-EeeMzp7YIeMZtw" x="1551" y="201"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxUgERV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgEhV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgExV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgFBV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgFRV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxUgFhV-EeeMzp7YIeMZtw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxUgFxV-EeeMzp7YIeMZtw" key="collapsed" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgGBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAiRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgGRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgGhV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAihV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgGxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgHBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAixV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgHRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgHhV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAjRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgHxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgIBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAjhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgIRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgIhV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAkBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgIxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgJBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAjBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgJRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgJhV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAjxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgJxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgKBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgKRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgKhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgKxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgLBV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxUgLRV-EeeMzp7YIeMZtw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxUgLhV-EeeMzp7YIeMZtw" key="collapsed" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgLxV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxPAkRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgMBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgMRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgMhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgMxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgNBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgNRV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgNhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgNxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgOBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgORV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxPAiBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgPRV-EeeMzp7YIeMZtw" x="378" y="15" width="204" height="303"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxUgRxV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgSBV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgSRV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgShV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgSxV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxUgTBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOshV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgTRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgThV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOsxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgTxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgUBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOtBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgURV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgUhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgUxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgVBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgVRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgVhV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgVxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgWBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgWRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgWhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgWxV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgXBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgXRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgXhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgXxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQOsRV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgYxV-EeeMzp7YIeMZtw" x="1344" y="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxUgZBV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgZRV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgZhV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgZxV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgaBV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxUgaRV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxSD1RV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgahV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgaxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgbBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgbRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgbhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgbxV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxUgcBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD1hV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgcRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgchV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD1xV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgcxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgdBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD2BV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgdRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgdhV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD2RV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgdxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgeBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD2hV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgeRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgehV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgexV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgfBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgfRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgfhV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgfxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUggBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUggRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgghV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxSD0xV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUghhV-EeeMzp7YIeMZtw" x="691" y="683" width="161" height="167"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxUgnhV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgnxV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgoBV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgoRV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgohV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxUgoxV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOpRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgpBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgpRV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOphV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgphV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgpxV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOpxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgqBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgqRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgqhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgqxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgrBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgrRV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxUgrhV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQOqBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgrxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgsBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQOqRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgsRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgshV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQOqhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgsxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgtBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQOqxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgtRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgthV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQOrBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgtxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUguBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQOrRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUguRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUguhV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQOrhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUguxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgvBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgvRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgvhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgvxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgwBV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgwRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgwhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgwxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgxBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQOoxV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgyBV-EeeMzp7YIeMZtw" x="176" y="660" width="168" height="257"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxVHMRV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHMhV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHMxV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHNBV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHNRV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxVHNhV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQ1tBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHNxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHOBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHORV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHOhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHOxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHPBV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHPRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHPhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHPxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHQBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHQRV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHQhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHQxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHRBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHRRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQ1shV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHSRV-EeeMzp7YIeMZtw" x="1598" y="675"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxVHYRV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHYhV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHYxV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHZBV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHZRV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHZhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHZxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHaBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHaRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHahV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxVHaxV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1uhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHbBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHbRV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1vBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHbhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHbxV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1vhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHcBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHcRV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1vxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHchV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHcxV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1wBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHdBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHdRV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1wRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHdhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHdxV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1whV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHeBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHeRV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1wxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHehV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHexV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1xBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHfBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHfRV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1xRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHfhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHfxV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1xhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHgBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHgRV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1xxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHghV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHgxV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1yBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHhBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHhRV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1yRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHhhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHhxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHiBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHiRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHihV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHixV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHjBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHjRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHjhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHjxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQ1uBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHkxV-EeeMzp7YIeMZtw" x="-69" y="660" width="177" height="412"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxVHlBV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHlRV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHlhV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHlxV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHmBV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxVHmRV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAgRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHmhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHmxV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAghV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHnBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHnRV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAgxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHnhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHnxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHoBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHoRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHohV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHoxV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHpBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHpRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHphV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHpxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHqBV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHqRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHqhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHqxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHrBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxPAgBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHsBV-EeeMzp7YIeMZtw" x="501" y="1216" width="151" height="141"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxVHsRV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHshV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHsxV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHtBV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHtRV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxVHthV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxSD0RV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHtxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHuhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHuxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHvBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHvRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHvhV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHvxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHwBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHwRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHwhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHwxV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHxBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHxRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHxhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHxxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxSD0BV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHyxV-EeeMzp7YIeMZtw" x="689" y="1216" width="136" height="136"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxVuSxV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVuTBV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVuTRV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVuThV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVuTxV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxVuUBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPnlxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVuURV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVuUhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVuUxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVuVBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVuVRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVuVhV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVuVxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVuWBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVuWRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVuWhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVuWxV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVuXBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVuXRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVuXhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVuXxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxPnlRV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVuYxV-EeeMzp7YIeMZtw" x="1309" y="673"/>
+  </children>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_AN9ZERVKEeeMzp7YIeMZtw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_AN9ZEhVKEeeMzp7YIeMZtw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_AN9ZExVKEeeMzp7YIeMZtw">
+    <owner xmi:type="uml:Model" href="model.uml#_oX-IkBPOEeeugOD0sSUlEg"/>
+  </styles>
+  <element xmi:type="uml:Model" href="model.uml#_oX-IkBPOEeeugOD0sSUlEg"/>
+  <edges xmi:type="notation:Connector" xmi:id="_d3PDsBVNEeeMzp7YIeMZtw" type="Generalization_Edge" source="_td6vkBVLEeeMzp7YIeMZtw" target="_0EXCoBVMEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_d3PDsxVNEeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QfG6EBVPEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_d3PDtBVNEeeMzp7YIeMZtw" x="1" y="38"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_d3PDsRVNEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_d28IwBVNEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_d3PDshVNEeeMzp7YIeMZtw" points="[1619, 526, -643984, -643984]$[1652, 462, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eIzU0BVNEeeMzp7YIeMZtw" id="(0.63,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eIzU0RVNEeeMzp7YIeMZtw" id="(0.0,0.7734375)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_g_M6MBVNEeeMzp7YIeMZtw" type="Generalization_Edge" source="_3Heq0RVLEeeMzp7YIeMZtw" target="_0EXCoBVMEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_g_M6MxVNEeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QfjmABVPEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_g_M6NBVNEeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_g_M6MRVNEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_g-wOQBVNEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_g_M6MhVNEeeMzp7YIeMZtw" points="[1714, 531, -643984, -643984]$[1711, 487, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g_o_EBVNEeeMzp7YIeMZtw" id="(0.46,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g_o_ERVNEeeMzp7YIeMZtw" id="(0.45925925925925926,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_iOWN4BVNEeeMzp7YIeMZtw" type="Generalization_Edge" source="_7yg2kRVLEeeMzp7YIeMZtw" target="_0EXCoBVMEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_iOWN4xVNEeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Qgc94BVPEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_iOWN5BVNEeeMzp7YIeMZtw" x="-1" y="38"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_iOWN4RVNEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_iN5h8BVNEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iOWN4hVNEeeMzp7YIeMZtw" points="[1832, 495, -643984, -643984]$[1787, 464, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iOy50BVNEeeMzp7YIeMZtw" id="(0.45,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iOy50RVNEeeMzp7YIeMZtw" id="(1.0,0.7890625)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_AhSn8RVOEeeMzp7YIeMZtw" type="Dependency_Edge" source="_0EXCoBVMEeeMzp7YIeMZtw" target="_9zOfMRVNEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Ahbx4BVOEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Qf2g8BVPEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Ahbx4RVOEeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Ahbx4hVOEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QgTM4BVPEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Ahbx4xVOEeeMzp7YIeMZtw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_AhSn8hVOEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_AhSn8BVOEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AhSn8xVOEeeMzp7YIeMZtw" points="[1709, 375, -643984, -643984]$[1709, 347, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AiLYwBVOEeeMzp7YIeMZtw" id="(0.12574850299401197,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AiLYwRVOEeeMzp7YIeMZtw" id="(1.0,0.5967741935483871)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Gn1vcBVOEeeMzp7YIeMZtw" type="Association_Edge" source="_4sOJIRVNEeeMzp7YIeMZtw" target="_0EXCoBVMEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Gn1vcxVOEeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3yl9ABVOEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn1vdBVOEeeMzp7YIeMZtw" x="1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Gn1vdRVOEeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3zCo8BVOEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn1vdhVOEeeMzp7YIeMZtw" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Gn1vdxVOEeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3zMZ8BVOEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn1veBVOEeeMzp7YIeMZtw" x="-5" y="21"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Gn1veRVOEeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3zVj4BVOEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn1vehVOEeeMzp7YIeMZtw" x="-56" y="11"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Gn1vexVOEeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3zfU4BVOEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn1vfBVOEeeMzp7YIeMZtw" x="43" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Gn1vfRVOEeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3zpF4BVOEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn1vfhVOEeeMzp7YIeMZtw" x="-43" y="-18"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Gn1vcRVOEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_GXLdQBVOEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Gn1vchVOEeeMzp7YIeMZtw" points="[1384, 534, -643984, -643984]$[1652, 413, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GpLzQBVOEeeMzp7YIeMZtw" id="(0.22026431718061673,0.98)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GpLzQRVOEeeMzp7YIeMZtw" id="(0.844311377245509,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QsWsKhVPEeeMzp7YIeMZtw" type="Generalization_Edge" source="_QsWsSBVPEeeMzp7YIeMZtw" target="_QsWslBVPEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWsKxVPEeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_S0VFABVPEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWsLBVPEeeMzp7YIeMZtw" y="39"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QsWsLRVPEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QsWr5BVPEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QsWsLhVPEeeMzp7YIeMZtw" points="[1027, 517, -643984, -643984]$[1024, 473, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QsWsLxVPEeeMzp7YIeMZtw" id="(0.46,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QsWsMBVPEeeMzp7YIeMZtw" id="(0.9880952380952381,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QsWsdhVPEeeMzp7YIeMZtw" type="Generalization_Edge" source="_QsWsXxVPEeeMzp7YIeMZtw" target="_QsWslBVPEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWsdxVPEeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_S1Oc4BVPEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWseBVPEeeMzp7YIeMZtw" y="39"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QsWseRVPEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QsWr4hVPEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QsWsehVPEeeMzp7YIeMZtw" points="[932, 512, -643984, -643984]$[965, 448, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QsWsexVPEeeMzp7YIeMZtw" id="(0.62,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QsWsfBVPEeeMzp7YIeMZtw" id="(0.0,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jbedcRVPEeeMzp7YIeMZtw" type="Dependency_Edge" source="_QsWslBVPEeeMzp7YIeMZtw" target="_9zOfMRVNEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jbeddBVPEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_S_kH0BVTEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jbeddRVPEeeMzp7YIeMZtw" x="-1" y="39"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jbeddhVPEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_S_3CwBVTEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jbeddxVPEeeMzp7YIeMZtw" x="-1" y="59"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_jbedchVPEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_jbedcBVPEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jbedcxVPEeeMzp7YIeMZtw" points="[1019, 371, -643984, -643984]$[1324, 295, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jcg_QBVPEeeMzp7YIeMZtw" id="(0.5515151515151515,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jcg_QRVPEeeMzp7YIeMZtw" id="(0.0,0.5967741935483871)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_YErngBVTEeeMzp7YIeMZtw" type="Dependency_Edge" source="_QsWslBVPEeeMzp7YIeMZtw" target="_6giNIBVSEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_YErngxVTEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RZHmEBVhEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_YErnhBVTEeeMzp7YIeMZtw" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_YErnhRVTEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RZ4bEBVhEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_YErnhhVTEeeMzp7YIeMZtw" y="59"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_YErngRVTEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_YEh2gBVTEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YErnghVTEeeMzp7YIeMZtw" points="[1143, 420, -643984, -643984]$[1324, 320, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YFuJUBVTEeeMzp7YIeMZtw" id="(1.0,0.07407407407407407)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YFuJURVTEeeMzp7YIeMZtw" id="(0.0,0.22388059701492538)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_a_WB0BVTEeeMzp7YIeMZtw" type="Dependency_Edge" source="_0EXCoBVMEeeMzp7YIeMZtw" target="_6giNIBVSEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_a_WB0xVTEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RbbTMBVhEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_a_WB1BVTEeeMzp7YIeMZtw" x="-1" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_a_WB1RVTEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RbsY8BVhEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_a_WB1hVTEeeMzp7YIeMZtw" x="-1" y="58"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_a_WB0RVTEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_a_MQ0BVTEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a_WB0hVTEeeMzp7YIeMZtw" points="[1652, 405, -643984, -643984]$[1424, 326, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bAFosBVTEeeMzp7YIeMZtw" id="(0.0,0.15625)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bAFosRVTEeeMzp7YIeMZtw" id="(1.0,0.31343283582089554)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_tsxKQRVTEeeMzp7YIeMZtw" type="Dependency_Edge" source="_qOaNARVTEeeMzp7YIeMZtw" target="_QsWslBVPEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_tsxKRBVTEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RaeQ8BVhEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_tsxKRRVTEeeMzp7YIeMZtw" x="1" y="39"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_tsxKRhVTEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Ra8yEBVhEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_tsxKRxVTEeeMzp7YIeMZtw" x="-1" y="58"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_tsxKQhVTEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_tsxKQBVTEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tsxKQxVTEeeMzp7YIeMZtw" points="[1379, 541, -643984, -643984]$[1143, 468, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ttqiIBVTEeeMzp7YIeMZtw" id="(0.45,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ttqiIRVTEeeMzp7YIeMZtw" id="(1.0,0.7185185185185186)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_aeMUMBVhEeeMzp7YIeMZtw" type="Dependency_Edge" source="_QsWr8xVPEeeMzp7YIeMZtw" target="_QsWslBVPEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_aeMUMxVhEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QNbI0BV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_aeMUNBVhEeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_aeMUNRVhEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QN6RABV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_aeMUNhVhEeeMzp7YIeMZtw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_aeMUMRVhEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_aeJQ4BVhEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aeMUMhVhEeeMzp7YIeMZtw" points="[843, 524, -643984, -643984]$[1024, 524, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_afLLoBVhEeeMzp7YIeMZtw" id="(0.9955947136563876,0.51)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_afLLoRVhEeeMzp7YIeMZtw" id="(0.0,0.37037037037037035)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_8dGJABVpEeeMzp7YIeMZtw" type="Association_Edge" source="_QsWslBVPEeeMzp7YIeMZtw" target="_o3hKMBVhEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_8dGJAxVpEeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QK6AUBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8dGJBBVpEeeMzp7YIeMZtw" x="-2" y="-17"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8dGJBRVpEeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QLVeIBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8dGJBhVpEeeMzp7YIeMZtw" x="1" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8dGJBxVpEeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QL3poBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8dGJCBVpEeeMzp7YIeMZtw" x="216" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8dGJCRVpEeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QMQrMBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8dGJChVpEeeMzp7YIeMZtw" x="-216" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8dGJCxVpEeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QMmpcBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8dGJDBVpEeeMzp7YIeMZtw" x="214" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8dGJDRVpEeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QM8AoBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8dGJDhVpEeeMzp7YIeMZtw" x="-215" y="-17"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_8dGJARVpEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_8clysBVpEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8dGJAhVpEeeMzp7YIeMZtw" points="[1083, 449, -643984, -643984]$[1357, 213, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8dl4QBVpEeeMzp7YIeMZtw" id="(0.3575757575757576,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8dl4QRVpEeeMzp7YIeMZtw" id="(0.0,0.4827586206896552)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_IM27wBVqEeeMzp7YIeMZtw" type="Association_Edge" source="_0EXCoBVMEeeMzp7YIeMZtw" target="_o3hKMBVhEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_IM4w8BVqEeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JeN18BVqEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_IM4w8RVqEeeMzp7YIeMZtw" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_IM4w8hVqEeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JeuMQBVqEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_IM4w8xVqEeeMzp7YIeMZtw" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_IM4w9BVqEeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Je-q8BVqEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_IM4w9RVqEeeMzp7YIeMZtw" x="56" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_IM4w9hVqEeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JfN7gBVqEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_IM4w9xVqEeeMzp7YIeMZtw" x="-56" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_IM4w-BVqEeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JfdMEBVqEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_IM4w-RVqEeeMzp7YIeMZtw" x="56" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_IM4w-hVqEeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Jf1mkBVqEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_IM4w-xVqEeeMzp7YIeMZtw" x="-56" y="-18"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_IM27wRVqEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_IMUJMBVqEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IM27whVqEeeMzp7YIeMZtw" points="[1735, 454, -643984, -643984]$[1512, 209, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_INbjgBVqEeeMzp7YIeMZtw" id="(0.3652694610778443,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_INbjgRVqEeeMzp7YIeMZtw" id="(1.0,0.42528735632183906)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_CBI5ABVtEeeMzp7YIeMZtw" type="Dependency_Edge" source="_15nGgRVsEeeMzp7YIeMZtw" target="_T_A7MBVqEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_CBKuMBVtEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ppUHoBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_CBKuMRVtEeeMzp7YIeMZtw" x="-1" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_CBKuMhVtEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ppqF4BVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_CBKuMxVtEeeMzp7YIeMZtw" y="59"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_CBI5ARVtEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_CBHq4BVtEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CBI5AhVtEeeMzp7YIeMZtw" points="[1924, 843, -643984, -643984]$[1890, 792, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CB8xUBVtEeeMzp7YIeMZtw" id="(0.30985915492957744,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CB8xURVtEeeMzp7YIeMZtw" id="(0.5434782608695652,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_PdCdcBVtEeeMzp7YIeMZtw" type="Dependency_Edge" source="_wWO9gBVsEeeMzp7YIeMZtw" target="_T_A7MBVqEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_PdDrkBVtEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pp7ysBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_PdDrkRVtEeeMzp7YIeMZtw" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_PdDrkhVtEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pqPUsBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_PdDrkxVtEeeMzp7YIeMZtw" y="58"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_PdCdcRVtEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_Pc_aIBVtEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PdCdchVtEeeMzp7YIeMZtw" points="[1789, 843, -643984, -643984]$[1815, 792, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PduZ8BVtEeeMzp7YIeMZtw" id="(0.765625,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PduZ8RVtEeeMzp7YIeMZtw" id="(0.2753623188405797,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_RM6qMBVuEeeMzp7YIeMZtw" type="Association_Edge" source="_TQvYkBVtEeeMzp7YIeMZtw" target="_T_A7MBVqEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_RM7RQBVuEeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mTnXIBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_RM7RQRVuEeeMzp7YIeMZtw" x="-1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_RM7RQhVuEeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mUBm0BVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_RM7RQxVuEeeMzp7YIeMZtw" x="-2" y="17"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_RM7RRBVuEeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mUTToBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_RM7RRRVuEeeMzp7YIeMZtw" x="117" y="-63"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_RM7RRhVuEeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mUjLQBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_RM7RRxVuEeeMzp7YIeMZtw" x="-5" y="12"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_RM7RSBVuEeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mU04EBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_RM7RSRVuEeeMzp7YIeMZtw" x="20" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_RM7RShVuEeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mVMEcBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_RM7RSxVuEeeMzp7YIeMZtw" x="-21" y="-19"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_RM6qMRVuEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_RMhooBVuEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RM6qMhVuEeeMzp7YIeMZtw" points="[2076, 810, -643984, -643984]$[1953, 739, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RNlYkBVuEeeMzp7YIeMZtw" id="(0.0,0.7087378640776699)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RNlYkRVuEeeMzp7YIeMZtw" id="(1.0,0.5225225225225225)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_trQ6JhVuEeeMzp7YIeMZtw" type="Dependency_Edge" source="_trRhaxVuEeeMzp7YIeMZtw" target="_trRhOxVuEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_trQ6JxVuEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trQ6KBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trQ6KRVuEeeMzp7YIeMZtw" x="-1" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trQ6KhVuEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trQ6KxVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trQ6LBVuEeeMzp7YIeMZtw" y="59"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_trQ6LRVuEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_trPsABVuEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_trQ6LhVuEeeMzp7YIeMZtw" points="[2289, 766, -643984, -643984]$[2255, 715, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_trQ6LxVuEeeMzp7YIeMZtw" id="(0.305,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_trQ6MBVuEeeMzp7YIeMZtw" id="(0.5408163265306123,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_trRhMBVuEeeMzp7YIeMZtw" type="Dependency_Edge" source="_trQ6MRVuEeeMzp7YIeMZtw" target="_trRhOxVuEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhMRVuEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhMhVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhMxVuEeeMzp7YIeMZtw" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhNBVuEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhNRVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhNhVuEeeMzp7YIeMZtw" y="58"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_trRhNxVuEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_trQTFBVuEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_trRhOBVuEeeMzp7YIeMZtw" points="[2154, 766, -643984, -643984]$[2180, 715, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_trRhORVuEeeMzp7YIeMZtw" id="(0.765625,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_trRhOhVuEeeMzp7YIeMZtw" id="(0.2753623188405797,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_trRhVBVuEeeMzp7YIeMZtw" type="Association_Edge" source="_trRhhBVuEeeMzp7YIeMZtw" target="_trRhOxVuEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhVRVuEeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhVhVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhVxVuEeeMzp7YIeMZtw" x="-1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhWBVuEeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhWRVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhWhVuEeeMzp7YIeMZtw" x="-2" y="17"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhWxVuEeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhXBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhXRVuEeeMzp7YIeMZtw" x="117" y="-63"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhXhVuEeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhXxVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhYBVuEeeMzp7YIeMZtw" x="-5" y="12"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhYRVuEeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhYhVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhYxVuEeeMzp7YIeMZtw" x="20" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhZBVuEeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhZRVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhZhVuEeeMzp7YIeMZtw" x="-21" y="-19"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_trRhZxVuEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_trQ6IBVuEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_trRhaBVuEeeMzp7YIeMZtw" points="[2174, 573, -643984, -643984]$[2051, 502, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_trRhaRVuEeeMzp7YIeMZtw" id="(0.8888888888888888,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_trRhahVuEeeMzp7YIeMZtw" id="(0.389937106918239,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_BMxx8RVvEeeMzp7YIeMZtw" type="Dependency_Edge" source="_7uQ60BVuEeeMzp7YIeMZtw" target="_trRhOxVuEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_BMxx9BVvEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_HxRkQBVwEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_BMxx9RVvEeeMzp7YIeMZtw" x="1" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_BMxx9hVvEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Hx-u4BVwEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_BMxx9xVvEeeMzp7YIeMZtw" x="1" y="58"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_BMxx8hVvEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_BMxx8BVvEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BMxx8xVvEeeMzp7YIeMZtw" points="[1968, 789, -643984, -643984]$[2245, 718, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BNrw4BVvEeeMzp7YIeMZtw" id="(0.993421052631579,0.61)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BNrw4RVvEeeMzp7YIeMZtw" id="(0.0,0.5855855855855856)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxTSDRV-EeeMzp7YIeMZtw" type="Dependency_Edge" source="_QxVHlBV-EeeMzp7YIeMZtw" target="_QxTR8BV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSDhV-EeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSDxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSEBV-EeeMzp7YIeMZtw" y="39"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSERV-EeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSEhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSExV-EeeMzp7YIeMZtw" x="-1" y="58"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxTSFBV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_QxRcwBV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxTSFRV-EeeMzp7YIeMZtw" points="[519, 1169, -643984, -643984]$[519, 1092, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSFhV-EeeMzp7YIeMZtw" id="(0.44370860927152317,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSFxV-EeeMzp7YIeMZtw" id="(0.19285714285714287,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxTSGBV-EeeMzp7YIeMZtw" type="Dependency_Edge" source="_QxUgnhV-EeeMzp7YIeMZtw" target="_QxTSIRV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSGRV-EeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSGhV-EeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSGxV-EeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSHBV-EeeMzp7YIeMZtw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxTSHRV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_QxPAhxV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxTSHhV-EeeMzp7YIeMZtw" points="[291, 907, -643984, -643984]$[290, 985, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSHxV-EeeMzp7YIeMZtw" id="(0.7440476190476191,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSIBV-EeeMzp7YIeMZtw" id="(0.6115107913669064,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxTSOhV-EeeMzp7YIeMZtw" type="Dependency_Edge" source="_QxT5TxV-EeeMzp7YIeMZtw" target="_QxUgERV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSOxV-EeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSPBV-EeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSPRV-EeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSPhV-EeeMzp7YIeMZtw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxTSPxV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_QxPnkxV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxTSQBV-EeeMzp7YIeMZtw" points="[253, 393, -643984, -643984]$[368, 308, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSQRV-EeeMzp7YIeMZtw" id="(0.49489795918367346,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSQhV-EeeMzp7YIeMZtw" id="(0.0,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxTSdRV-EeeMzp7YIeMZtw" type="Generalization_Edge" source="_QxT5HhV-EeeMzp7YIeMZtw" target="_QxT5TxV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSdhV-EeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSdxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSeBV-EeeMzp7YIeMZtw" y="39"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxTSeRV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QxSD3BV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxTSehV-EeeMzp7YIeMZtw" points="[427, 677, -643984, -643984]$[352, 566, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSexV-EeeMzp7YIeMZtw" id="(0.1111111111111111,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSfBV-EeeMzp7YIeMZtw" id="(1.0,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxTSfRV-EeeMzp7YIeMZtw" type="Association_Edge" source="_QxTSQxV-EeeMzp7YIeMZtw" target="_QxUgERV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSfhV-EeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSfxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSgBV-EeeMzp7YIeMZtw" y="-19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSgRV-EeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSghV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSgxV-EeeMzp7YIeMZtw" x="-1" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTShBV-EeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTShRV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTShhV-EeeMzp7YIeMZtw" x="51" y="-19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTShxV-EeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSiBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSiRV-EeeMzp7YIeMZtw" x="-52" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSihV-EeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSixV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSjBV-EeeMzp7YIeMZtw" x="51" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSjRV-EeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSjhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSjxV-EeeMzp7YIeMZtw" x="-52" y="-18"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxTSkBV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_QxOZdBV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxTSkRV-EeeMzp7YIeMZtw" points="[903, 338, -643984, -643984]$[572, 230, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSkhV-EeeMzp7YIeMZtw" id="(0.0,0.35)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSkxV-EeeMzp7YIeMZtw" id="(1.0,0.7425742574257426)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxTSlBV-EeeMzp7YIeMZtw" type="Generalization_Edge" source="_QxT5ahV-EeeMzp7YIeMZtw" target="_QxTSXBV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSlRV-EeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSlhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSlxV-EeeMzp7YIeMZtw" x="1" y="38"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxTSmBV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QxQOsBV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxTSmRV-EeeMzp7YIeMZtw" points="[1424, 636, -643984, -643984]$[1515, 572, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSmhV-EeeMzp7YIeMZtw" id="(0.5982142857142857,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSmxV-EeeMzp7YIeMZtw" id="(0.0,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxTSnBV-EeeMzp7YIeMZtw" type="Association_Edge" source="_QxT5gRV-EeeMzp7YIeMZtw" target="_QxUgERV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSnRV-EeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSnhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSnxV-EeeMzp7YIeMZtw" x="-1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSoBV-EeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSoRV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSohV-EeeMzp7YIeMZtw" x="-2" y="17"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSoxV-EeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSpBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSpRV-EeeMzp7YIeMZtw" x="44" y="-19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSphV-EeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSpxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSqBV-EeeMzp7YIeMZtw" x="-43" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSqRV-EeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSqhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSqxV-EeeMzp7YIeMZtw" x="44" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSrBV-EeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSrRV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSrhV-EeeMzp7YIeMZtw" x="-43" y="-19"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxTSrxV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_QxSD5hV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxTSsBV-EeeMzp7YIeMZtw" points="[862, 51, -643984, -643984]$[572, 58, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSsRV-EeeMzp7YIeMZtw" id="(0.0,0.1683673469387755)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSshV-EeeMzp7YIeMZtw" id="(1.0,0.17491749174917492)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxT5ABV-EeeMzp7YIeMZtw" type="Association_Edge" source="_QxTSQxV-EeeMzp7YIeMZtw" target="_QxT5gRV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5ARV-EeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxT5AhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5AxV-EeeMzp7YIeMZtw" x="1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5BBV-EeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxT5BRV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5BhV-EeeMzp7YIeMZtw" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5BxV-EeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxT5CBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5CRV-EeeMzp7YIeMZtw" x="15" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5ChV-EeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxT5CxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5DBV-EeeMzp7YIeMZtw" x="-15" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5DRV-EeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxT5DhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5DxV-EeeMzp7YIeMZtw" x="15" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5EBV-EeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxT5ERV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5EhV-EeeMzp7YIeMZtw" x="-15" y="-18"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxT5ExV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_QxOZeBV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxT5FBV-EeeMzp7YIeMZtw" points="[935, 317, -643984, -643984]$[928, 214, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxT5FRV-EeeMzp7YIeMZtw" id="(0.23958333333333334,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxT5FhV-EeeMzp7YIeMZtw" id="(0.3173076923076923,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxT5FxV-EeeMzp7YIeMZtw" type="Generalization_Edge" source="_QxUgnhV-EeeMzp7YIeMZtw" target="_QxT5TxV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5GBV-EeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5GRV-EeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxT5GhV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QxQOpBV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxT5GxV-EeeMzp7YIeMZtw" points="[213, 650, -643984, -643984]$[217, 566, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxT5HBV-EeeMzp7YIeMZtw" id="(0.27976190476190477,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxT5HRV-EeeMzp7YIeMZtw" id="(0.3112244897959184,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxT5RxV-EeeMzp7YIeMZtw" type="Generalization_Edge" source="_QxVHYRV-EeeMzp7YIeMZtw" target="_QxT5TxV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5SBV-EeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxT5SRV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5ShV-EeeMzp7YIeMZtw" y="39"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxT5SxV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QxQ1uRV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxT5TBV-EeeMzp7YIeMZtw" points="[104, 683, -643984, -643984]$[156, 566, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxT5TRV-EeeMzp7YIeMZtw" id="(0.6101694915254238,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxT5ThV-EeeMzp7YIeMZtw" id="(0.0,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxT5tRV-EeeMzp7YIeMZtw" type="Generalization_Edge" source="_QxUgZBV-EeeMzp7YIeMZtw" target="_QxSq4xV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5thV-EeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5txV-EeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxT5uBV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QxSD1BV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxT5uRV-EeeMzp7YIeMZtw" points="[717, 673, -643984, -643984]$[717, 564, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxT5uhV-EeeMzp7YIeMZtw" id="(0.2236024844720497,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxUgEBV-EeeMzp7YIeMZtw" id="(0.3220338983050847,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxUgPhV-EeeMzp7YIeMZtw" type="Dependency_Edge" source="_QxSq4xV-EeeMzp7YIeMZtw" target="_QxUgERV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgPxV-EeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgQBV-EeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgQRV-EeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgQhV-EeeMzp7YIeMZtw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxUgQxV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_QxPnlBV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxUgRBV-EeeMzp7YIeMZtw" points="[660, 412, -643984, -643984]$[572, 308, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxUgRRV-EeeMzp7YIeMZtw" id="(0.0,0.13636363636363635)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxUgRhV-EeeMzp7YIeMZtw" id="(1.0,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxVHIBV-EeeMzp7YIeMZtw" type="Dependency_Edge" source="_QxVHsRV-EeeMzp7YIeMZtw" target="_QxTR8BV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHIRV-EeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_L2DOABWAEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHIhV-EeeMzp7YIeMZtw" x="-1" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHIxV-EeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_L3NEkBWAEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHJBV-EeeMzp7YIeMZtw" x="-1" y="57"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxVHJRV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_QxOZcxV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxVHJhV-EeeMzp7YIeMZtw" points="[716, 1196, -643984, -643984]$[632, 1108, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVHJxV-EeeMzp7YIeMZtw" id="(0.3553921568627451,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVHKBV-EeeMzp7YIeMZtw" id="(0.65,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxVHKRV-EeeMzp7YIeMZtw" type="Generalization_Edge" source="_QxVuSxV-EeeMzp7YIeMZtw" target="_QxTSXBV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHKhV-EeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHKxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHLBV-EeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxVHLRV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QxPnlhV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxVHLhV-EeeMzp7YIeMZtw" points="[1589, 633, -643984, -643984]$[1589, 572, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVHLxV-EeeMzp7YIeMZtw" id="(0.19895287958115182,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVHMBV-EeeMzp7YIeMZtw" id="(0.30833333333333335,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxVHShV-EeeMzp7YIeMZtw" type="Association_Edge" source="_QxTSIRV-EeeMzp7YIeMZtw" target="_QxTR8BV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHSxV-EeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHTBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHTRV-EeeMzp7YIeMZtw" x="-1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHThV-EeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHTxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHUBV-EeeMzp7YIeMZtw" x="1" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHURV-EeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHUhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHUxV-EeeMzp7YIeMZtw" x="33" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHVBV-EeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHVRV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHVhV-EeeMzp7YIeMZtw" x="-97" y="17"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHVxV-EeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHWBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHWRV-EeeMzp7YIeMZtw" x="35" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHWhV-EeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHWxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHXBV-EeeMzp7YIeMZtw" x="-13" y="3"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxVHXRV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_QxRcwRV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxVHXhV-EeeMzp7YIeMZtw" points="[334, 1039, -643984, -643984]$[539, 1024, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVHXxV-EeeMzp7YIeMZtw" id="(1.0,0.4298850574712644)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVHYBV-EeeMzp7YIeMZtw" id="(0.0,0.3511450381679389)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxVHzBV-EeeMzp7YIeMZtw" type="Generalization_Edge" source="_QxVHMRV-EeeMzp7YIeMZtw" target="_QxTSXBV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHzRV-EeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHzhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHzxV-EeeMzp7YIeMZtw" x="-1" y="38"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxVH0BV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QxQ1sxV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxVH0RV-EeeMzp7YIeMZtw" points="[1686, 645, -643984, -643984]$[1601, 581, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVH0hV-EeeMzp7YIeMZtw" id="(0.1242603550295858,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVH0xV-EeeMzp7YIeMZtw" id="(1.0,1.0)"/>
+  </edges>
+</notation:Diagram>
diff --git a/model.uml b/model.uml
new file mode 100644
index 0000000..2dd5385
--- /dev/null
+++ b/model.uml
@@ -0,0 +1,377 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_oX-IkBPOEeeugOD0sSUlEg" name="RootElement">
+  <packagedElement xmi:type="uml:Class" xmi:id="_tdw-kBVLEeeMzp7YIeMZtw" name="Starters">
+    <generalization xmi:type="uml:Generalization" xmi:id="_d28IwBVNEeeMzp7YIeMZtw" general="_0EEHsBVMEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_3Heq0BVLEeeMzp7YIeMZtw" name="MainDishes">
+    <generalization xmi:type="uml:Generalization" xmi:id="_g-wOQBVNEeeMzp7YIeMZtw" general="_0EEHsBVMEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_7yg2kBVLEeeMzp7YIeMZtw" name="Desserts">
+    <generalization xmi:type="uml:Generalization" xmi:id="_iN5h8BVNEeeMzp7YIeMZtw" general="_0EEHsBVMEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_0EEHsBVMEeeMzp7YIeMZtw" name="Dishe">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_-UmjYBVMEeeMzp7YIeMZtw" name="Name" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_FrEaoBVNEeeMzp7YIeMZtw" name="Price" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_OAX74BVREeeMzp7YIeMZtw" name="disheType" visibility="private" type="_-j608BVQEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_IMVXUhVqEeeMzp7YIeMZtw" name="ordervisitor" type="_o3bDkBVhEeeMzp7YIeMZtw" association="_IMUJMBVqEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_4sOJIBVNEeeMzp7YIeMZtw" name="FactoryDishe">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_GnP5kBVOEeeMzp7YIeMZtw" name="dishes" type="_0EEHsBVMEeeMzp7YIeMZtw" association="_GXLdQBVOEeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_5QxLMBVOEeeMzp7YIeMZtw" name="createDishes">
+      <ownedParameter xmi:type="uml:Parameter" xmi:id="_Cxjk8BVPEeeMzp7YIeMZtw" name="dishName">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+      </ownedParameter>
+    </ownedOperation>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Interface" xmi:id="_9zOfMBVNEeeMzp7YIeMZtw" name="Item"/>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_AhSn8BVOEeeMzp7YIeMZtw" client="_oX-IkBPOEeeugOD0sSUlEg" supplier="_9zOfMBVNEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Association" xmi:id="_GXLdQBVOEeeMzp7YIeMZtw" memberEnd="_GnP5kBVOEeeMzp7YIeMZtw _GnZDgBVOEeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GXLdQRVOEeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GXLdQhVOEeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_GnZDgBVOEeeMzp7YIeMZtw" name="factorydishes" type="_4sOJIBVNEeeMzp7YIeMZtw" association="_GXLdQBVOEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QsWr4RVPEeeMzp7YIeMZtw" name="FullMeal">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QsWr4hVPEeeMzp7YIeMZtw" general="_QsWr7BVPEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QsWr4xVPEeeMzp7YIeMZtw" name="HalfMeal">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QsWr5BVPEeeMzp7YIeMZtw" general="_QsWr7BVPEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QsWr7BVPEeeMzp7YIeMZtw" name="Meal">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QsWr7RVPEeeMzp7YIeMZtw" name="name" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_SBh5oBVQEeeMzp7YIeMZtw" name="meal" visibility="private" type="_D3KFoBVQEeeMzp7YIeMZtw" isUnique="false"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_bQOoYBVREeeMzp7YIeMZtw" name="mealType" visibility="private" type="_-j608BVQEeeMzp7YIeMZtw" isUnique="false"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_8co2AhVpEeeMzp7YIeMZtw" name="ordervisitor" type="_o3bDkBVhEeeMzp7YIeMZtw" association="_8clysBVpEeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_uKTFsBVREeeMzp7YIeMZtw" name="accept"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QsWr7xVPEeeMzp7YIeMZtw" name="MealFactory">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QsWr8RVPEeeMzp7YIeMZtw" name="createMeal">
+      <ownedParameter xmi:type="uml:Parameter" xmi:id="_QsWr8hVPEeeMzp7YIeMZtw" name="dishName">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+      </ownedParameter>
+    </ownedOperation>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_jbedcBVPEeeMzp7YIeMZtw" client="_oX-IkBPOEeeugOD0sSUlEg" supplier="_9zOfMBVNEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_D3KFoBVQEeeMzp7YIeMZtw" name="ArrayList"/>
+  <packagedElement xmi:type="uml:Enumeration" xmi:id="_-j608BVQEeeMzp7YIeMZtw" name="ItemType">
+    <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_CVrPUBVREeeMzp7YIeMZtw" name="Standard"/>
+    <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_FD5JEBVREeeMzp7YIeMZtw" name="Vegetarian"/>
+    <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_GTVXsBVREeeMzp7YIeMZtw" name="GlutenFree"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Interface" xmi:id="_31XnYBVSEeeMzp7YIeMZtw" name="Visitor"/>
+  <packagedElement xmi:type="uml:Interface" xmi:id="_6gYcIBVSEeeMzp7YIeMZtw" name="Visitable">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_ESR0ABVTEeeMzp7YIeMZtw" name="accept">
+      <ownedParameter xmi:type="uml:Parameter" xmi:id="_Qc4vsBVTEeeMzp7YIeMZtw" name="visitor" type="_31XnYBVSEeeMzp7YIeMZtw"/>
+    </ownedOperation>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_YEh2gBVTEeeMzp7YIeMZtw" client="_QsWr7BVPEeeMzp7YIeMZtw" supplier="_6gYcIBVSEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_a_MQ0BVTEeeMzp7YIeMZtw" client="_0EEHsBVMEeeMzp7YIeMZtw" supplier="_6gYcIBVSEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_qOaNABVTEeeMzp7YIeMZtw" name="Order">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_hwhkQBVfEeeMzp7YIeMZtw" name="listMeal" visibility="private" type="_D3KFoBVQEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_xVpCgBVgEeeMzp7YIeMZtw" name="listDishes" visibility="private" type="_D3KFoBVQEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_tsxKQBVTEeeMzp7YIeMZtw" client="_qOaNABVTEeeMzp7YIeMZtw" supplier="_QsWr7BVPEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_aeJQ4BVhEeeMzp7YIeMZtw" client="_QsWr7xVPEeeMzp7YIeMZtw" supplier="_QsWr7BVPEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_o3bDkBVhEeeMzp7YIeMZtw" name="OrderVisitor">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_xDYYYBVhEeeMzp7YIeMZtw" name="visit">
+      <ownedParameter xmi:type="uml:Parameter" xmi:id="_4635EBVhEeeMzp7YIeMZtw" name="meal" type="_QsWr7BVPEeeMzp7YIeMZtw"/>
+    </ownedOperation>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_5_YDABVhEeeMzp7YIeMZtw" name="visit">
+      <ownedParameter xmi:type="uml:Parameter" xmi:id="_-mbGoBVhEeeMzp7YIeMZtw" name="dishe" type="_0EEHsBVMEeeMzp7YIeMZtw"/>
+    </ownedOperation>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_8clysBVpEeeMzp7YIeMZtw" memberEnd="_8co2AhVpEeeMzp7YIeMZtw _8co2AxVpEeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8co2ABVpEeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8co2ARVpEeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_8co2AxVpEeeMzp7YIeMZtw" name="meal" type="_QsWr7BVPEeeMzp7YIeMZtw" association="_8clysBVpEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_IMUJMBVqEeeMzp7YIeMZtw" memberEnd="_IMVXUhVqEeeMzp7YIeMZtw _IMVXUxVqEeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IMVXUBVqEeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IMVXURVqEeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_IMVXUxVqEeeMzp7YIeMZtw" name="dishe" type="_0EEHsBVMEeeMzp7YIeMZtw" association="_IMUJMBVqEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Interface" xmi:id="_T-934BVqEeeMzp7YIeMZtw" name="StrategyDeliveryPolicy">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_aBVC8BVqEeeMzp7YIeMZtw" name="chooseCourier"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_wWBiIBVsEeeMzp7YIeMZtw" name="FastestDelivery">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_zWDkoBVsEeeMzp7YIeMZtw" name="chooseCourier"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_15nGgBVsEeeMzp7YIeMZtw" name="FairOccupationDelivery">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_6gpjEBVsEeeMzp7YIeMZtw" name="chooseCourier"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_CBHq4BVtEeeMzp7YIeMZtw" client="_15nGgBVsEeeMzp7YIeMZtw" supplier="_T-934BVqEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_Pc_aIBVtEeeMzp7YIeMZtw" client="_wWBiIBVsEeeMzp7YIeMZtw" supplier="_oX-IkBPOEeeugOD0sSUlEg"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_TQsVQBVtEeeMzp7YIeMZtw" name="ContextDeliveryPolicy">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_Fl5jwBVuEeeMzp7YIeMZtw" name="strategyDeliveryPolicy" visibility="private" type="_T-934BVqEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_RMiPshVuEeeMzp7YIeMZtw" name="strategydeliverypolicy" type="_T-934BVqEeeMzp7YIeMZtw" association="_RMhooBVuEeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_BXlJMBVuEeeMzp7YIeMZtw" name="execute"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_RMhooBVuEeeMzp7YIeMZtw" memberEnd="_RMiPshVuEeeMzp7YIeMZtw _RMiPsxVuEeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RMiPsBVuEeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RMiPsRVuEeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_RMiPsxVuEeeMzp7YIeMZtw" name="contextdeliverypolicy" type="_TQsVQBVtEeeMzp7YIeMZtw" association="_RMhooBVuEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_trPsABVuEeeMzp7YIeMZtw" client="_trQTFRVuEeeMzp7YIeMZtw" supplier="_trQTFxVuEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_trQTEBVuEeeMzp7YIeMZtw" name="ContextTargetProfit">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_trQTERVuEeeMzp7YIeMZtw" name="strategyTargetProfit" visibility="private" type="_trQTFxVuEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_trQTEhVuEeeMzp7YIeMZtw" name="strategydeliverypolicy" type="_trQTFxVuEeeMzp7YIeMZtw" association="_trQ6IBVuEeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_trQTExVuEeeMzp7YIeMZtw" name="execute"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_trQTFBVuEeeMzp7YIeMZtw" client="_trQ6JBVuEeeMzp7YIeMZtw" supplier="_oX-IkBPOEeeugOD0sSUlEg"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_trQTFRVuEeeMzp7YIeMZtw" name="TargetProfitMarkup">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_trQTFhVuEeeMzp7YIeMZtw" name="chooseTragetProfit"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Interface" xmi:id="_trQTFxVuEeeMzp7YIeMZtw" name="StrategyTargetProfitPolicy">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_trQTGBVuEeeMzp7YIeMZtw" name="chooseTragetProfit"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_trQ6IBVuEeeMzp7YIeMZtw" memberEnd="_trQTEhVuEeeMzp7YIeMZtw _trQ6IxVuEeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_trQ6IRVuEeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_trQ6IhVuEeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_trQ6IxVuEeeMzp7YIeMZtw" name="contextdeliverypolicy" type="_trQTEBVuEeeMzp7YIeMZtw" association="_trQ6IBVuEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_trQ6JBVuEeeMzp7YIeMZtw" name="TargetProfitServiceFee">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_trQ6JRVuEeeMzp7YIeMZtw" name="chooseTragetProfit"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_7uPssBVuEeeMzp7YIeMZtw" name="TargetProfitDeliveryCost">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_7uPssRVuEeeMzp7YIeMZtw" name="chooseTragetProfit"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_BMxx8BVvEeeMzp7YIeMZtw" client="_oX-IkBPOEeeugOD0sSUlEg" supplier="_trQTFxVuEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_OgNIIBV1EeeMzp7YIeMZtw" name="MyFoodora">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_SBA8cBV1EeeMzp7YIeMZtw" name="serviceFee" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EFloat"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_Ve1uMBV1EeeMzp7YIeMZtw" name="markupPercentage" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EFloat"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_afrK0BV1EeeMzp7YIeMZtw" name="deliveryCost" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EFloat"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_hKSosBV1EeeMzp7YIeMZtw" name="listRestaurant" visibility="private" type="_D3KFoBVQEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_hkFowBV1EeeMzp7YIeMZtw" name="listCustomer" visibility="private" type="_D3KFoBVQEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_hk8kYBV1EeeMzp7YIeMZtw" name="listCourier" visibility="private" type="_D3KFoBVQEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_uvbosBV1EeeMzp7YIeMZtw" name="listManager" visibility="private" type="_D3KFoBVQEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_1lKKYBV1EeeMzp7YIeMZtw" name="targetProfitPolicy" visibility="private" type="_trQTEBVuEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_AQ-M0BV2EeeMzp7YIeMZtw" name="deliveryPolicy" visibility="private" type="_TQsVQBVtEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_JFxqUBV2EeeMzp7YIeMZtw" name="specialOffer" visibility="private"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_auaU8BV2EeeMzp7YIeMZtw" name="Operation1"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_QxOZcxV-EeeMzp7YIeMZtw" client="_QxSD0BV-EeeMzp7YIeMZtw" supplier="_QxRcxRV-EeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Association" xmi:id="_QxOZdBV-EeeMzp7YIeMZtw" memberEnd="_QxPnmxV-EeeMzp7YIeMZtw _QxOZdxV-EeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxOZdRV-EeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxOZdhV-EeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_QxOZdxV-EeeMzp7YIeMZtw" name="clientapplication" type="_QxPnmBV-EeeMzp7YIeMZtw" association="_QxOZdBV-EeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_QxOZeBV-EeeMzp7YIeMZtw" memberEnd="_QxPnmhV-EeeMzp7YIeMZtw _QxOZexV-EeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxOZeRV-EeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxOZehV-EeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_QxOZexV-EeeMzp7YIeMZtw" name="clientapplication" type="_QxPnmBV-EeeMzp7YIeMZtw" association="_QxOZeBV-EeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxPAgBV-EeeMzp7YIeMZtw" name="MealOfTheWeek">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAgRV-EeeMzp7YIeMZtw" name="state" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAghV-EeeMzp7YIeMZtw" name="name" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAgxV-EeeMzp7YIeMZtw" name="Meal" visibility="private"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxPAhBV-EeeMzp7YIeMZtw" name="HumanUser" isAbstract="true">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAhRV-EeeMzp7YIeMZtw" name="birthDate">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAhhV-EeeMzp7YIeMZtw" name="surname">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_QxPAhxV-EeeMzp7YIeMZtw" client="_QxQOoxV-EeeMzp7YIeMZtw" supplier="_QxPnkBV-EeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxPAiBV-EeeMzp7YIeMZtw" name="User" visibility="public" isAbstract="true">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAiRV-EeeMzp7YIeMZtw" name="id" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAihV-EeeMzp7YIeMZtw" name="name" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAixV-EeeMzp7YIeMZtw" name="username" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAjBV-EeeMzp7YIeMZtw" name="password" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAjRV-EeeMzp7YIeMZtw" name="adress" visibility="private" type="_QxQOoBV-EeeMzp7YIeMZtw" isUnique="false"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAjhV-EeeMzp7YIeMZtw" name="mail" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAjxV-EeeMzp7YIeMZtw" name="phoneNumber" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAkBV-EeeMzp7YIeMZtw" name="activated" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+    </ownedAttribute>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxPAkRV-EeeMzp7YIeMZtw" name="register"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Interface" xmi:id="_QxPnkBV-EeeMzp7YIeMZtw" name="Observer">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPnkRV-EeeMzp7YIeMZtw" name="oservableoffer" type="_QxRcxRV-EeeMzp7YIeMZtw" association="_QxRcwRV-EeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxPnkhV-EeeMzp7YIeMZtw" name="update"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_QxPnkxV-EeeMzp7YIeMZtw" client="_QxPAhBV-EeeMzp7YIeMZtw" supplier="_QxPAiBV-EeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_QxPnlBV-EeeMzp7YIeMZtw" client="_QxQ1sBV-EeeMzp7YIeMZtw" supplier="_QxPAiBV-EeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxPnlRV-EeeMzp7YIeMZtw" name="PointFidelityCard">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QxPnlhV-EeeMzp7YIeMZtw" general="_QxQOtRV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPnlxV-EeeMzp7YIeMZtw" name="numberOfPoints">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxPnmBV-EeeMzp7YIeMZtw" name="MyFoodoraSystem">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPnmRV-EeeMzp7YIeMZtw" name="prodFactory" visibility="private" type="_QxSq4BV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPnmhV-EeeMzp7YIeMZtw" name="userfactory" type="_QxSq4BV-EeeMzp7YIeMZtw" association="_QxOZeBV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPnmxV-EeeMzp7YIeMZtw" name="user" type="_QxPAiBV-EeeMzp7YIeMZtw" association="_QxOZdBV-EeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQOoBV-EeeMzp7YIeMZtw" name="Adress">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOoRV-EeeMzp7YIeMZtw" name="x" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOohV-EeeMzp7YIeMZtw" name="y" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQOoxV-EeeMzp7YIeMZtw" name="Customer">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QxQOpBV-EeeMzp7YIeMZtw" general="_QxPAhBV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOpRV-EeeMzp7YIeMZtw" name="spamAgree" aggregation="composite">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOphV-EeeMzp7YIeMZtw" name="historique"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOpxV-EeeMzp7YIeMZtw" name="card" type="_QxQOtRV-EeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQOqBV-EeeMzp7YIeMZtw" name="placeOrder"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQOqRV-EeeMzp7YIeMZtw" name="registerFidelityPlan"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQOqhV-EeeMzp7YIeMZtw" name="unregisterFidelityPlan"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQOqxV-EeeMzp7YIeMZtw" name="getHistoryOfOrders"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQOrBV-EeeMzp7YIeMZtw" name="getPointsInTheCard"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQOrRV-EeeMzp7YIeMZtw" name="acceptSpam"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQOrhV-EeeMzp7YIeMZtw" name="refuseSpam"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQOrxV-EeeMzp7YIeMZtw" name="BasicFidelityCard">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QxQOsBV-EeeMzp7YIeMZtw" general="_QxQOtRV-EeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQOsRV-EeeMzp7YIeMZtw" name="Date">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOshV-EeeMzp7YIeMZtw" name="year" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOsxV-EeeMzp7YIeMZtw" name="month" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOtBV-EeeMzp7YIeMZtw" name="day" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQOtRV-EeeMzp7YIeMZtw" name="FidelityCard">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOthV-EeeMzp7YIeMZtw" name="ID">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQ1sBV-EeeMzp7YIeMZtw" name="MoralUser" isAbstract="true"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQ1shV-EeeMzp7YIeMZtw" name="LotteryFidelityCard">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QxQ1sxV-EeeMzp7YIeMZtw" general="_QxQOtRV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQ1tBV-EeeMzp7YIeMZtw" name="percentage" isReadOnly="true">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQ1tRV-EeeMzp7YIeMZtw" name="Position">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQ1thV-EeeMzp7YIeMZtw" name="x" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQ1txV-EeeMzp7YIeMZtw" name="y" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQ1uBV-EeeMzp7YIeMZtw" name="Manager">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QxQ1uRV-EeeMzp7YIeMZtw" general="_QxPAhBV-EeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1uhV-EeeMzp7YIeMZtw" name="addUser">
+      <ownedParameter xmi:type="uml:Parameter" xmi:id="_QxQ1uxV-EeeMzp7YIeMZtw" name="user" type="_QxPAiBV-EeeMzp7YIeMZtw"/>
+    </ownedOperation>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1vBV-EeeMzp7YIeMZtw" name="removeUser">
+      <ownedParameter xmi:type="uml:Parameter" xmi:id="_QxQ1vRV-EeeMzp7YIeMZtw" name="user" type="_QxPAiBV-EeeMzp7YIeMZtw"/>
+    </ownedOperation>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1vhV-EeeMzp7YIeMZtw" name="changeServiceFee"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1vxV-EeeMzp7YIeMZtw" name="changeMarkupPercentage"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1wBV-EeeMzp7YIeMZtw" name="changeDeliveryCost"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1wRV-EeeMzp7YIeMZtw" name="getTotalIncome"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1whV-EeeMzp7YIeMZtw" name="getProfit"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1wxV-EeeMzp7YIeMZtw" name="getAverageIncome"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1xBV-EeeMzp7YIeMZtw" name="getAverageProfit"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1xRV-EeeMzp7YIeMZtw" name="getAverageIncomePerCustomer"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1xhV-EeeMzp7YIeMZtw" name="setTargetProfitPolicy"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1xxV-EeeMzp7YIeMZtw" name="getMostsellingRestaurant"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1yBV-EeeMzp7YIeMZtw" name="getLeastSellingRestaurant"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1yRV-EeeMzp7YIeMZtw" name="setDeliveryPolicy"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_QxRcwBV-EeeMzp7YIeMZtw" client="_QxPAgBV-EeeMzp7YIeMZtw">
+    <supplier xmi:type="uml:Model" href="file:/B:/Mes%20Documents/progra/java/software/td/my.foodora/FoodoraUml/model.uml#__GX94BP0EeeyD81rpgqPUg"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_QxRcwRV-EeeMzp7YIeMZtw" memberEnd="_QxPnkRV-EeeMzp7YIeMZtw _QxRcxBV-EeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxRcwhV-EeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxRcwxV-EeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_QxRcxBV-EeeMzp7YIeMZtw" name="observer" type="_QxPnkBV-EeeMzp7YIeMZtw" association="_QxRcwRV-EeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Interface" xmi:id="_QxRcxRV-EeeMzp7YIeMZtw" name="OservableOffer">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxRcxhV-EeeMzp7YIeMZtw" name="attachObserver"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxRcxxV-EeeMzp7YIeMZtw" name="detachObserver"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxRcyBV-EeeMzp7YIeMZtw" name="notify"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxSD0BV-EeeMzp7YIeMZtw" name="BirthdayOffer">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxSD0RV-EeeMzp7YIeMZtw" name="state" visibility="private"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxSD0xV-EeeMzp7YIeMZtw" name="Restaurant">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QxSD1BV-EeeMzp7YIeMZtw" general="_QxQ1sBV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxSD1RV-EeeMzp7YIeMZtw" name="listOfMeal"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD1hV-EeeMzp7YIeMZtw" name="addItem"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD1xV-EeeMzp7YIeMZtw" name="removeItem"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD2BV-EeeMzp7YIeMZtw" name="setGenericDiscountFactor"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD2RV-EeeMzp7YIeMZtw" name="setSpecialDiscountFactor"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD2hV-EeeMzp7YIeMZtw" name="sortOrders"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxSD2xV-EeeMzp7YIeMZtw" name="Courier">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QxSD3BV-EeeMzp7YIeMZtw" general="_QxPAhBV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxSD3RV-EeeMzp7YIeMZtw" name="position" type="_QxQ1tRV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxSD3hV-EeeMzp7YIeMZtw" name="numberOfLivraison">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxSD3xV-EeeMzp7YIeMZtw" name="available">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+    </ownedAttribute>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD4BV-EeeMzp7YIeMZtw" name="register"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD4RV-EeeMzp7YIeMZtw" name="unregister"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD4hV-EeeMzp7YIeMZtw" name="setAvailability"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD4xV-EeeMzp7YIeMZtw" name="changePosition"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD5BV-EeeMzp7YIeMZtw" name="acceptDelivery"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD5RV-EeeMzp7YIeMZtw" name="refuseDelivery"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_QxSD5hV-EeeMzp7YIeMZtw" memberEnd="_QxSq4RV-EeeMzp7YIeMZtw _QxSD6RV-EeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxSD5xV-EeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxSD6BV-EeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_QxSD6RV-EeeMzp7YIeMZtw" name="userfactory" type="_QxSq4BV-EeeMzp7YIeMZtw" association="_QxSD5hV-EeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxSq4BV-EeeMzp7YIeMZtw" name="UserFactory">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxSq4RV-EeeMzp7YIeMZtw" name="user" type="_QxPAiBV-EeeMzp7YIeMZtw" association="_QxSD5hV-EeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSq4hV-EeeMzp7YIeMZtw" name="createUser"/>
+  </packagedElement>
+  <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_tczxwBVKEeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tczxwRVKEeeMzp7YIeMZtw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <references xmi:type="ecore:EPackage" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#_Kv8EIKFXEeS_KNX0nfvIVQ"/>
+    </eAnnotations>
+    <appliedProfile xmi:type="uml:Profile" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#ActionLanguage"/>
+  </profileApplication>
+</uml:Model>
diff --git a/scenario/my_foodora.ini b/scenario/my_foodora.ini
new file mode 100644
index 0000000..e69de29
diff --git a/scenario/testScenario1.txt b/scenario/testScenario1.txt
new file mode 100644
index 0000000..e69de29
diff --git a/src/Cards/BasicFidelityCard.java b/src/Cards/BasicFidelityCard.java
index e453b13..1ba1f7c 100644
--- a/src/Cards/BasicFidelityCard.java
+++ b/src/Cards/BasicFidelityCard.java
@@ -13,8 +13,23 @@ public class BasicFidelityCard extends FidelityCard implements VisitableCard {
 	}
 
 	@Override
-	public long accept() {
+	public long acceptPoint() {
+		// TODO Auto-generated method stub
 		return 0;
 	}
 
+	@Override
+	public double acceptPercentage() {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+
+	@Override
+	public String toString() {
+		return "Type of Card : Basic \n"
+				+ "id : " + id;
+	}
+	
+	
+
 }
diff --git a/src/Cards/LotteryFidelityCard.java b/src/Cards/LotteryFidelityCard.java
index 33d7c8d..9fc7558 100644
--- a/src/Cards/LotteryFidelityCard.java
+++ b/src/Cards/LotteryFidelityCard.java
@@ -5,9 +5,9 @@ public class LotteryFidelityCard extends FidelityCard implements VisitableCard {
 	private double percentage;
 	
 	
-	public LotteryFidelityCard(double percentage) {
+	public LotteryFidelityCard() {
 		super();
-		this.percentage = percentage;
+		this.percentage = 0.05;
 		
 	}
 
@@ -18,15 +18,48 @@ public class LotteryFidelityCard extends FidelityCard implements VisitableCard {
 		return "Lottery";
 	}
 
+	public boolean getReduction(){
+		boolean chance = false;
+		double tirage = Math.random();
+		if(tirage < this.percentage){
+			chance = true;
+		}
+		return chance;
+	}
+	
+	
+	
+	public double getPercentage() {
+		return percentage;
+	}
+
+
+	public void setPercentage(double percentage) {
+		this.percentage = percentage;
+	}
+
 
 	@Override
-	public long accept() {
+	public long acceptPoint() {
+		// TODO Auto-generated method stub
 		return 0;
 	}
 
 
-	public void setPercentage(double percentage) {
-		this.percentage = percentage;
+	@Override
+	public double acceptPercentage() {
+		// TODO Auto-generated method stub
+		return this.percentage;
 	}
 
+
+	@Override
+	public String toString() {
+		return "Type of Card : Lottery  \n"
+				+ "percentage : " + percentage + "\n"
+						+ " id : " + id;
+	}
+	
+	
+
 }
diff --git a/src/Cards/PointFidelityCard.java b/src/Cards/PointFidelityCard.java
index 9b0ce3d..373e2e9 100644
--- a/src/Cards/PointFidelityCard.java
+++ b/src/Cards/PointFidelityCard.java
@@ -18,7 +18,7 @@ public class PointFidelityCard extends FidelityCard implements VisitableCard {
 	}
 
 	@Override
-	public long accept() {
+	public long acceptPoint() {
 		return this.nbOfPoint;
 		
 	}
@@ -30,6 +30,22 @@ public class PointFidelityCard extends FidelityCard implements VisitableCard {
 	public void setNbOfPoint(long nbOfPoint) {
 		this.nbOfPoint = nbOfPoint;
 	}
+
+
+	@Override
+	public double acceptPercentage() {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+
+	@Override
+	public String toString() {
+		return "Type of Card : Point \n"
+				+ "nbOfPoint : " + nbOfPoint + "\n"
+						+ " id : " + id;
+	}
+	
+	
 	
 	
 	
diff --git a/src/Cards/VisitableCard.java b/src/Cards/VisitableCard.java
index 61084e7..47806b5 100644
--- a/src/Cards/VisitableCard.java
+++ b/src/Cards/VisitableCard.java
@@ -2,6 +2,7 @@ package Cards;
 
 public interface VisitableCard {
 	
-	public abstract long accept();
+	public abstract long acceptPoint();
+	public abstract double acceptPercentage();
 
 }
diff --git a/src/Cards/VisiterCard.java b/src/Cards/VisiterCard.java
index 3a6ebc9..efdb0a8 100644
--- a/src/Cards/VisiterCard.java
+++ b/src/Cards/VisiterCard.java
@@ -2,6 +2,7 @@ package Cards;
 
 public interface VisiterCard {
 	
-	public abstract long visit(VisitableCard card);
+	public abstract long visit(PointFidelityCard card);
+	public abstract double visit(LotteryFidelityCard card);
 
 }
diff --git a/src/Cli/Clui.java b/src/Cli/Clui.java
index e077295..adfa162 100644
--- a/src/Cli/Clui.java
+++ b/src/Cli/Clui.java
@@ -4,15 +4,39 @@ import java.util.ArrayList;
 import java.util.StringTokenizer;
 
 import Commands.Login;
+import Commands.AddDishRestaurantMenu;
+import Commands.AddDishToMeal;
+import Commands.AddItemToOrder;
+import Commands.AssociateCard;
+import Commands.CreateMeal;
+import Commands.CreateOrder;
+import Commands.EndOrder;
 import Commands.Help;
 import Commands.Logout;
+import Commands.OffDuty;
+import Commands.OnDuty;
 import Commands.RegisterCourier;
 import Commands.RegisterCustomer;
 import Commands.RegisterRestaurant;
+import Commands.RemoveSpecialOffer;
+import Commands.RenameMeal;
+import Commands.RunTest;
+import Commands.SetDeliveryPolicy;
+import Commands.SetProfitPolicy;
+import Commands.SetSpecialOffer;
+import Commands.ShowCourier;
 import Commands.ShowCustomer;
+import Commands.ShowMeal;
+import Commands.ShowMenuItem;
+import Commands.ShowProfitBetween;
 import Commands.ShowRestaurantTop;
+import Commands.ShowTotalProfit;
 import Core.ActiveUserContext;
 import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownStartegyType;
+import Exception.ExceptionUnknownTypeOfUser;
 
 public class Clui {
 	
@@ -25,15 +49,35 @@ public class Clui {
 		super();
 		this.foodora = _foodora;
 		this.activeUser = _activeUser;
-		this.listOfCommand.add(new Login());
+		this.listOfCommand.add(new AddDishRestaurantMenu());
+		this.listOfCommand.add(new AddDishToMeal());
+		this.listOfCommand.add(new RegisterCourier());
+		this.listOfCommand.add(new AddItemToOrder());
+		this.listOfCommand.add(new AssociateCard());
+		this.listOfCommand.add(new CreateMeal());
+		this.listOfCommand.add(new CreateOrder());
+		this.listOfCommand.add(new EndOrder());
 		this.listOfCommand.add(new Help());
+		this.listOfCommand.add(new Login());
 		this.listOfCommand.add(new Logout());
-		this.listOfCommand.add(new RegisterRestaurant());
-		this.listOfCommand.add(new RegisterCustomer());
+		this.listOfCommand.add(new OffDuty());
+		this.listOfCommand.add(new OnDuty());
 		this.listOfCommand.add(new RegisterCourier());
-
+		this.listOfCommand.add(new RegisterCustomer());
+		this.listOfCommand.add(new RegisterRestaurant());
+		this.listOfCommand.add(new RemoveSpecialOffer());
+		this.listOfCommand.add(new RenameMeal());
+		this.listOfCommand.add(new RunTest());
+		this.listOfCommand.add(new SetDeliveryPolicy());
+		this.listOfCommand.add(new SetProfitPolicy());
+		this.listOfCommand.add(new SetSpecialOffer());
+		this.listOfCommand.add(new ShowCourier());
 		this.listOfCommand.add(new ShowCustomer());
+		this.listOfCommand.add(new ShowMeal());
+		this.listOfCommand.add(new ShowMenuItem());
+		this.listOfCommand.add(new ShowProfitBetween());
 		this.listOfCommand.add(new ShowRestaurantTop());
+		this.listOfCommand.add(new ShowTotalProfit());
 	}
 
 	public Command getCommand(String commandName) {
@@ -44,7 +88,7 @@ public class Clui {
 		return null;
 	}
 
-	public void executeCommand(String command){
+	public void executeCommand(String command) throws ExceptionUnknownMealType, NumberFormatException, ExceptionUnknownDishType, ExceptionUnknownStartegyType, ExceptionUnknownTypeOfUser{
 		StringTokenizer st = new StringTokenizer(command);
 		String commandName = st.nextToken();
 		ArrayList<String> arguments = new ArrayList<String>();
@@ -72,7 +116,7 @@ public class Clui {
 		}
 	}
 	
-	public void launchClui() throws errorWrongNumberOfParams, errorWrongFormatValue{
+	public void launchClui() throws errorWrongNumberOfParams, errorWrongFormatValue, ExceptionUnknownMealType, NumberFormatException, ExceptionUnknownDishType, ExceptionUnknownStartegyType, ExceptionUnknownTypeOfUser{
 		System.out.println("Welcome to MyFoodora system, type help <> in order to have all the possible commands");
 		while(true){
 			String command = Input.string("===================\n"
diff --git a/src/Cli/Command.java b/src/Cli/Command.java
index ac36c5f..efceeb0 100644
--- a/src/Cli/Command.java
+++ b/src/Cli/Command.java
@@ -4,6 +4,10 @@ import java.util.ArrayList;
 
 import Core.ActiveUserContext;
 import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownStartegyType;
+import Exception.ExceptionUnknownTypeOfUser;
 
 public abstract class Command {
 	private String commandName;
@@ -15,7 +19,7 @@ public abstract class Command {
 	}
 	
 	public boolean isOneWanted(String firstToken){
-		if(firstToken.equals(commandName))
+		if(firstToken.toLowerCase().equals(commandName.toLowerCase()))
 			return true;
 		return false;
 	}
@@ -33,6 +37,6 @@ public abstract class Command {
 		return true;
 	}
 	
-	public abstract void execute(ArrayList<String> arguments, MyFoodora foodora, ActiveUserContext activeUser);
+	public abstract void execute(ArrayList<String> arguments, MyFoodora foodora, ActiveUserContext activeUser) throws ExceptionUnknownMealType, NumberFormatException, ExceptionUnknownDishType, ExceptionUnknownStartegyType, ExceptionUnknownTypeOfUser;
 	
 }
diff --git a/src/Commands/AddDishRestaurantMenu.java b/src/Commands/AddDishRestaurantMenu.java
new file mode 100644
index 0000000..ec31513
--- /dev/null
+++ b/src/Commands/AddDishRestaurantMenu.java
@@ -0,0 +1,41 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Item.Dish;
+import Others.Adress;
+import User.Manager;
+import User.Restaurant;
+import User.User;
+
+public class AddDishRestaurantMenu extends Command {
+
+	public AddDishRestaurantMenu() {
+		super("addDishRestaurantMenu",
+				new Token[]{new Token(Token.TypeToken.integer,"dishName")
+						,new Token(Token.TypeToken.str,"dishCategory")
+						,new Token(Token.TypeToken.str,"foodCategory")
+						,new Token(Token.TypeToken.decimal,"unitPrice")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException, ExceptionUnknownDishType {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Restaurant){
+			Restaurant r = (Restaurant) activeUser.getUser();
+			r.addDish(arg.get(1), arg.get(0), arg.get(2), Double.parseDouble(arg.get(3)));
+			System.out.println("Customer added : " + foodora.getUserByName(arg.get(1), arg.get(2)));
+		}else{
+			System.out.println("You need to be a logged Restaurant in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Commands/AddDishToMeal.java b/src/Commands/AddDishToMeal.java
new file mode 100644
index 0000000..7ea13a8
--- /dev/null
+++ b/src/Commands/AddDishToMeal.java
@@ -0,0 +1,35 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import User.Restaurant;
+
+public class AddDishToMeal extends Command {
+
+	public AddDishToMeal() {
+		super("addDishToMeal",
+				new Token[]{new Token(Token.TypeToken.str,"dishName")
+						,new Token(Token.TypeToken.str,"mealName")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Restaurant){
+			Restaurant r = (Restaurant) activeUser.getUser();
+			r.addDishToMeal(r.getDishByName(arg.get(0)),r.getMealByName(arg.get(1)));
+			System.out.println("You added "+arg.get(0)+" to "+arg.get(1));
+		}else{
+			System.out.println("You need to be a logged Restaurant in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Commands/AddItemToOrder.java b/src/Commands/AddItemToOrder.java
new file mode 100644
index 0000000..27735c6
--- /dev/null
+++ b/src/Commands/AddItemToOrder.java
@@ -0,0 +1,39 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Order.Order;
+import User.Customer;
+import User.Restaurant;
+
+public class AddItemToOrder extends Command {
+
+	public AddItemToOrder() {
+		super("addItemToOrder",
+				new Token[]{new Token(Token.TypeToken.str,"orderName"),
+							new Token(Token.TypeToken.str,"itemName")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Customer){
+			Customer c = (Customer) activeUser.getUser();
+			Order o = c.getOrderByName(arg.get(0));
+			o.addItemByName(arg.get(1));
+			System.out.println(arg.get(1) + " added in "+arg.get(0)+".");
+		}else{
+			System.out.println("You need to be a logged Customer in order to access this function");
+		}
+	}
+
+
+}
diff --git a/src/Commands/AssociateCard.java b/src/Commands/AssociateCard.java
new file mode 100644
index 0000000..840f349
--- /dev/null
+++ b/src/Commands/AssociateCard.java
@@ -0,0 +1,38 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cards.FidelityCard;
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownStartegyType;
+import User.Customer;
+import User.Manager;
+
+public class AssociateCard extends Command {
+
+	public AssociateCard() {
+		super("associateCard",
+				new Token[]{new Token(Token.TypeToken.str,"customerUsername"),
+							new Token(Token.TypeToken.str,"cardType")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException, ExceptionUnknownStartegyType {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Manager){
+			Manager m = (Manager) activeUser.getUser();
+			Customer c = (Customer) foodora.getUserByUsername(arg.get(0));
+			c.registerFidelityPlan(arg.get(1));
+		}else{
+			System.out.println("You need to be a logged Manager in order to access this function");
+		}
+	}
+}
+
diff --git a/src/Commands/CreateMeal.java b/src/Commands/CreateMeal.java
new file mode 100644
index 0000000..62c3548
--- /dev/null
+++ b/src/Commands/CreateMeal.java
@@ -0,0 +1,35 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownMealType;
+import User.Restaurant;
+
+public class CreateMeal extends Command {
+
+	public CreateMeal() {
+		super("createMeal",
+				new Token[]{new Token(Token.TypeToken.str,"nameOfTheMeal"),
+							new Token(Token.TypeToken.str,"typeOfMeal")
+						}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws ExceptionUnknownMealType {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Restaurant){
+			Restaurant r = (Restaurant) activeUser.getUser();
+			r.createMeal(arg.get(0), arg.get(1));
+			System.out.println("Meal added : "+arg.get(0));
+		}else{
+			System.out.println("You need to be a logged Restaurant in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Commands/CreateOrder.java b/src/Commands/CreateOrder.java
new file mode 100644
index 0000000..1e8f239
--- /dev/null
+++ b/src/Commands/CreateOrder.java
@@ -0,0 +1,36 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import User.Customer;
+import User.Restaurant;
+
+public class CreateOrder extends Command {
+
+	public CreateOrder() {
+		super("createOrder",
+				new Token[]{new Token(Token.TypeToken.str,"restaurantName"),
+							new Token(Token.TypeToken.str,"orderName")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Customer){
+			Customer c = (Customer) activeUser.getUser();
+			Restaurant r = (Restaurant) foodora.getUserByUsername(arg.get(0));
+			c.createOrder(arg.get(1), r);
+			System.out.println(arg.get(1) + " created for "+arg.get(0)+".");
+		}else{
+			System.out.println("You need to be a logged Customer in order to access this function");
+		}
+	}
+
+
+}
diff --git a/src/Commands/EndOrder.java b/src/Commands/EndOrder.java
new file mode 100644
index 0000000..5de3bb6
--- /dev/null
+++ b/src/Commands/EndOrder.java
@@ -0,0 +1,35 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Order.Order;
+import User.Customer;
+
+public class EndOrder extends Command {
+
+	public EndOrder() {
+		super("endOrder",
+				new Token[]{new Token(Token.TypeToken.str,"orderName"),
+							new Token(Token.TypeToken.date,"orderDate")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Customer){
+			Customer c = (Customer) activeUser.getUser();
+			c.getOrderByName(arg.get(0)).finalize();
+			System.out.println(arg.get(1) + " finalized the "+arg.get(0)+".");
+		}else{
+			System.out.println("You need to be a logged Customer in order to access this function");
+		}
+	}
+}
\ No newline at end of file
diff --git a/src/Commands/FindDeliverer.java b/src/Commands/FindDeliverer.java
new file mode 100644
index 0000000..54424c2
--- /dev/null
+++ b/src/Commands/FindDeliverer.java
@@ -0,0 +1,36 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Order.Order;
+import User.Courier;
+import User.Manager;
+
+public class FindDeliverer extends Command {
+
+	public FindDeliverer() {
+		super("findDeliverer",
+				new Token[]{new Token(Token.TypeToken.str,"orderName")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Manager){
+			Manager m = (Manager) activeUser.getUser();
+			Order o = foodora.getPendingOrderByName(arg.get(0));
+			Courier c = foodora.getContextDeliveryPolicy().getStrategy().chooseCourier(o.getRestaurantAttached(), foodora.getCustomerByOrder(o), foodora.getListCourier().getList());
+			System.out.println(c.toString());
+		}else{
+			System.out.println("You need to be a logged Manager in order to access this function");
+		}
+	}
+}
diff --git a/src/Commands/OffDuty.java b/src/Commands/OffDuty.java
new file mode 100644
index 0000000..59f9ab7
--- /dev/null
+++ b/src/Commands/OffDuty.java
@@ -0,0 +1,36 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import User.Courier;
+import User.Manager;
+
+public class OffDuty extends Command {
+
+	public OffDuty() {
+		super("offDuty",
+				new Token[]{new Token(Token.TypeToken.str,"courierUsername")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Manager){
+			Manager m = (Manager) activeUser.getUser();
+			Courier d = (Courier) foodora.getUserByUsername(arg.get(0));
+			d.setAvailable(true);
+			System.out.println(arg.get(0) + " in now on duty.");
+		}else{
+			System.out.println("You need to be a logged Manager in order to access this function");
+		}
+	}
+
+}
\ No newline at end of file
diff --git a/src/Commands/OnDuty.java b/src/Commands/OnDuty.java
new file mode 100644
index 0000000..6d7c872
--- /dev/null
+++ b/src/Commands/OnDuty.java
@@ -0,0 +1,37 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import User.Courier;
+import User.Customer;
+import User.Manager;
+
+public class OnDuty extends Command {
+
+	public OnDuty() {
+		super("onDuty",
+				new Token[]{new Token(Token.TypeToken.str,"courierUsername")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Manager){
+			Manager m = (Manager) activeUser.getUser();
+			Courier d = (Courier) foodora.getUserByUsername(arg.get(0));
+			d.setAvailable(false);
+			System.out.println(arg.get(0) + " in now on duty.");
+		}else{
+			System.out.println("You need to be a logged Manager in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Commands/RegisterCourier.java b/src/Commands/RegisterCourier.java
index 1e202d6..ba330da 100644
--- a/src/Commands/RegisterCourier.java
+++ b/src/Commands/RegisterCourier.java
@@ -6,6 +6,7 @@ import Cli.Command;
 import Cli.Token;
 import Core.ActiveUserContext;
 import Core.MyFoodora;
+import Exception.ExceptionUnknownTypeOfUser;
 import Others.Adress;
 import User.Manager;
 import User.User;
@@ -26,7 +27,7 @@ public class RegisterCourier extends Command {
 	}
 
 	@Override
-	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) {
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException, ExceptionUnknownTypeOfUser {
 		// TODO Auto-generated method stub
 		if(activeUser.getUser() instanceof Manager){
 			Manager m = (Manager) activeUser.getUser();
diff --git a/src/Commands/RegisterCustomer.java b/src/Commands/RegisterCustomer.java
index 3bce986..a2609aa 100644
--- a/src/Commands/RegisterCustomer.java
+++ b/src/Commands/RegisterCustomer.java
@@ -6,6 +6,7 @@ import Cli.Command;
 import Cli.Token;
 import Core.ActiveUserContext;
 import Core.MyFoodora;
+import Exception.ExceptionUnknownTypeOfUser;
 import Others.Adress;
 import User.Manager;
 import User.User;
@@ -26,7 +27,7 @@ public class RegisterCustomer extends Command {
 	}
 
 	@Override
-	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) {
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException, ExceptionUnknownTypeOfUser {
 		// TODO Auto-generated method stub
 		if(activeUser.getUser() instanceof Manager){
 			Manager m = (Manager) activeUser.getUser();
@@ -34,7 +35,7 @@ public class RegisterCustomer extends Command {
 			m.addUser(Long.parseLong(arg.get(0)), arg.get(1), arg.get(2), arg.get(3), arg.get(4), Adress.fromStr(arg.get(5)), true, arg.get(6), "1", foodora, User.CUSTOMER , "Human");
 			System.out.println("Customer added : " + foodora.getUserByName(arg.get(1), arg.get(2)));
 		}else{
-			System.out.println("You need to be a manager in order to access this function");
+			System.out.println("You need to be a logged Manager in order to access this function");
 		}
 	}
 
diff --git a/src/Commands/RegisterRestaurant.java b/src/Commands/RegisterRestaurant.java
index cff697f..64459ad 100644
--- a/src/Commands/RegisterRestaurant.java
+++ b/src/Commands/RegisterRestaurant.java
@@ -6,6 +6,7 @@ import Cli.Command;
 import Cli.Token;
 import Core.ActiveUserContext;
 import Core.MyFoodora;
+import Exception.ExceptionUnknownTypeOfUser;
 import Others.Adress;
 import User.Manager;
 import User.Restaurant;
@@ -26,7 +27,7 @@ public class RegisterRestaurant extends Command {
 	}
 
 	@Override
-	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) {
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException, ExceptionUnknownTypeOfUser {
 		// TODO Auto-generated method stub
 		if(activeUser.getUser() instanceof Manager){
 			Manager m = (Manager) activeUser.getUser();
diff --git a/src/Commands/RemoveSpecialOffer.java b/src/Commands/RemoveSpecialOffer.java
new file mode 100644
index 0000000..f49cafd
--- /dev/null
+++ b/src/Commands/RemoveSpecialOffer.java
@@ -0,0 +1,32 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import User.Restaurant;
+
+public class RemoveSpecialOffer extends Command {
+	
+	public RemoveSpecialOffer() {
+		super("removeSpecialOffer",
+				new Token[]{}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Restaurant){
+			Restaurant r = (Restaurant) activeUser.getUser();
+			r.removeMealOfTheWeek(foodora);
+			System.out.println("Meal Of The Week deleted.");
+		}else{
+			System.out.println("You need to be a logged Restaurant in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Commands/RenameMeal.java b/src/Commands/RenameMeal.java
new file mode 100644
index 0000000..a6350a5
--- /dev/null
+++ b/src/Commands/RenameMeal.java
@@ -0,0 +1,35 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import User.Restaurant;
+
+public class RenameMeal extends Command {
+
+	public RenameMeal() {
+		super("renameMeal",
+				new Token[]{new Token(Token.TypeToken.str,"mealName"),
+						new Token(Token.TypeToken.str,"newName")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Restaurant){
+			Restaurant r = (Restaurant) activeUser.getUser();
+			r.getMealByName(arg.get(0)).setName(arg.get(1));
+			System.out.println("Meal "+arg.get(0)+" renamed to "+arg.get(1));
+		}else{
+			System.out.println("You need to be a logged Restaurant in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Commands/RunTest.java b/src/Commands/RunTest.java
new file mode 100644
index 0000000..ff7e301
--- /dev/null
+++ b/src/Commands/RunTest.java
@@ -0,0 +1,56 @@
+package Commands;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.stream.Stream;
+
+import Cli.Clui;
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownStartegyType;
+import User.Manager;
+
+public class RunTest extends Command {
+
+	public RunTest() {
+		super("runTest",
+				new Token[]{new Token(Token.TypeToken.str,"file")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+	// + "showCustomers <> for the currently logged on myFoodora manager to display thelist of customers\n"
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) {
+		if(activeUser.getUser() instanceof Manager){
+			Clui clui = new Clui(foodora, activeUser);
+			String fileName = arg.get(0);
+
+			//read file into stream, try-with-resources
+			try (Stream<String> stream = Files.lines(Paths.get(fileName))) {
+
+				stream.forEach(command -> {
+					try {
+						clui.executeCommand(command);
+					} catch (NumberFormatException | ExceptionUnknownMealType | ExceptionUnknownDishType | ExceptionUnknownStartegyType e) {
+						// TODO Auto-generated catch block
+						e.printStackTrace();
+					}
+				});
+
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+		else{
+			System.out.println("You need to be a manager in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Commands/SetDeliveryPolicy.java b/src/Commands/SetDeliveryPolicy.java
new file mode 100644
index 0000000..1b0b93f
--- /dev/null
+++ b/src/Commands/SetDeliveryPolicy.java
@@ -0,0 +1,35 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownStartegyType;
+import User.Manager;
+
+public class SetDeliveryPolicy extends Command {
+
+	public SetDeliveryPolicy() {
+		super("setDeliveryPolicy",
+				new Token[]{new Token(Token.TypeToken.str,"deliveryPolicyName")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException, ExceptionUnknownStartegyType {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Manager){
+			Manager m = (Manager) activeUser.getUser();
+			foodora.getContextDeliveryPolicy().setStrategy(arg.get(0));
+			System.out.println(arg.get(0) + " is now the delivery policy.");
+		}else{
+			System.out.println("You need to be a logged Manager in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Commands/SetProfitPolicy.java b/src/Commands/SetProfitPolicy.java
new file mode 100644
index 0000000..85caeb8
--- /dev/null
+++ b/src/Commands/SetProfitPolicy.java
@@ -0,0 +1,35 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownStartegyType;
+import User.Manager;
+
+public class SetProfitPolicy extends Command {
+
+	public SetProfitPolicy() {
+		super("setProfitPolicy",
+				new Token[]{new Token(Token.TypeToken.str,"profityPolicyName")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException, ExceptionUnknownStartegyType {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Manager){
+			Manager m = (Manager) activeUser.getUser();
+			foodora.getContextTargetProfitStrategy().setStrategy(arg.get(0));
+			System.out.println(arg.get(0) + " is now the profit policy.");
+		}else{
+			System.out.println("You need to be a logged Manager in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Commands/SetSpecialOffer.java b/src/Commands/SetSpecialOffer.java
new file mode 100644
index 0000000..c1f4dbe
--- /dev/null
+++ b/src/Commands/SetSpecialOffer.java
@@ -0,0 +1,33 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import User.Restaurant;
+
+public class SetSpecialOffer extends Command {
+
+	public SetSpecialOffer() {
+		super("setSpecialOffer",
+				new Token[]{new Token(Token.TypeToken.str,"mealName")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Restaurant){
+			Restaurant r = (Restaurant) activeUser.getUser();
+			r.addMealOfTheWeek(foodora, arg.get(0));
+			
+			System.out.println("Meal "+arg.get(0)+" is now the Meal Of The Week.");
+		}else{
+			System.out.println("You need to be a logged Restaurant in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Commands/ShowCourier.java b/src/Commands/ShowCourier.java
new file mode 100644
index 0000000..a4a6fac
--- /dev/null
+++ b/src/Commands/ShowCourier.java
@@ -0,0 +1,32 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownStartegyType;
+import User.Manager;
+
+public class ShowCourier extends Command {
+
+	public ShowCourier() {
+		super("showCourier", new Token[]{});
+		// TODO Auto-generated constructor stub
+	}
+	// + "showCustomers <> for the currently logged on myFoodora manager to display thelist of customers\n"
+
+	@Override
+	public void execute(ArrayList<String> arguments, MyFoodora foodora, ActiveUserContext activeUser) {
+		if(activeUser.getUser() instanceof Manager){
+			System.out.println(foodora.getListCourier().getList().toString());
+		}
+		else{
+			System.out.println("You need to be a manager in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Commands/ShowMeal.java b/src/Commands/ShowMeal.java
new file mode 100644
index 0000000..f06a99b
--- /dev/null
+++ b/src/Commands/ShowMeal.java
@@ -0,0 +1,31 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import User.Restaurant;
+
+public class ShowMeal extends Command {
+
+	public ShowMeal() {
+		super("showMeal",
+				new Token[]{new Token(Token.TypeToken.str,"mealName")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Restaurant){
+			Restaurant r = (Restaurant) activeUser.getUser();
+			System.out.println(r.getMealByName(arg.get(0)));
+		}else{
+			System.out.println("You need to be a logged Restaurant in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Commands/ShowMenuItem.java b/src/Commands/ShowMenuItem.java
new file mode 100644
index 0000000..42e1179
--- /dev/null
+++ b/src/Commands/ShowMenuItem.java
@@ -0,0 +1,37 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownStartegyType;
+import Order.Order;
+import User.Customer;
+import User.Manager;
+import User.Restaurant;
+
+public class ShowMenuItem extends Command {
+
+	public ShowMenuItem() {
+		super("showMenuItem",
+				new Token[]{new Token(Token.TypeToken.str,"restaurantName")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public void execute(ArrayList<String> arg, MyFoodora foodora, ActiveUserContext activeUser) throws NumberFormatException {
+		// TODO Auto-generated method stub
+		if(activeUser.getUser() instanceof Manager){
+			Restaurant r = (Restaurant) foodora.getUserByUsername(arg.get(0));
+			System.out.println("List of Dishs : \n" + r.getListOfDish().toString() + "\n===========\nList of Meals : " + r.getListOfMeal().toString());
+		}else{
+			System.out.println("You need to be a logged Manager in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Commands/ShowProfitBetween.java b/src/Commands/ShowProfitBetween.java
new file mode 100644
index 0000000..b1f875b
--- /dev/null
+++ b/src/Commands/ShowProfitBetween.java
@@ -0,0 +1,32 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import User.Manager;
+
+public class ShowProfitBetween extends Command {
+
+	public ShowProfitBetween() {
+		super("showProfitBetween",
+				new Token[]{new Token(Token.TypeToken.str,"dateBeg"),
+							new Token(Token.TypeToken.str,"dateEnd")}
+		);
+		// TODO Auto-generated constructor stub
+	}
+	// + "showCustomers <> for the currently logged on myFoodora manager to display thelist of customers\n"
+
+	@Override
+	public void execute(ArrayList<String> arguments, MyFoodora foodora, ActiveUserContext activeUser) {
+		if(activeUser.getUser() instanceof Manager){
+			System.out.println(foodora.getGlobalProfit());
+		}
+		else{
+			System.out.println("You need to be a manager in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Commands/ShowTotalProfit.java b/src/Commands/ShowTotalProfit.java
new file mode 100644
index 0000000..073454d
--- /dev/null
+++ b/src/Commands/ShowTotalProfit.java
@@ -0,0 +1,32 @@
+package Commands;
+
+import java.util.ArrayList;
+
+import Cli.Command;
+import Cli.Token;
+import Core.ActiveUserContext;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownStartegyType;
+import User.Manager;
+
+public class ShowTotalProfit extends Command {
+
+	public ShowTotalProfit() {
+		super("showTotalProfit", new Token[]{});
+		// TODO Auto-generated constructor stub
+	}
+	// + "showCustomers <> for the currently logged on myFoodora manager to display thelist of customers\n"
+
+	@Override
+	public void execute(ArrayList<String> arguments, MyFoodora foodora, ActiveUserContext activeUser) {
+		if(activeUser.getUser() instanceof Manager){
+			System.out.println(foodora.getGlobalProfit());
+		}
+		else{
+			System.out.println("You need to be a manager in order to access this function");
+		}
+	}
+
+}
diff --git a/src/Core/Main.java b/src/Core/Main.java
index 16df482..b606a98 100644
--- a/src/Core/Main.java
+++ b/src/Core/Main.java
@@ -8,6 +8,7 @@ import Cli.errorWrongNumberOfParams;
 import Exception.ExceptionUnknownDishType;
 import Exception.ExceptionUnknownMealType;
 import Exception.ExceptionUnknownStartegyType;
+import Exception.ExceptionUnknownTypeOfUser;
 import Item.Dish;
 import Others.Adress;
 import User.User;
@@ -22,7 +23,7 @@ public class Main {
 		// TODO Auto-generated constructor stub
 	}
 
-	public static void main(String[] args) throws ExceptionUnknownStartegyType, errorWrongNumberOfParams, errorWrongFormatValue, ExceptionUnknownDishType, ExceptionUnknownMealType {
+	public static void main(String[] args) throws ExceptionUnknownStartegyType, errorWrongNumberOfParams, errorWrongFormatValue, ExceptionUnknownDishType, ExceptionUnknownMealType, ExceptionUnknownTypeOfUser {
 		// TODO Auto-generated method stub
 		MyFoodora foodora = new MyFoodora();
 		ActiveUserContext activeUser = new ActiveUserContext(foodora);
@@ -30,8 +31,9 @@ public class Main {
 		foodora.setServiceFee(3.0);
 		Clui clui = new Clui(foodora,activeUser);
 		
-		Manager manager = new Manager(0674, "jacques", "jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
+		Manager manager = new Manager(650588938, "ceo", "ceo", "ceo@centrale.supelec.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		
+		/*
 		foodora.addManager(manager);
 		foodora.addUser(manager);
 		
@@ -52,6 +54,7 @@ public class Main {
 		clui.executeCommand("registerRestaurant 0123456789 resto resto mail password 0.01,0.02");
 		clui.executeCommand("registerCustomer 0123456789 custo custo mail password 0.01,0.02 22/03/1995");
 		clui.executeCommand("registerCourier 0123456789 resto1 resto1 mail password 0.01,0.02 22/03/1995");
+		*/
 		clui.launchClui();
 	}
 
diff --git a/src/Core/MyFoodora.java b/src/Core/MyFoodora.java
index bee8396..d51e6ab 100644
--- a/src/Core/MyFoodora.java
+++ b/src/Core/MyFoodora.java
@@ -1,6 +1,10 @@
 package Core;
 
+import java.time.ZoneId;
 import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
 
 import Exception.ExceptionUnknownDishType;
 import Exception.ExceptionUnknownMealType;
@@ -10,6 +14,7 @@ import Item.FactoryDish;
 import Item.FactoryMeal;
 import Item.Meal;
 import Order.HistoricOrder;
+import Order.Order;
 import StrategyProfit.ContextTargetProfitStrategy;
 import User.Courier;
 import User.Customer;
@@ -44,6 +49,8 @@ public class MyFoodora {
 	private ListUser<Customer> listCustomer;
 	private ListUser<Manager> listManager;
 	private ListUser<Courier> listCourier;
+
+	private ArrayList<Order> listPendingOrder;
 	
 	private HistoricOrder globalHistoric;
 	
@@ -78,6 +85,14 @@ public class MyFoodora {
 		return null;
 	}
 	
+	public User getUserByUsername(String username){
+		for(User user : this.getGlobalListUser().getList()){
+			if(username.equals(user.getUsername())){
+				return user;
+			}
+		}
+		return null;	
+	}
 	
 	public User getUserByName(String username, String name){
 		for(User user : this.getGlobalListUser().getList()){
@@ -169,13 +184,6 @@ public class MyFoodora {
 			}
 		}
 	}
-	/** CUSTOM GETTER AND SETTER **/
-	
-
-	public double getProfitForOneOrder(double priceOrder){
-		return priceOrder*markupPercentage + serviceFee - deliveryCost; 
-		// inutile ? non
-	}
 	
 	/** GENERIC GETTER AND SETTER **/
 	
@@ -258,13 +266,91 @@ public class MyFoodora {
 		this.deliveryCost = deliveryCost;
 	}
 	
+	
 	public double getLastMonthIncome() {
-		// TODO Auto-generated method stub
-		return 0;
+		int theDay = new java.util.Date().getDay();
+		int theMonth = new java.util.Date().getMonth() + 1 ;
+		int theYear = new java.util.Date().getYear() + 1900;
+		Others.Date today = new Others.Date(theYear, theMonth, theDay);
+		int lastMonth = 0;
+		int yearOfLastMonth = 0;
+		if(theMonth == 1){
+			yearOfLastMonth=today.getIntYear()-1;
+			lastMonth = 12;
+		}
+		else{
+			yearOfLastMonth=today.getIntYear();
+			lastMonth=today.getIntMonth()-1;
+		}
+		double totalIncome = 0;
+		for(Order order : this.globalHistoric.getListOrder()){
+			if((order.getDate().getIntMonth()== lastMonth)&(order.getDate().getIntYear()==yearOfLastMonth)){
+				totalIncome = totalIncome + order.getPrice();
+			}
+		}
+		
+		return totalIncome;
 	}
-	public int getNumberOfOrder() {
+	
+	public ArrayList<Order> getOrderPendingList() {
 		// TODO Auto-generated method stub
-		return 0;
+		return this.listPendingOrder;
+	}
+
+	public Order getPendingOrderByName(String string) {
+		for(Order order : listPendingOrder){
+			if(order.getNameOrder().equals(string))
+				return order;
+		}
+		return null;
+	}
+	public Customer getCustomerByOrder(Order o){
+		for(Customer c : this.getListCustomer().getList()){
+			Order oc = c.getOrderByName(o.getNameOrder());
+			if(oc == o)
+				return c;
+		}
+		return null;
+	}
+	
+	public int getNumberOfOrderLastMonth() {
+		Date date = null; // your date
+	    Calendar cal = Calendar.getInstance();
+	    cal.setTimeZone(TimeZone.getDefault());
+	    cal.setTime(date);
+	    int theYear = cal.get(Calendar.YEAR) + 1;
+	    int theMonth = cal.get(Calendar.MONTH) + 2;
+	    int theDay = cal.get(Calendar.DAY_OF_MONTH);
+		Others.Date today = new Others.Date(theYear, theMonth, theDay);
+		int lastMonth = 0;
+		int yearOfLastMonth = 0;
+		if(theMonth == 1){
+			yearOfLastMonth=today.getIntYear()-1;
+			lastMonth = 12;
+		}
+		else{
+			yearOfLastMonth=today.getIntYear();
+			lastMonth=today.getIntMonth()-1;
+		}
+		int nbOfOrder = 0;
+		for(Order order : this.globalHistoric.getListOrder()){
+			if((order.getDate().getIntMonth()== lastMonth)&(order.getDate().getIntYear()==yearOfLastMonth)){
+				nbOfOrder++;
+			}
+		}
+		return nbOfOrder;
+	}
+	
+	public double getGlobalProfit(){
+		
+		double totalProfit = 0;
+		for(Order order : this.globalHistoric.getListOrder()){
+			if(order != null){
+				totalProfit = order.getPrice()*this.markupPercentage + this.serviceFee - this.deliveryCost ;
+			}
+		}
+		
+		return totalProfit;
 	}
 
 }
diff --git a/src/DeliveryStrategy/FairOccupationDelivery.java b/src/DeliveryStrategy/FairOccupationDelivery.java
index fa2f279..ce92f66 100644
--- a/src/DeliveryStrategy/FairOccupationDelivery.java
+++ b/src/DeliveryStrategy/FairOccupationDelivery.java
@@ -4,6 +4,7 @@ import java.util.ArrayList;
 
 import User.Courier;
 import User.Customer;
+import User.Restaurant;
 
 public class FairOccupationDelivery extends StrategyDeliveryPolicy {
 
@@ -20,7 +21,7 @@ public class FairOccupationDelivery extends StrategyDeliveryPolicy {
 
 
 	@Override
-	public Courier chooseCourier(Customer customer,ArrayList<Courier> listOfCourier) {
+	public Courier chooseCourier(Restaurant restaurant,Customer customer,ArrayList<Courier> listOfCourier) {
 		long minNumberOfRun = 100000;
 		Courier courierToChoose = null;
 		for(Courier c : listOfCourier){
diff --git a/src/DeliveryStrategy/FastestDelivery.java b/src/DeliveryStrategy/FastestDelivery.java
index f1a0ee8..948dbfe 100644
--- a/src/DeliveryStrategy/FastestDelivery.java
+++ b/src/DeliveryStrategy/FastestDelivery.java
@@ -6,6 +6,7 @@ import Others.Adress;
 import Others.Position;
 import User.Courier;
 import User.Customer;
+import User.Restaurant;
 
 public class FastestDelivery extends StrategyDeliveryPolicy{
 
@@ -23,13 +24,14 @@ public class FastestDelivery extends StrategyDeliveryPolicy{
 
 
 	@Override
-	public Courier chooseCourier(Customer c,ArrayList<Courier> listOfCourier) {
+	public Courier chooseCourier(Restaurant restaurant,Customer c,ArrayList<Courier> listOfCourier) {
 		Adress adress = c.getAdress();
+		Adress adressRestaurant = restaurant.getAdress();
 		Courier courierToChoose = null;
 		double distanceMin = 100000000;
 		for(Courier courier : listOfCourier){
 			Position position = courier.getPosition();
-			double distance = Math.sqrt( Math.pow((adress.getX() - position.getX()), 2) + Math.pow((adress.getY() - position.getY()), 2));
+			double distance = Math.sqrt( Math.pow((adressRestaurant.getX() - position.getX()), 2) + Math.pow((adressRestaurant.getY() - position.getY()), 2)) + Math.sqrt( Math.pow((adressRestaurant.getX() - adress.getX()), 2) + Math.pow((adressRestaurant.getY() - adress.getY()), 2));
 			if((distance <= distanceMin)&(courier.isAvailable())){
 				distanceMin = distance;
 				courierToChoose = courier;
diff --git a/src/DeliveryStrategy/StrategyDeliveryPolicy.java b/src/DeliveryStrategy/StrategyDeliveryPolicy.java
index 0ae3706..e08b9a7 100644
--- a/src/DeliveryStrategy/StrategyDeliveryPolicy.java
+++ b/src/DeliveryStrategy/StrategyDeliveryPolicy.java
@@ -4,6 +4,7 @@ import java.util.ArrayList;
 
 import User.Courier;
 import User.Customer;
+import User.Restaurant;
 
 public abstract class StrategyDeliveryPolicy {
 	
@@ -28,6 +29,6 @@ public abstract class StrategyDeliveryPolicy {
 
 
 
-	public abstract Courier chooseCourier(Customer c,ArrayList<Courier> listOfCourier);
+	public abstract Courier chooseCourier(Restaurant restaurant, Customer c,ArrayList<Courier> listOfCourier);
 
 }
diff --git a/src/Exception/ExceptionUnknownTypeOfUser.java b/src/Exception/ExceptionUnknownTypeOfUser.java
new file mode 100644
index 0000000..4f10522
--- /dev/null
+++ b/src/Exception/ExceptionUnknownTypeOfUser.java
@@ -0,0 +1,38 @@
+package Exception;
+
+public class ExceptionUnknownTypeOfUser extends Exception {
+
+	
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 147789654641165L;
+
+	public ExceptionUnknownTypeOfUser() {
+		// TODO Auto-generated constructor stub
+	}
+
+	public ExceptionUnknownTypeOfUser(String message) {
+		super(message);
+		// TODO Auto-generated constructor stub
+	}
+
+	public ExceptionUnknownTypeOfUser(Throwable cause) {
+		super(cause);
+		// TODO Auto-generated constructor stub
+	}
+
+	public ExceptionUnknownTypeOfUser(String message, Throwable cause) {
+		super(message, cause);
+		// TODO Auto-generated constructor stub
+	}
+
+	public ExceptionUnknownTypeOfUser(String message, Throwable cause, boolean enableSuppression,
+			boolean writableStackTrace) {
+		super(message, cause, enableSuppression, writableStackTrace);
+		// TODO Auto-generated constructor stub
+	}
+	
+	
+}
diff --git a/src/Item/FactoryMeal.java b/src/Item/FactoryMeal.java
index 580ff59..e6ec677 100644
--- a/src/Item/FactoryMeal.java
+++ b/src/Item/FactoryMeal.java
@@ -8,9 +8,9 @@ public class FactoryMeal {
 		typeOfMeal=typeOfMeal.toLowerCase().trim();
 		switch(typeOfMeal){
 			case "halfmeal":
-				return new HalfMeal(nameOfMeal,typeOfMeal);
+				return new HalfMeal(nameOfMeal,"unknown");
 			case "fullmeal":
-				return new FullMeal(nameOfMeal,typeOfMeal);
+				return new FullMeal(nameOfMeal,"unknown");
 			default:
 				throw new ExceptionUnknownMealType("Error, '"+typeOfMeal+"' is unkwon, try HalfMeal or FullMeal.");
 		}
diff --git a/src/Item/FullMeal.java b/src/Item/FullMeal.java
index 49d18b7..de047d4 100644
--- a/src/Item/FullMeal.java
+++ b/src/Item/FullMeal.java
@@ -4,12 +4,13 @@ import java.util.ArrayList;
 import java.util.Arrays;
 
 public class FullMeal extends Meal {
+	
 
 	public FullMeal(String name, String typeOfFood) {
 		super(name, typeOfFood);
 		String [][] pattern = {{"Starter"},{"MainDish"},{"Dessert"}};
 		this.setPatternTypeInMeal(pattern);
-		this.typeOfMeal = "Full";
+		this.typeOfMeal = "FullMeal";
 		this.listDish = new ArrayList<Dish>(Arrays.asList(null, null, null));
 	}
 
diff --git a/src/Item/HalfMeal.java b/src/Item/HalfMeal.java
index ded6d14..1a5bd1c 100644
--- a/src/Item/HalfMeal.java
+++ b/src/Item/HalfMeal.java
@@ -5,13 +5,14 @@ import java.util.Arrays;
 
 public class HalfMeal extends Meal {
 
-	protected String typeOfMeal;
+
+	protected String typeOfFood;
 	
 	public HalfMeal(String name, String typeOfFood) {
 		super(name, typeOfFood);
 		String [][] pattern = {{"Starter","Dessert"},{"MainDish"}};
 		this.setPatternTypeInMeal(pattern);
-		this.typeOfMeal = "Half";
+		this.typeOfMeal = "HalfMeal";
 		this.listDish = new ArrayList<Dish>(Arrays.asList(null, null));
 	}
 
diff --git a/src/Item/Meal.java b/src/Item/Meal.java
index 2302321..9f4040d 100644
--- a/src/Item/Meal.java
+++ b/src/Item/Meal.java
@@ -49,7 +49,6 @@ public abstract class Meal extends Item{
 			}
 			idInMenuInc+=1;
 		}
-		System.out.println(dish.getTypeInMeal());
 		if(idInMenu>-1){
 			if(listDish.get(idInMenu)==null){
 				listDish.set(idInMenu, dish);
@@ -65,12 +64,16 @@ public abstract class Meal extends Item{
 	
 	public void removeDish(String name){
 		boolean itemRemoved = false;
+		Dish dishToRemove = null;
 		for(Dish dish: listDish){
 			if(dish.getName()==name){
-				listDish.remove(dish);
+				dishToRemove = dish;
 				itemRemoved=true;
 			}
 		}
+		if(dishToRemove != null){
+			listDish.remove(dishToRemove);
+		}
 		if(itemRemoved)
 			System.out.println("Dish removed !");
 	}
diff --git a/src/Offers/BirthdayOffer.java b/src/Offers/BirthdayOffer.java
index 09d00a4..e9e5184 100644
--- a/src/Offers/BirthdayOffer.java
+++ b/src/Offers/BirthdayOffer.java
@@ -3,6 +3,7 @@ package Offers;
 import java.util.ArrayList;
 
 import Item.Meal;
+import User.Restaurant;
 
 public class BirthdayOffer implements ObservableOffer {
 
@@ -31,12 +32,6 @@ public class BirthdayOffer implements ObservableOffer {
 
 	}
 
-	@Override
-	public void notifyall() {
-		// TODO Auto-generated method stub
-
-	}
-
 	public boolean isState() {
 		return state;
 	}
@@ -52,6 +47,12 @@ public class BirthdayOffer implements ObservableOffer {
 	public void setObservers(ArrayList<Observer> observers) {
 		this.observers = observers;
 	}
+
+	@Override
+	public void notifyObservers(Restaurant r) {
+		// TODO Auto-generated method stub
+		
+	}
 	
 	
 	
diff --git a/src/Offers/MealOfTheWeek.java b/src/Offers/MealOfTheWeek.java
index 68b750a..42fe167 100644
--- a/src/Offers/MealOfTheWeek.java
+++ b/src/Offers/MealOfTheWeek.java
@@ -3,21 +3,25 @@ package Offers;
 import java.util.ArrayList;
 
 import Item.Meal;
+import User.Restaurant;
 
 public class MealOfTheWeek implements ObservableOffer {
 	
 	
 	private boolean state;
 	private Meal meal;
+	private boolean changed;
 	private ArrayList<Observer> observers = new ArrayList<Observer>();
 	
 	
 	
 	
-	public MealOfTheWeek(boolean state, Meal meal,ArrayList<Observer> observers) {
+	
+	public MealOfTheWeek(Meal meal) {
 		super();
 		this.state = true;
 		this.meal = meal;
+		this.changed = false;
 		this.observers = new ArrayList<Observer>();
 	}
 	
@@ -58,14 +62,38 @@ public class MealOfTheWeek implements ObservableOffer {
 		this.observers.remove(o);
 
 	}
+	
+	
+
+	public ArrayList<Observer> getObservers() {
+		return observers;
+	}
+
+
+
+	public void setObservers(ArrayList<Observer> observers) {
+		this.observers = observers;
+	}
+
+
 
 	@Override
-	public void notifyall() {
-		for (Observer observer : this.observers) {
-			observer.update();
-			
+	public void notifyObservers(Restaurant r) {
+		if(this.changed){
+			for (Observer observer : this.observers) {
+				String message = "A new Offer Meal Of The Week is Available in the Restaurant : " + r.getName() + "\n "
+						+ "Meal : " + this.meal.toString();
+				observer.update(message);
+			}
+		this.changed=false;
 		}
-
+	}
+		
+	public void setInterests(Restaurant r){
+		this.changed=true;
+		this.notifyObservers(r);
 	}
 
 }
+
+
diff --git a/src/Offers/ObservableOffer.java b/src/Offers/ObservableOffer.java
index abd6547..4952c24 100644
--- a/src/Offers/ObservableOffer.java
+++ b/src/Offers/ObservableOffer.java
@@ -1,10 +1,12 @@
 package Offers;
 
+import User.Restaurant;
+
 public interface ObservableOffer {
 	
 	public abstract void attachObserver(Observer o);
 	public abstract void detachObserver(Observer o);
-	public abstract void notifyall();
+	public abstract void notifyObservers(Restaurant r);
 
 
 }
diff --git a/src/Offers/Observer.java b/src/Offers/Observer.java
index b98f024..b456789 100644
--- a/src/Offers/Observer.java
+++ b/src/Offers/Observer.java
@@ -2,6 +2,6 @@ package Offers;
 
 public interface Observer {
 	
-	public abstract void update();
+	public void update(String offer);
 
 }
diff --git a/src/Order/Order.java b/src/Order/Order.java
index c4e6cf4..c83efd3 100644
--- a/src/Order/Order.java
+++ b/src/Order/Order.java
@@ -3,10 +3,13 @@ package Order;
 import java.util.ArrayList;
 import java.util.Date;
 
+import Core.MyFoodora;
 import Item.Dish;
+import Item.Item;
 import Item.Meal;
 import Item.VisitablePrice;
 import Item.VisitorPrice;
+import Offers.MealOfTheWeek;
 import Others.Period;
 import User.Restaurant;
 
@@ -52,6 +55,15 @@ public class Order implements Comparable<Order>{
 		finalized = true;
 	}
 	
+	public void finalize(MyFoodora foodora){
+		int theDay = new java.util.Date().getDay();
+		int theMonth = new java.util.Date().getMonth() + 1 ;
+		int theYear = new java.util.Date().getYear() + 1900;
+		this.date = new Others.Date(theYear, theMonth, theDay);
+		finalized = true;
+		foodora.getOrderPendingList().add(this);
+	}
+	
 	public static ArrayList<Order> getListOfOrderInAPeriod(HistoricOrder historic,Period period){
 		ArrayList<Order> listOrder = new ArrayList<Order>();
 		int beginDay = period.getBeginingOfPeriod().getIntDay();
@@ -119,8 +131,19 @@ public class Order implements Comparable<Order>{
 		
 		return listOrder;
 	}
+
+	/** ADD & REMOVE **/
 	
-	/** AND & REMOVE **/
+	public void addItemByName(String string) {
+		Item item = this.restaurantAttached.getDishByName(string);
+		if(item != null)
+			this.add((Dish) item);
+		item = this.restaurantAttached.getMealByName(string);
+		if(item != null)
+			this.add((Meal) item);
+		if(item == null)
+			System.out.println("Unknown item.");
+	}
 	
 	public void add(Dish d){
 		listDish.add(d);
@@ -147,13 +170,35 @@ public class Order implements Comparable<Order>{
 	
 	/** GETTER AND SETTER **/
 	
+	
+	
 	public boolean isFinalised(){
 		return finalized;
 	}
+	public Restaurant getRestaurantAttached() {
+		return restaurantAttached;
+	}
+
+	public void setRestaurantAttached(Restaurant restaurantAttached) {
+		this.restaurantAttached = restaurantAttached;
+	}
+
 	public double getPrice(){
 		price = 0;
+		MealOfTheWeek mealOfTheWeekAttachedToRestaurant = restaurantAttached.getMealOfTheWeek();
+		String nameOfTheMealOfTheWeek = null;
+		for(Meal m : restaurantAttached.getListOfMeal()){
+			if(mealOfTheWeekAttachedToRestaurant.getMeal().getName() == m.getName()){
+				nameOfTheMealOfTheWeek = m.getName();
+			}
+		}
 		for(Meal meal : listMeal){
-			price += meal.getPrice()*(1-restaurantAttached.getGeneralDiscountFactor());
+			if(meal.getName() == nameOfTheMealOfTheWeek){
+				price += meal.getPrice()*(1-restaurantAttached.getSpecialDiscountFactor());
+			}
+			else{
+				price += meal.getPrice()*(1-restaurantAttached.getGeneralDiscountFactor());
+			}
 		}
 		for(Dish dish : listDish){
 			price += dish.getPrice();
@@ -183,6 +228,12 @@ public class Order implements Comparable<Order>{
 	public void setListMeal(ArrayList<Meal> listMeal) {
 		this.listMeal = listMeal;
 	}
+	
+	
+
+	public void setDate(Others.Date date) {
+		this.date = date;
+	}
 
 	@Override
 	public int compareTo(Order o) {
diff --git a/src/StrategyProfit/TargetProfitDeliveryCost.java b/src/StrategyProfit/TargetProfitDeliveryCost.java
index 31ce9bd..ab58274 100644
--- a/src/StrategyProfit/TargetProfitDeliveryCost.java
+++ b/src/StrategyProfit/TargetProfitDeliveryCost.java
@@ -12,8 +12,13 @@ public class TargetProfitDeliveryCost extends StrategyTargetProfitPolicy {
 	public void chooseTargetProfit(MyFoodora myFoodora, double targetProfit) {
 		// TODO Auto-generated method stub
 		double lastMonthIncome = myFoodora.getLastMonthIncome();
-		int numberOfOrder = myFoodora.getNumberOfOrder();
-		myFoodora.setDeliveryCost(lastMonthIncome*myFoodora.getMarkupPercentage()+myFoodora.getServiceFee()*numberOfOrder-targetProfit);
+		int numberOfOrder = myFoodora.getNumberOfOrderLastMonth();
+		if(numberOfOrder !=0){
+			double newDeliveryCost = myFoodora.getServiceFee() + (lastMonthIncome*myFoodora.getMarkupPercentage()-targetProfit)/numberOfOrder;
+			if(newDeliveryCost > 0){
+					myFoodora.setDeliveryCost(newDeliveryCost);
+			}
+		}
 	}
 
 }
diff --git a/src/StrategyProfit/TargetProfitMarkup.java b/src/StrategyProfit/TargetProfitMarkup.java
index c312029..76ac7aa 100644
--- a/src/StrategyProfit/TargetProfitMarkup.java
+++ b/src/StrategyProfit/TargetProfitMarkup.java
@@ -12,8 +12,13 @@ public class TargetProfitMarkup extends StrategyTargetProfitPolicy {
 	public void chooseTargetProfit(MyFoodora myFoodora, double targetProfit) {
 		// TODO Auto-generated method stub
 		double lastMonthIncome = myFoodora.getLastMonthIncome();
-		int numberOfOrder = myFoodora.getNumberOfOrder();
-		myFoodora.setMarkupPercentage((targetProfit-myFoodora.getServiceFee()*numberOfOrder+myFoodora.getDeliveryCost()*numberOfOrder)/lastMonthIncome);
+		int numberOfOrder = myFoodora.getNumberOfOrderLastMonth();
+		if(lastMonthIncome !=0){
+			double newMarkupPercentage = (targetProfit-myFoodora.getServiceFee()*numberOfOrder+myFoodora.getDeliveryCost()*numberOfOrder)/lastMonthIncome;
+			if(newMarkupPercentage >0){
+				myFoodora.setMarkupPercentage(newMarkupPercentage);
+			}
+		}
 	}
 
 }
diff --git a/src/StrategyProfit/TargetProfitServiceFee.java b/src/StrategyProfit/TargetProfitServiceFee.java
index aeb5a3f..1a44d06 100644
--- a/src/StrategyProfit/TargetProfitServiceFee.java
+++ b/src/StrategyProfit/TargetProfitServiceFee.java
@@ -12,8 +12,15 @@ public class TargetProfitServiceFee extends StrategyTargetProfitPolicy {
 	public void chooseTargetProfit(MyFoodora myFoodora, double targetProfit) {
 		// TODO Auto-generated method stub
 		double lastMonthIncome = myFoodora.getLastMonthIncome();
-		int numberOfOrder = myFoodora.getNumberOfOrder();
-		myFoodora.setServiceFee(targetProfit-lastMonthIncome*myFoodora.getMarkupPercentage()+myFoodora.getDeliveryCost()*numberOfOrder);
+		int numberOfOrder = myFoodora.getNumberOfOrderLastMonth();
+		if(numberOfOrder !=0){
+			double newServiceFee = (targetProfit-lastMonthIncome*myFoodora.getMarkupPercentage())/numberOfOrder + myFoodora.getDeliveryCost();
+			if(newServiceFee >0){
+				myFoodora.setServiceFee(newServiceFee);
+
+			}
+		}
+		
 	}
 
 }
diff --git a/src/User/Courier.java b/src/User/Courier.java
index 97ca2a4..dba39a5 100644
--- a/src/User/Courier.java
+++ b/src/User/Courier.java
@@ -50,6 +50,11 @@ public class Courier extends HumanUser {
 		return position;
 	}
 
+	
+
+	public void setNbOfLivraison(long nbOfLivraison) {
+		this.nbOfLivraison = nbOfLivraison;
+	}
 
 	public void setPosition(Position position) {
 		this.position = position;
diff --git a/src/User/Customer.java b/src/User/Customer.java
index c0ed572..312b20e 100644
--- a/src/User/Customer.java
+++ b/src/User/Customer.java
@@ -36,6 +36,7 @@ public class Customer extends HumanUser implements VisiterCard,Observer {
 	private FidelityCard card;
 	private IDCard idCard;
 	private ArrayList<Order> listOrder = new ArrayList<Order>();
+	private long nbOfOfferReceived;
 	
 	public Customer(long phoneNumber, String name, String username, String mail, String password,
 			Adress adress, boolean activated, String birthdayDate, String surname) {
@@ -44,6 +45,7 @@ public class Customer extends HumanUser implements VisiterCard,Observer {
 		this.spamAgree = true;
 		this.card = new BasicFidelityCard();
 		this.typeOfUser = CUSTOMER;
+		this.nbOfOfferReceived = 0;
 	}
 	
 	public FidelityCard getCard() {
@@ -69,6 +71,7 @@ public class Customer extends HumanUser implements VisiterCard,Observer {
 		ArrayList<Dish> cartOfRestaurant = restaurant.getListOfDish();
 		ArrayList<Meal> cartOfMeal = restaurant.getListOfMeal();
 		Order order = new Order();
+		order.setRestaurantAttached(restaurant);
 		if(mealOrDish == "Dish"){
 			for(String item : listOfItem){
 				boolean isIn = false;
@@ -109,12 +112,22 @@ public class Customer extends HumanUser implements VisiterCard,Observer {
 		}
 		this.historic.addOrder(order);
 		restaurant.historic.addOrder(order);
-		Courier chosenCourier = foodora.getContextDeliveryPolicy().getStrategy().chooseCourier(this,foodora.getListCourier().getList());
+		Courier chosenCourier = foodora.getContextDeliveryPolicy().getStrategy().chooseCourier(restaurant, this,foodora.getListCourier().getList());
 		chosenCourier.acceptDelivery(order);
+		foodora.getOrderPendingList().remove(order);
 		foodora.getGlobalHistoric().addOrder(order);
 		if (this.card instanceof PointFidelityCard){
 			((PointFidelityCard) this.card).setNbOfPoint(this.getPointInTheCard() + 1);
 		}
+		double price = order.getPrice()*(1 + foodora.getMarkupPercentage()) + foodora.getDeliveryCost() + foodora.getServiceFee();
+		boolean chance = false;
+		if(this.card instanceof LotteryFidelityCard){
+			chance = ((LotteryFidelityCard) this.card).getReduction();
+		}
+		if(chance){
+			price = price*0.75;
+		}
+		System.out.println("You have to pay " + price);
 	}
 	
 	
@@ -206,7 +219,7 @@ public class Customer extends HumanUser implements VisiterCard,Observer {
 			
 			if (newTypeOfFidelityCard == "Lottery"){
 				idCard=IDCard.getInstance();
-				this.card = new LotteryFidelityCard(10);
+				this.card = new LotteryFidelityCard();
 
 			}
 		}
@@ -232,13 +245,28 @@ public class Customer extends HumanUser implements VisiterCard,Observer {
 			return 0;
 		}
 		else {
-			return visit(card);
+			return visit((PointFidelityCard)card);
+		}
+	}
+	
+	public double getPercentageInTheCard(){
+		if((this.card.returnType() == "Point") || (this.card.returnType() == "Basic")){
+			System.out.println("You don't have the right type of Card");
+			return 0;
+		}
+		else {
+			return visit((LotteryFidelityCard)card);
 		}
 	}
+	
+	@Override
+	public double visit(LotteryFidelityCard card){
+		return card.acceptPercentage();
+	}
 
 	@Override
-	public long visit(VisitableCard card) {
-		return card.accept();
+	public long visit(PointFidelityCard card) {
+		return card.acceptPoint();
 	}
 	
 	public void acceptSpam (){
@@ -261,12 +289,6 @@ public class Customer extends HumanUser implements VisiterCard,Observer {
 	}
 
 
-	@Override
-	public void update() {
-		System.out.println();
-		
-	}
-
 
 	public void createOrder(String name, Restaurant restaurant){
 		Order order = new Order(name,restaurant);
@@ -275,11 +297,23 @@ public class Customer extends HumanUser implements VisiterCard,Observer {
 	
 	public Order getOrderByName(String string) {
 		for(Order order : listOrder){
-			if(order.getNameOrder() == string)
+			if(order.getNameOrder().equals(string));
 				return order;
 		}
 		return null;
 	}
+
+	@Override
+	public void update(String offer) {
+		System.out.println(offer);
+		this.nbOfOfferReceived++;
+	}
+
+	public long getNbOfOfferReceived() {
+		return nbOfOfferReceived;
+	}
+	
+	
 	
 }
 	
diff --git a/src/User/Manager.java b/src/User/Manager.java
index 2fbc15d..55e1ad1 100644
--- a/src/User/Manager.java
+++ b/src/User/Manager.java
@@ -1,6 +1,8 @@
 package User;
 import Core.MyFoodora;
 import DeliveryStrategy.ContextDeliveryStrategy;
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownTypeOfUser;
 import Item.Dish;
 import Item.HalfMeal;
 import Order.HistoricOrder;
@@ -38,7 +40,7 @@ public class Manager extends HumanUser {
 
 	
 	public void addUser(long phoneNumber, String name, String username, String mail, String password, Adress adress,
-			boolean activated , String birthdayDate, String surname,MyFoodora foodora, int typeOfUser, String kindOfUser){
+			boolean activated , String birthdayDate, String surname,MyFoodora foodora, int typeOfUser, String kindOfUser) throws ExceptionUnknownTypeOfUser{
 		
 		if ((kindOfUser == "Human") || (kindOfUser == "Moral")){
 			UserFactory factory = FactoryUserFactory.createUserFactory(kindOfUser);
@@ -158,6 +160,10 @@ public class Manager extends HumanUser {
 			
 	}
 	
+	public void executeTargetProfitPolicy(MyFoodora foodora, double targetProfit){
+		foodora.getContextTargetProfitStrategy().execute(foodora, targetProfit);
+	}
+	
 	public String getMostSellingRestaurant(MyFoodora foodora){
 		ListUser<Restaurant> listOfRestaurant = foodora.getListRestaurant();
 		Restaurant mostSellingRestaurant = null;
@@ -320,5 +326,4 @@ public class Manager extends HumanUser {
 		return restaurant.getSortListOfDish();
 	}
 	
-	
 }
diff --git a/src/User/Restaurant.java b/src/User/Restaurant.java
index d3c9245..0c2f764 100644
--- a/src/User/Restaurant.java
+++ b/src/User/Restaurant.java
@@ -3,6 +3,7 @@ package User;
 import java.lang.reflect.Array;
 import java.util.ArrayList;
 
+import Core.MyFoodora;
 import Exception.ExceptionUnknownDishType;
 import Exception.ExceptionUnknownMealType;
 import Item.Dish;
@@ -11,6 +12,7 @@ import Item.FactoryMeal;
 import Item.HalfMeal;
 import Item.Item;
 import Item.Meal;
+import Offers.MealOfTheWeek;
 import Others.Adress;
 
 public class Restaurant extends MoralUser {
@@ -21,6 +23,7 @@ public class Restaurant extends MoralUser {
 	private ArrayList<Dish> listOfDish;
 	private double generalDiscountFactor;
 	private double specialDiscountFactor;
+	private MealOfTheWeek mealOfTheWeek;
 	
 	/** CONSTRUCTOR **/
 	
@@ -29,6 +32,7 @@ public class Restaurant extends MoralUser {
 		super(phoneNumber, name, username, mail, password, adress, activated);
 		this.listOfMeal = new ArrayList<Meal>();
 		this.listOfDish = new ArrayList<Dish>();
+		this.mealOfTheWeek = new MealOfTheWeek(null);
 		this.typeOfUser = RESTAURANT;
 		this.generalDiscountFactor = 0.05;
 		this.specialDiscountFactor = 0.1;
@@ -166,7 +170,7 @@ public class Restaurant extends MoralUser {
 		ArrayList<HalfMeal> listOfHalMeal = new ArrayList<HalfMeal>();
 		ArrayList<HalfMeal> sortedListOfHalMeal = new ArrayList<HalfMeal>();
 		for(Meal m : this.listOfMeal){
-			if(m.getTypeOfMeal() == "Half"){
+			if(m.getTypeOfMeal() == "HalfMeal"){
 				listOfHalMeal.add((HalfMeal) m);
 			}
 		}
@@ -210,4 +214,32 @@ public class Restaurant extends MoralUser {
 	}
 	
 	
+	public void addMealOfTheWeek(MyFoodora foodora, String nameOfMeal){
+		for(Meal meal : listOfMeal){
+			if(meal.getName() == nameOfMeal){
+				this.mealOfTheWeek.setMeal(meal);
+			}
+		}
+		for(Customer c : foodora.getListCustomer().getList()){
+			if(c.isSpamAgree()){
+				this.mealOfTheWeek.attachObserver(c);
+			}
+		}
+		this.mealOfTheWeek.setInterests(this);
+	}
+	
+	public void removeMealOfTheWeek(MyFoodora foodora){
+		this.mealOfTheWeek = new MealOfTheWeek(null);
+	}
+
+	public MealOfTheWeek getMealOfTheWeek() {
+		return mealOfTheWeek;
+	}
+
+	public void setMealOfTheWeek(MealOfTheWeek mealOfTheWeek) {
+		this.mealOfTheWeek = mealOfTheWeek;
+	}
+	
+	
+	
 }
diff --git a/src/UserFactoryPattern/FactoryUserFactory.java b/src/UserFactoryPattern/FactoryUserFactory.java
index bff96a3..b9c63a9 100644
--- a/src/UserFactoryPattern/FactoryUserFactory.java
+++ b/src/UserFactoryPattern/FactoryUserFactory.java
@@ -1,8 +1,11 @@
 package UserFactoryPattern;
 
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownTypeOfUser;
+
 public abstract class FactoryUserFactory {
 	
-	public static UserFactory createUserFactory(String typeOfUserFactory){
+	public static UserFactory createUserFactory(String typeOfUserFactory) throws ExceptionUnknownTypeOfUser {
 		if(typeOfUserFactory == "Human"){
 			HumanUserFactory humanUF = new HumanUserFactory();
 			return humanUF ;
@@ -12,8 +15,7 @@ public abstract class FactoryUserFactory {
 			return moralUF ;
 		}
 		else {
-			System.out.println("Please choose your type of User to create between Human and Moral");
-			return null;
+			throw new ExceptionUnknownTypeOfUser("Error, '"+typeOfUserFactory+"' is unkwon, try Human or Moral.");
 		}
 		
 	}
diff --git a/src/UserFactoryPattern/HumanUserFactory.java b/src/UserFactoryPattern/HumanUserFactory.java
index cc99457..082cdb0 100644
--- a/src/UserFactoryPattern/HumanUserFactory.java
+++ b/src/UserFactoryPattern/HumanUserFactory.java
@@ -2,6 +2,7 @@ package UserFactoryPattern;
 
 import Cli.Confirm;
 import Cli.Input;
+import Exception.ExceptionUnknownTypeOfUser;
 import Others.Adress;
 import User.Courier;
 import User.Customer;
@@ -15,7 +16,7 @@ public class HumanUserFactory extends UserFactory{
 	
 	@Override
 	public HumanUser createHumanUser(long phoneNumber, String name, String username, String mail, String password,
-			Adress adress, boolean activated, String birthdayDate, String surname, int typeOfUser) {
+			Adress adress, boolean activated, String birthdayDate, String surname, int typeOfUser) throws ExceptionUnknownTypeOfUser {
 		if(typeOfUser == COURIER){
 			Courier courier = new Courier(phoneNumber, name, username, mail, password,
 			adress, activated, birthdayDate, surname);
@@ -32,8 +33,7 @@ public class HumanUserFactory extends UserFactory{
 			return manager;
 		}
 		else {
-			System.out.println("Please choose your new Human User between COURIER ("+ COURIER + "), CUSTOMER ("+ CUSTOMER + ") and MANAGER ("+ MANAGER + ")");
-			return null;
+			throw new ExceptionUnknownTypeOfUser("Error, '"+typeOfUser+"' is unkwon, try Customer" + CUSTOMER +" , Courier : " + COURIER + "or Manager : " + MANAGER);
 		}
 	}
 
diff --git a/src/UserFactoryPattern/MoralUserFactory.java b/src/UserFactoryPattern/MoralUserFactory.java
index 8356ce4..e8db80b 100644
--- a/src/UserFactoryPattern/MoralUserFactory.java
+++ b/src/UserFactoryPattern/MoralUserFactory.java
@@ -1,5 +1,6 @@
 package UserFactoryPattern;
 
+import Exception.ExceptionUnknownTypeOfUser;
 import Others.Adress;
 import User.Courier;
 import User.HumanUser;
@@ -16,15 +17,14 @@ public class MoralUserFactory extends UserFactory {
 
 	@Override
 	public MoralUser createMoralUser(long phoneNumber, String name, String username, String mail, String password,
-			Adress adress, boolean activated, int typeOfUser) {
+			Adress adress, boolean activated, int typeOfUser) throws ExceptionUnknownTypeOfUser {
 		if(typeOfUser == RESTAURANT){
 			Restaurant restaurant = new Restaurant(phoneNumber, name, username, mail, password,
 			adress, activated);
 			return restaurant;
 		}
 		else {
-			System.out.println("You have to choose between : Restaurant ("+ RESTAURANT + ")");
-			return null;
+			throw new ExceptionUnknownTypeOfUser("Error, '"+typeOfUser+"' is unkwon, try Restaurant" + RESTAURANT);
 		}
 		
 	}
diff --git a/src/UserFactoryPattern/UserFactory.java b/src/UserFactoryPattern/UserFactory.java
index 9581948..452223d 100644
--- a/src/UserFactoryPattern/UserFactory.java
+++ b/src/UserFactoryPattern/UserFactory.java
@@ -7,6 +7,7 @@ import java.util.*;
 
 import javax.management.RuntimeErrorException;
 
+import Exception.ExceptionUnknownTypeOfUser;
 import Others.Adress;
 import User.HumanUser;
 import User.MoralUser;
@@ -20,9 +21,9 @@ public abstract class UserFactory {
 	public static final int MANAGER = 4;
 	
 	public abstract HumanUser createHumanUser(long phoneNumber, String name, String username, String mail, String password,
-			Adress adress, boolean activated, String birthdayDate, String surname,int typeOfUser);
+			Adress adress, boolean activated, String birthdayDate, String surname,int typeOfUser) throws ExceptionUnknownTypeOfUser;
 	public abstract MoralUser createMoralUser(long phoneNumber, String name, String username, String mail, String password,
-			Adress adress, boolean activated,int typeOfUser);
+			Adress adress, boolean activated,int typeOfUser)throws ExceptionUnknownTypeOfUser;
 
 	}
 
diff --git a/src/model.di b/src/model.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/src/model.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/src/model.notation b/src/model.notation
new file mode 100644
index 0000000..cf3b4a4
--- /dev/null
+++ b/src/model.notation
@@ -0,0 +1,2276 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_AN9ZEBVKEeeMzp7YIeMZtw" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_td6vkBVLEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_td6vkhVLEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_td6vkxVLEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_td6vlBVLEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_td6vlRVLEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_td6vlhVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_td6vlxVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_td6vmBVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_td6vmRVLEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_td6vmhVLEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_td6vmxVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_td6vnBVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_td6vnRVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_td6vnhVLEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_td6vnxVLEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_td6voBVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_td6voRVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_td6vohVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_td6voxVLEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_tdw-kBVLEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_td6vkRVLEeeMzp7YIeMZtw" x="2399" y="1088"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_3Heq0RVLEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_3Heq0xVLEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_3Heq1BVLEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_3Heq1RVLEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_3Heq1hVLEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3Heq1xVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_3Heq2BVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_3Heq2RVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Heq2hVLEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_3Heq2xVLEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3Heq3BVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_3Heq3RVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_3Heq3hVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Heq3xVLEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_3Heq4BVLEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3Heq4RVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_3Heq4hVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_3Heq4xVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Heq5BVLEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_3Heq0BVLEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Heq0hVLEeeMzp7YIeMZtw" x="2519" y="1090"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_7yg2kRVLEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_7yg2kxVLEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_7yg2lBVLEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_7yg2lRVLEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7yg2lhVLEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7yg2lxVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7yg2mBVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7yg2mRVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7yg2mhVLEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7yg2mxVLEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7yg2nBVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7yg2nRVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7yg2nhVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7yg2nxVLEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7yg2oBVLEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7yg2oRVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7yg2ohVLEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7yg2oxVLEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7yg2pBVLEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_7yg2kBVLEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7yg2khVLEeeMzp7YIeMZtw" x="2651" y="1080"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_0EXCoBVMEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_0EXCohVMEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_0EXCoxVMEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_0EXCpBVMEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_0EXCpRVMEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_-U5eUBVMEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_-UmjYBVMEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-U5eURVMEeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_FrX8oBVNEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_FrEaoBVNEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_FrX8oRVNEeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_OA0n0BVREeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_OAX74BVREeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OA0n0RVREeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_0EXCphVMEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_0EXCpxVMEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_0EXCqBVMEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EXCqRVMEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_0EXCqhVMEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_0EXCqxVMEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_0EXCrBVMEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_0EXCrRVMEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EXCrhVMEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_0EXCrxVMEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_0EXCsBVMEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_0EXCsRVMEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_0EXCshVMEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EXCsxVMEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_0EEHsBVMEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EXCoRVMEeeMzp7YIeMZtw" x="2503" y="934"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_4sOJIRVNEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_4sOJIxVNEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_4sOJJBVNEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_4sOJJRVNEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_4sOJJhVNEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_4sOJJxVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_4sOJKBVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_4sOJKRVNEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4sOJKhVNEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_4sOJKxVNEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_5RXoIBVOEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_5QxLMBVOEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_5RXoIRVOEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_4sOJLBVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_4sOJLRVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_4sOJLhVNEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4sOJLxVNEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_4sOJMBVNEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_4sOJMRVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_4sOJMhVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_4sOJMxVNEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4sOJNBVNEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_4sOJIBVNEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4sOJIhVNEeeMzp7YIeMZtw" x="2638" y="739" width="227"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_9zOfMRVNEeeMzp7YIeMZtw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_9zOfMxVNEeeMzp7YIeMZtw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_9zOfNBVNEeeMzp7YIeMZtw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_9zOfNRVNEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_9zOfNhVNEeeMzp7YIeMZtw" type="Interface_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9zOfNxVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_9zOfOBVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_9zOfORVNEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zOfOhVNEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_9zOfOxVNEeeMzp7YIeMZtw" type="Interface_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9zOfPBVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_9zOfPRVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_9zOfPhVNEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zOfPxVNEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_9zOfQBVNEeeMzp7YIeMZtw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9zOfQRVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_9zOfQhVNEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_9zOfQxVNEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zOfRBVNEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="model.uml#_9zOfMBVNEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zOfMhVNEeeMzp7YIeMZtw" x="2176" y="799" height="62"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QsWr8xVPEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWr9BVPEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWr9RVPEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWr9hVPEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWr9xVPEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWr-BVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWr-RVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWr-hVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWr-xVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWr_BVPEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QsWr_RVPEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QsWr8RVPEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWr_hVPEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWr_xVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsABVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsARVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsAhVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsAxVPEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsBBVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsBRVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsBhVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsBxVPEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QsWr7xVPEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsCxVPEeeMzp7YIeMZtw" x="1418" y="929" width="227"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QsWsSBVPEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWsSRVPEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWsShVPEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWsSxVPEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsTBVPEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsTRVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsThVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsTxVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsUBVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsURVPEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsUhVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsUxVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsVBVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsVRVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsVhVPEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsVxVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsWBVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsWRVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsWhVPEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QsWr4xVPEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsXhVPEeeMzp7YIeMZtw" x="1983" y="1091"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QsWsXxVPEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWsYBVPEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWsYRVPEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWsYhVPEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsYxVPEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsZBVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsZRVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsZhVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsZxVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsaBVPEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsaRVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsahVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsaxVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsbBVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsbRVPEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsbhVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsbxVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWscBVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWscRVPEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QsWr4RVPEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsdRVPEeeMzp7YIeMZtw" x="1732" y="1088"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QsWslBVPEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWslRVPEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWslhVPEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWslxVPEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsmBVPEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QsWsmRVPEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QsWr7RVPEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWsmhVPEeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_SCRggBVQEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_SBh5oBVQEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_SCRggRVQEeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_bQ1FUBVREeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_bQOoYBVREeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bQ1FURVREeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsnRVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsnhVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsnxVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsoBVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsoRVPEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_uK47kBVREeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_uKTFsBVREeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uK47kRVREeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWsohVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsoxVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWspBVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWspRVPEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QsWsphVPEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QsWspxVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QsWsqBVPEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QsWsqRVPEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsqhVPEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QsWr7BVPEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsWsrhVPEeeMzp7YIeMZtw" x="1826" y="930"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_D3T2oBVQEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_D3T2ohVQEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_D3T2oxVQEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_D3T2pBVQEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_D3T2pRVQEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_D3T2phVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_D3T2pxVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_D3T2qBVQEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D3T2qRVQEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_D3T2qhVQEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_D3T2qxVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_D3T2rBVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_D3T2rRVQEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D3T2rhVQEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_D3T2rxVQEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_D3T2sBVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_D3T2sRVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_D3T2shVQEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D3T2sxVQEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_D3KFoBVQEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D3T2oRVQEeeMzp7YIeMZtw" x="1783" y="835" height="29"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_-j608RVQEeeMzp7YIeMZtw" type="Enumeration_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_-j608xVQEeeMzp7YIeMZtw" type="Enumeration_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_-j609BVQEeeMzp7YIeMZtw" type="Enumeration_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_-j609RVQEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_-j609hVQEeeMzp7YIeMZtw" type="Enumeration_LiteralCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_-j609xVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_-j60-BVQEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_-j60-RVQEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-j60-hVQEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Enumeration" href="model.uml#_-j608BVQEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-j608hVQEeeMzp7YIeMZtw" x="2184" y="965" height="58"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_31XnYRVSEeeMzp7YIeMZtw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_31XnYxVSEeeMzp7YIeMZtw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_31XnZBVSEeeMzp7YIeMZtw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_31XnZRVSEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_31XnZhVSEeeMzp7YIeMZtw" type="Interface_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_31XnZxVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_31XnaBVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_31XnaRVSEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_31XnahVSEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_31XnaxVSEeeMzp7YIeMZtw" type="Interface_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_31XnbBVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_31XnbRVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_31XnbhVSEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_31XnbxVSEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_31XncBVSEeeMzp7YIeMZtw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_31XncRVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_31XnchVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_31XncxVSEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_31XndBVSEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="model.uml#_31XnYBVSEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_31XnYhVSEeeMzp7YIeMZtw" x="2177" y="744" height="52"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_6giNIBVSEeeMzp7YIeMZtw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_6giNIhVSEeeMzp7YIeMZtw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_6giNIxVSEeeMzp7YIeMZtw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_6giNJBVSEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6giNJRVSEeeMzp7YIeMZtw" type="Interface_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U78U8BVTEeeMzp7YIeMZtw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U78U8RVTEeeMzp7YIeMZtw" key="collapsed" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6giNJhVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_6giNJxVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_6giNKBVSEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6giNKRVSEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6giNKhVSEeeMzp7YIeMZtw" type="Interface_OperationCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VJeaoBVTEeeMzp7YIeMZtw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VJeaoRVTEeeMzp7YIeMZtw" key="collapsed" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_ETBa4BVTEeeMzp7YIeMZtw" type="Operation_InterfaceOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_ESR0ABVTEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ETBa4RVTEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6giNKxVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_6giNLBVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_6giNLRVSEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6giNLhVSEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6giNLxVSEeeMzp7YIeMZtw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6giNMBVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_6giNMRVSEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_6giNMhVSEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6giNMxVSEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="model.uml#_6gYcIBVSEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6giNIRVSEeeMzp7YIeMZtw" x="2175" y="864" width="100" height="67"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_qOaNARVTEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_qOaNAxVTEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_qOjW8BVTEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_qOjW8RVTEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_qOjW8hVTEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_hxRLIBVfEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_hwhkQBVfEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hxRLIRVfEeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_xW6N0BVgEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_xVpCgBVgEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_xW6N0RVgEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qOjW8xVTEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_qOjW9BVTEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_qOjW9RVTEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qOjW9hVTEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_qOjW9xVTEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qOjW-BVTEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_qOjW-RVTEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_qOjW-hVTEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qOjW-xVTEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_qOjW_BVTEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qOjW_RVTEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_qOjW_hVTEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_qOjW_xVTEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qOjXABVTEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_qOaNABVTEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qOaNAhVTEeeMzp7YIeMZtw" x="2185" y="1100"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_o3hKMBVhEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_o3iYUBVhEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_o3iYURVhEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_o3iYUhVhEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_o3iYUxVhEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_o3iYVBVhEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_o3iYVRVhEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_o3iYVhVhEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o3iYVxVhEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_o3iYWBVhEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_xEQiIBVhEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_xDYYYBVhEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_xEQiIRVhEeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_6AI4ABVhEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_5_YDABVhEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_6AI4ARVhEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_o3iYWRVhEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_o3iYWhVhEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_o3iYWxVhEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o3iYXBVhEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_o3iYXRVhEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_o3iYXhVhEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_o3iYXxVhEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_o3iYYBVhEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o3iYYRVhEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_o3bDkBVhEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o3hKMRVhEeeMzp7YIeMZtw" x="2159" y="652" height="87"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_T_A7MBVqEeeMzp7YIeMZtw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_T_A7MhVqEeeMzp7YIeMZtw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_T_A7MxVqEeeMzp7YIeMZtw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_T_A7NBVqEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_T_A7NRVqEeeMzp7YIeMZtw" type="Interface_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_T_A7NhVqEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_T_A7NxVqEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_T_A7OBVqEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T_A7ORVqEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_T_A7OhVqEeeMzp7YIeMZtw" type="Interface_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_aBtdcBVqEeeMzp7YIeMZtw" type="Operation_InterfaceOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_aBVC8BVqEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_aBtdcRVqEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_T_A7OxVqEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_T_A7PBVqEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_T_A7PRVqEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T_A7PhVqEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_T_A7PxVqEeeMzp7YIeMZtw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_T_A7QBVqEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_T_A7QRVqEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_T_A7QhVqEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T_A7QxVqEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="model.uml#_T-934BVqEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T_A7MRVqEeeMzp7YIeMZtw" x="2306" y="1253"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_wWO9gBVsEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_wWO9ghVsEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_wWO9gxVsEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_wWO9hBVsEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_wWO9hRVsEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wWO9hhVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_wWO9hxVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_wWO9iBVsEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wWO9iRVsEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_wWO9ihVsEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_zWxWUBVsEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_zWDkoBVsEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zWxWURVsEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wWO9ixVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_wWO9jBVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_wWO9jRVsEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wWO9jhVsEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_wWO9jxVsEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wWO9kBVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_wWO9kRVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_wWO9khVsEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wWO9kxVsEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_wWBiIBVsEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wWO9gRVsEeeMzp7YIeMZtw" x="2216" y="1415"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_15nGgRVsEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_15nGgxVsEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_15nGhBVsEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_15nGhRVsEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_15nGhhVsEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_15nGhxVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_15nGiBVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_15nGiRVsEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_15nGihVsEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_15nGixVsEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_6hM8sBVsEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_6gpjEBVsEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_6hM8sRVsEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_15nGjBVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_15nGjRVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_15nGjhVsEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_15nGjxVsEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_15nGkBVsEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_15nGkRVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_15nGkhVsEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_15nGkxVsEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_15nGlBVsEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_15nGgBVsEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_15nGghVsEeeMzp7YIeMZtw" x="2371" y="1415"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_TQvYkBVtEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_TQvYkhVtEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_TQvYkxVtEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_TQvYlBVtEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_TQvYlRVtEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_Fmv4UBVuEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_Fl5jwBVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Fmv4URVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_TQvYlhVtEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_TQvYlxVtEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_TQvYmBVtEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TQvYmRVtEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_TQxNwBVtEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_BYH7wBVuEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_BXlJMBVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BYH7wRVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_TQxNwRVtEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_TQxNwhVtEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_TQxNwxVtEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TQxNxBVtEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_TQxNxRVtEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_TQxNxhVtEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_TQxNxxVtEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_TQxNyBVtEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TQxNyRVtEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_TQsVQBVtEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TQvYkRVtEeeMzp7YIeMZtw" x="2611" y="1310"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_trQ6MRVuEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_trQ6MhVuEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trQ6MxVuEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trQ6NBVuEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trQ6NRVuEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trQ6NhVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trQ6NxVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trQ6OBVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trQ6ORVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trQ6OhVuEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_trQ6OxVuEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_trQ6JRVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_trQ6PBVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trQ6PRVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trQ6PhVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trQ6PxVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trQ6QBVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trQ6QRVuEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trQ6QhVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trQ6QxVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trQ6RBVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trQ6RRVuEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_trQ6JBVuEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trQ6SRVuEeeMzp7YIeMZtw" x="2956" y="1271"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_trRhOxVuEeeMzp7YIeMZtw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhPBVuEeeMzp7YIeMZtw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhPRVuEeeMzp7YIeMZtw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhPhVuEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhPxVuEeeMzp7YIeMZtw" type="Interface_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhQBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhQRVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhQhVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhQxVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhRBVuEeeMzp7YIeMZtw" type="Interface_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_trRhRRVuEeeMzp7YIeMZtw" type="Operation_InterfaceOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_trQTGBVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhRhVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhRxVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhSBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhSRVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhShVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhSxVuEeeMzp7YIeMZtw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhTBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhTRVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhThVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhTxVuEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="model.uml#_trQTFxVuEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhUxVuEeeMzp7YIeMZtw" x="3046" y="1109"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_trRhaxVuEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhbBVuEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhbRVuEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhbhVuEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhbxVuEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhcBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhcRVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhchVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhcxVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhdBVuEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_trRhdRVuEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_trQTFhVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhdhVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhdxVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRheBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRheRVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhehVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhexVuEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhfBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhfRVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhfhVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhfxVuEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_trQTFRVuEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhgxVuEeeMzp7YIeMZtw" x="3139" y="1275"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_trRhhBVuEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhhRVuEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhhhVuEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhhxVuEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhiBVuEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_trRhiRVuEeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_trQTERVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhihVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhixVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhjBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhjRVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhjhVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhjxVuEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_trRhkBVuEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_trQTExVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhkRVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhkhVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhkxVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhlBVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhlRVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_trRhlhVuEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_trRhlxVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_trRhmBVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_trRhmRVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhmhVuEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_trQTEBVuEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_trRhnhVuEeeMzp7YIeMZtw" x="2838" y="959"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_7uQ60BVuEeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_7uQ60RVuEeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_7uQ60hVuEeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_7uQ60xVuEeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7uQ61BVuEeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7uQ61RVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7uQ61hVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7uQ61xVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uQ62BVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7uQ62RVuEeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_7uQ62hVuEeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_7uPssRVuEeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_7uQ62xVuEeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7uQ63BVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7uQ63RVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7uQ63hVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uQ63xVuEeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_7uQ64BVuEeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7uQ64RVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_7uQ64hVuEeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_7uQ64xVuEeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uQ65BVuEeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_7uPssBVuEeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uQ66BVuEeeMzp7YIeMZtw" x="2841" y="1127"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_OgQLcBV1EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_OgQLchV1EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_OgQLcxV1EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_OgQLdBV1EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_OgQLdRV1EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_SBongBV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_SBA8cBV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_SBongRV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_VfZH0BV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_Ve1uMBV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_VfZH0RV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_agXHUBV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_afrK0BV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_agXHURV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_hKpOABV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_hKSosBV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hKpOARV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_hka_8BV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_hkFowBV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hka_8RV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_hlW0EBV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_hk8kYBV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hlW0ERV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_uwAQcBV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_uvbosBV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uwAQcRV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_1l2t8BV1EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_1lKKYBV1EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1l2t8RV1EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_ARw3ABV2EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_AQ-M0BV2EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ARw3ARV2EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_JGnX0BV2EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_JFxqUBV2EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JGnX0RV2EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_OgQLdhV1EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_OgQLdxV1EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_OgQLeBV1EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OgQLeRV1EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_OgSAoBV1EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_avHfkBV2EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_auaU8BV2EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_avHfkRV2EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_OgSAoRV1EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_OgSAohV1EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_OgSAoxV1EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OgSApBV1EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_OgSApRV1EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_OgSAphV1EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_OgSApxV1EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_OgSAqBV1EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OgSAqRV1EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_OgNIIBV1EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OgQLcRV1EeeMzp7YIeMZtw" x="990" y="834"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxSq4xV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxSq5BV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxSq5RV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxSq5hV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxSq5xV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxSq6BV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxSq6RV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxSq6hV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSq6xV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxSq7BV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxSq7RV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxSq7hV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxSq7xV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSq8BV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxSq8RV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxSq8hV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxSq8xV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxSq9BV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSq9RV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQ1sBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSq-RV-EeeMzp7YIeMZtw" x="670" y="398" width="177" height="176"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxSq-hV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxSq-xV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxSq_BV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxSq_RV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxSq_hV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxSq_xV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQ1thV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxSrABV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxSrARV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQ1txV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxSrAhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxSrAxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxSrBBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxSrBRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSrBhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxSrBxV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxSrCBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxSrCRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxSrChV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSrCxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxSrDBV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxSrDRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxSrDhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxSrDxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSrEBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQ1tRV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxSrFBV-EeeMzp7YIeMZtw" x="1702" y="198"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxTR8BV-EeeMzp7YIeMZtw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTR8RV-EeeMzp7YIeMZtw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTR8hV-EeeMzp7YIeMZtw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTR8xV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTR9BV-EeeMzp7YIeMZtw" type="Interface_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTR9RV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTR9hV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTR9xV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTR-BV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTR-RV-EeeMzp7YIeMZtw" type="Interface_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxTR-hV-EeeMzp7YIeMZtw" type="Operation_InterfaceOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxRcxhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTR-xV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxTR_BV-EeeMzp7YIeMZtw" type="Operation_InterfaceOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxRcxxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTR_RV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxTR_hV-EeeMzp7YIeMZtw" type="Operation_InterfaceOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxRcyBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTR_xV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSABV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSARV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSAhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSAxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSBBV-EeeMzp7YIeMZtw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSBRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSBhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSBxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSCBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="model.uml#_QxRcxRV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSDBV-EeeMzp7YIeMZtw" x="557" y="1010" width="140" height="131"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxTSIRV-EeeMzp7YIeMZtw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSIhV-EeeMzp7YIeMZtw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSIxV-EeeMzp7YIeMZtw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSJBV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSJRV-EeeMzp7YIeMZtw" type="Interface_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSJhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSJxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSKBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSKRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSKhV-EeeMzp7YIeMZtw" type="Interface_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxTSKxV-EeeMzp7YIeMZtw" type="Operation_InterfaceOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxPnkhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSLBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSLRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSLhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSLxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSMBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSMRV-EeeMzp7YIeMZtw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSMhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSMxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSNBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSNRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="model.uml#_QxPnkBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSORV-EeeMzp7YIeMZtw" x="215" y="995" width="139" height="145"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxTSQxV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSRBV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSRRV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSRhV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSRxV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxTSSBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPnmRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSSRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSShV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSSxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSTBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSTRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSThV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSTxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSUBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSURV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSUhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSUxV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSVBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSVRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSVhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSVxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxPnmBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSWxV-EeeMzp7YIeMZtw" x="920" y="357"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxTSXBV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSXRV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSXhV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSXxV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSYBV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxTSYRV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOthV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSYhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSYxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSZBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSZRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSZhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSZxV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSaBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSaRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSahV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSaxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxTSbBV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxTSbRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxTSbhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxTSbxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTScBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQOtRV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxTSdBV-EeeMzp7YIeMZtw" x="1273" y="413" width="240" height="199"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxT5HhV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5HxV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5IBV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5IRV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5IhV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxT5IxV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxSD3RV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5JBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5JRV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxSD3hV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5JhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5JxV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxSD3xV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5KBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5KRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5KhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5KxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5LBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5LRV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxT5LhV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD4BV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5LxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5MBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD4RV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5MRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5MhV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD4hV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5MxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5NBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD4xV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5NRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5NhV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD5BV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5NxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5OBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD5RV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5ORV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5OhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5OxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5PBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5PRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5PhV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5PxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5QBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5QRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5QhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxSD2xV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5RhV-EeeMzp7YIeMZtw" x="442" y="603" width="189" height="249"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxT5TxV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5UBV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5URV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5UhV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5UxV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxT5VBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAhRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5VRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5VhV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAhhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5VxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5WBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5WRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5WhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5WxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5XBV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5XRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5XhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5XxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5YBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5YRV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5YhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5YxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5ZBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5ZRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5ZhV-EeeMzp7YIeMZtw" type="compartment_shape_display">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5ZxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5aBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxPAhBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5aRV-EeeMzp7YIeMZtw" x="166" y="403" width="196" height="173"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxT5ahV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5axV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5bBV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5bRV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5bhV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5bxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5cBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5cRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5chV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5cxV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5dBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5dRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5dhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5dxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5eBV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5eRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5ehV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5exV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5fBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQOrxV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5gBV-EeeMzp7YIeMZtw" x="1115" y="676"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxT5gRV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5ghV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5gxV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5hBV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5hRV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5hhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5hxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5iBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5iRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5ihV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxT5ixV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSq4hV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5jBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5jRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5jhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5jxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5kBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5kRV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5khV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5kxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5lBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5lRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxSq4BV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5mRV-EeeMzp7YIeMZtw" x="868" y="36" width="208" height="196"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxT5mhV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5mxV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5nBV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5nRV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5nhV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxT5nxV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOoRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5oBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxT5oRV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOohV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5ohV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5oxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5pBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5pRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5phV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5pxV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5qBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5qRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5qhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5qxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxT5rBV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxT5rRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxT5rhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxT5rxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5sBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQOoBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxT5tBV-EeeMzp7YIeMZtw" x="1551" y="201"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxUgERV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgEhV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgExV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgFBV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgFRV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxUgFhV-EeeMzp7YIeMZtw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxUgFxV-EeeMzp7YIeMZtw" key="collapsed" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgGBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAiRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgGRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgGhV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAihV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgGxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgHBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAixV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgHRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgHhV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAjRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgHxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgIBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAjhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgIRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgIhV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAkBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgIxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgJBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAjBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgJRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgJhV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAjxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgJxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgKBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgKRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgKhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgKxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgLBV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxUgLRV-EeeMzp7YIeMZtw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxUgLhV-EeeMzp7YIeMZtw" key="collapsed" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgLxV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxPAkRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgMBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgMRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgMhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgMxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgNBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgNRV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgNhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgNxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgOBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgORV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxPAiBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgPRV-EeeMzp7YIeMZtw" x="378" y="15" width="204" height="303"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxUgRxV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgSBV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgSRV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgShV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgSxV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxUgTBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOshV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgTRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgThV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOsxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgTxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgUBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOtBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgURV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgUhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgUxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgVBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgVRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgVhV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgVxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgWBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgWRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgWhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgWxV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgXBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgXRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgXhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgXxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQOsRV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgYxV-EeeMzp7YIeMZtw" x="1344" y="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxUgZBV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgZRV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgZhV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgZxV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgaBV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxUgaRV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxSD1RV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgahV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgaxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgbBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgbRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgbhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgbxV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxUgcBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD1hV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgcRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgchV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD1xV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgcxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgdBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD2BV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgdRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgdhV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD2RV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgdxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgeBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxSD2hV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgeRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgehV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgexV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgfBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgfRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgfhV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgfxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUggBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUggRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgghV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxSD0xV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUghhV-EeeMzp7YIeMZtw" x="691" y="683" width="161" height="167"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxUgnhV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgnxV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgoBV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgoRV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgohV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxUgoxV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOpRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgpBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgpRV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOphV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgphV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgpxV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQOpxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgqBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgqRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgqhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgqxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgrBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgrRV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxUgrhV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQOqBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgrxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgsBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQOqRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgsRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgshV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQOqhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgsxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgtBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQOqxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgtRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUgthV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQOrBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgtxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUguBV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQOrRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUguRV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxUguhV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQOrhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUguxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgvBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgvRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgvhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgvxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxUgwBV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxUgwRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxUgwhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxUgwxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgxBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQOoxV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxUgyBV-EeeMzp7YIeMZtw" x="176" y="660" width="168" height="257"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxVHMRV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHMhV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHMxV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHNBV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHNRV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxVHNhV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxQ1tBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHNxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHOBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHORV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHOhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHOxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHPBV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHPRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHPhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHPxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHQBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHQRV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHQhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHQxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHRBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHRRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQ1shV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHSRV-EeeMzp7YIeMZtw" x="1598" y="675"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxVHYRV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHYhV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHYxV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHZBV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHZRV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHZhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHZxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHaBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHaRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHahV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxVHaxV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1uhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHbBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHbRV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1vBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHbhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHbxV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1vhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHcBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHcRV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1vxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHchV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHcxV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1wBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHdBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHdRV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1wRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHdhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHdxV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1whV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHeBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHeRV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1wxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHehV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHexV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1xBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHfBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHfRV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1xRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHfhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHfxV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1xhV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHgBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHgRV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1xxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHghV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHgxV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1yBV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHhBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHhRV-EeeMzp7YIeMZtw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="model.uml#_QxQ1yRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHhhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHhxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHiBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHiRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHihV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHixV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHjBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHjRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHjhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHjxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxQ1uBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHkxV-EeeMzp7YIeMZtw" x="-69" y="660" width="177" height="412"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxVHlBV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHlRV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHlhV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHlxV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHmBV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxVHmRV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAgRV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHmhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHmxV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAghV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHnBV-EeeMzp7YIeMZtw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_QxVHnRV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPAgxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHnhV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHnxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHoBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHoRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHohV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHoxV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHpBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHpRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHphV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHpxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHqBV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHqRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHqhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHqxV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHrBV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxPAgBV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHsBV-EeeMzp7YIeMZtw" x="501" y="1216" width="151" height="141"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxVHsRV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHshV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHsxV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHtBV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHtRV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxVHthV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxSD0RV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHtxV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHuhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHuxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHvBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHvRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHvhV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHvxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHwBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHwRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHwhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVHwxV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVHxBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVHxRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVHxhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHxxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxSD0BV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVHyxV-EeeMzp7YIeMZtw" x="689" y="1216" width="136" height="136"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QxVuSxV-EeeMzp7YIeMZtw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVuTBV-EeeMzp7YIeMZtw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVuTRV-EeeMzp7YIeMZtw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVuThV-EeeMzp7YIeMZtw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVuTxV-EeeMzp7YIeMZtw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_QxVuUBV-EeeMzp7YIeMZtw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="model.uml#_QxPnlxV-EeeMzp7YIeMZtw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVuURV-EeeMzp7YIeMZtw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVuUhV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVuUxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVuVBV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVuVRV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVuVhV-EeeMzp7YIeMZtw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVuVxV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVuWBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVuWRV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVuWhV-EeeMzp7YIeMZtw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_QxVuWxV-EeeMzp7YIeMZtw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QxVuXBV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_QxVuXRV-EeeMzp7YIeMZtw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_QxVuXhV-EeeMzp7YIeMZtw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVuXxV-EeeMzp7YIeMZtw"/>
+    </children>
+    <element xmi:type="uml:Class" href="model.uml#_QxPnlRV-EeeMzp7YIeMZtw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxVuYxV-EeeMzp7YIeMZtw" x="1309" y="673"/>
+  </children>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_AN9ZERVKEeeMzp7YIeMZtw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_AN9ZEhVKEeeMzp7YIeMZtw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_AN9ZExVKEeeMzp7YIeMZtw">
+    <owner xmi:type="uml:Model" href="model.uml#_oX-IkBPOEeeugOD0sSUlEg"/>
+  </styles>
+  <element xmi:type="uml:Model" href="model.uml#_oX-IkBPOEeeugOD0sSUlEg"/>
+  <edges xmi:type="notation:Connector" xmi:id="_d3PDsBVNEeeMzp7YIeMZtw" type="Generalization_Edge" source="_td6vkBVLEeeMzp7YIeMZtw" target="_0EXCoBVMEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_d3PDsxVNEeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QfG6EBVPEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_d3PDtBVNEeeMzp7YIeMZtw" x="1" y="38"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_d3PDsRVNEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_d28IwBVNEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_d3PDshVNEeeMzp7YIeMZtw" points="[1619, 526, -643984, -643984]$[1652, 462, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eIzU0BVNEeeMzp7YIeMZtw" id="(0.63,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eIzU0RVNEeeMzp7YIeMZtw" id="(0.0,0.7734375)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_g_M6MBVNEeeMzp7YIeMZtw" type="Generalization_Edge" source="_3Heq0RVLEeeMzp7YIeMZtw" target="_0EXCoBVMEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_g_M6MxVNEeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QfjmABVPEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_g_M6NBVNEeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_g_M6MRVNEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_g-wOQBVNEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_g_M6MhVNEeeMzp7YIeMZtw" points="[1714, 531, -643984, -643984]$[1711, 487, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g_o_EBVNEeeMzp7YIeMZtw" id="(0.46,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g_o_ERVNEeeMzp7YIeMZtw" id="(0.45925925925925926,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_iOWN4BVNEeeMzp7YIeMZtw" type="Generalization_Edge" source="_7yg2kRVLEeeMzp7YIeMZtw" target="_0EXCoBVMEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_iOWN4xVNEeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Qgc94BVPEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_iOWN5BVNEeeMzp7YIeMZtw" x="-1" y="38"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_iOWN4RVNEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_iN5h8BVNEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iOWN4hVNEeeMzp7YIeMZtw" points="[1832, 495, -643984, -643984]$[1787, 464, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iOy50BVNEeeMzp7YIeMZtw" id="(0.45,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iOy50RVNEeeMzp7YIeMZtw" id="(1.0,0.7890625)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_AhSn8RVOEeeMzp7YIeMZtw" type="Dependency_Edge" source="_0EXCoBVMEeeMzp7YIeMZtw" target="_9zOfMRVNEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Ahbx4BVOEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Qf2g8BVPEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Ahbx4RVOEeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Ahbx4hVOEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QgTM4BVPEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Ahbx4xVOEeeMzp7YIeMZtw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_AhSn8hVOEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_AhSn8BVOEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AhSn8xVOEeeMzp7YIeMZtw" points="[1709, 375, -643984, -643984]$[1709, 347, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AiLYwBVOEeeMzp7YIeMZtw" id="(0.12574850299401197,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AiLYwRVOEeeMzp7YIeMZtw" id="(1.0,0.5967741935483871)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Gn1vcBVOEeeMzp7YIeMZtw" type="Association_Edge" source="_4sOJIRVNEeeMzp7YIeMZtw" target="_0EXCoBVMEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Gn1vcxVOEeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3yl9ABVOEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn1vdBVOEeeMzp7YIeMZtw" x="1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Gn1vdRVOEeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3zCo8BVOEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn1vdhVOEeeMzp7YIeMZtw" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Gn1vdxVOEeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3zMZ8BVOEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn1veBVOEeeMzp7YIeMZtw" x="-5" y="21"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Gn1veRVOEeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3zVj4BVOEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn1vehVOEeeMzp7YIeMZtw" x="-56" y="11"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Gn1vexVOEeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3zfU4BVOEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn1vfBVOEeeMzp7YIeMZtw" x="43" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Gn1vfRVOEeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3zpF4BVOEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn1vfhVOEeeMzp7YIeMZtw" x="-43" y="-18"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Gn1vcRVOEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_GXLdQBVOEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Gn1vchVOEeeMzp7YIeMZtw" points="[1384, 534, -643984, -643984]$[1652, 413, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GpLzQBVOEeeMzp7YIeMZtw" id="(0.22026431718061673,0.98)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GpLzQRVOEeeMzp7YIeMZtw" id="(0.844311377245509,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QsWsKhVPEeeMzp7YIeMZtw" type="Generalization_Edge" source="_QsWsSBVPEeeMzp7YIeMZtw" target="_QsWslBVPEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWsKxVPEeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_S0VFABVPEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWsLBVPEeeMzp7YIeMZtw" y="39"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QsWsLRVPEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QsWr5BVPEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QsWsLhVPEeeMzp7YIeMZtw" points="[1027, 517, -643984, -643984]$[1024, 473, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QsWsLxVPEeeMzp7YIeMZtw" id="(0.46,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QsWsMBVPEeeMzp7YIeMZtw" id="(0.9880952380952381,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QsWsdhVPEeeMzp7YIeMZtw" type="Generalization_Edge" source="_QsWsXxVPEeeMzp7YIeMZtw" target="_QsWslBVPEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QsWsdxVPEeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_S1Oc4BVPEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QsWseBVPEeeMzp7YIeMZtw" y="39"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QsWseRVPEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QsWr4hVPEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QsWsehVPEeeMzp7YIeMZtw" points="[932, 512, -643984, -643984]$[965, 448, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QsWsexVPEeeMzp7YIeMZtw" id="(0.62,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QsWsfBVPEeeMzp7YIeMZtw" id="(0.0,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jbedcRVPEeeMzp7YIeMZtw" type="Dependency_Edge" source="_QsWslBVPEeeMzp7YIeMZtw" target="_9zOfMRVNEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jbeddBVPEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_S_kH0BVTEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jbeddRVPEeeMzp7YIeMZtw" x="-1" y="39"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jbeddhVPEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_S_3CwBVTEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jbeddxVPEeeMzp7YIeMZtw" x="-1" y="59"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_jbedchVPEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_jbedcBVPEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jbedcxVPEeeMzp7YIeMZtw" points="[1019, 371, -643984, -643984]$[1324, 295, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jcg_QBVPEeeMzp7YIeMZtw" id="(0.5515151515151515,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jcg_QRVPEeeMzp7YIeMZtw" id="(0.0,0.5967741935483871)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_YErngBVTEeeMzp7YIeMZtw" type="Dependency_Edge" source="_QsWslBVPEeeMzp7YIeMZtw" target="_6giNIBVSEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_YErngxVTEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RZHmEBVhEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_YErnhBVTEeeMzp7YIeMZtw" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_YErnhRVTEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RZ4bEBVhEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_YErnhhVTEeeMzp7YIeMZtw" y="59"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_YErngRVTEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_YEh2gBVTEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YErnghVTEeeMzp7YIeMZtw" points="[1143, 420, -643984, -643984]$[1324, 320, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YFuJUBVTEeeMzp7YIeMZtw" id="(1.0,0.07407407407407407)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YFuJURVTEeeMzp7YIeMZtw" id="(0.0,0.22388059701492538)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_a_WB0BVTEeeMzp7YIeMZtw" type="Dependency_Edge" source="_0EXCoBVMEeeMzp7YIeMZtw" target="_6giNIBVSEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_a_WB0xVTEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RbbTMBVhEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_a_WB1BVTEeeMzp7YIeMZtw" x="-1" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_a_WB1RVTEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RbsY8BVhEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_a_WB1hVTEeeMzp7YIeMZtw" x="-1" y="58"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_a_WB0RVTEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_a_MQ0BVTEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a_WB0hVTEeeMzp7YIeMZtw" points="[1652, 405, -643984, -643984]$[1424, 326, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bAFosBVTEeeMzp7YIeMZtw" id="(0.0,0.15625)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bAFosRVTEeeMzp7YIeMZtw" id="(1.0,0.31343283582089554)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_tsxKQRVTEeeMzp7YIeMZtw" type="Dependency_Edge" source="_qOaNARVTEeeMzp7YIeMZtw" target="_QsWslBVPEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_tsxKRBVTEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RaeQ8BVhEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_tsxKRRVTEeeMzp7YIeMZtw" x="1" y="39"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_tsxKRhVTEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Ra8yEBVhEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_tsxKRxVTEeeMzp7YIeMZtw" x="-1" y="58"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_tsxKQhVTEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_tsxKQBVTEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tsxKQxVTEeeMzp7YIeMZtw" points="[1379, 541, -643984, -643984]$[1143, 468, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ttqiIBVTEeeMzp7YIeMZtw" id="(0.45,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ttqiIRVTEeeMzp7YIeMZtw" id="(1.0,0.7185185185185186)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_aeMUMBVhEeeMzp7YIeMZtw" type="Dependency_Edge" source="_QsWr8xVPEeeMzp7YIeMZtw" target="_QsWslBVPEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_aeMUMxVhEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QNbI0BV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_aeMUNBVhEeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_aeMUNRVhEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QN6RABV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_aeMUNhVhEeeMzp7YIeMZtw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_aeMUMRVhEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_aeJQ4BVhEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aeMUMhVhEeeMzp7YIeMZtw" points="[843, 524, -643984, -643984]$[1024, 524, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_afLLoBVhEeeMzp7YIeMZtw" id="(0.9955947136563876,0.51)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_afLLoRVhEeeMzp7YIeMZtw" id="(0.0,0.37037037037037035)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_8dGJABVpEeeMzp7YIeMZtw" type="Association_Edge" source="_QsWslBVPEeeMzp7YIeMZtw" target="_o3hKMBVhEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_8dGJAxVpEeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QK6AUBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8dGJBBVpEeeMzp7YIeMZtw" x="-2" y="-17"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8dGJBRVpEeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QLVeIBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8dGJBhVpEeeMzp7YIeMZtw" x="1" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8dGJBxVpEeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QL3poBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8dGJCBVpEeeMzp7YIeMZtw" x="216" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8dGJCRVpEeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QMQrMBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8dGJChVpEeeMzp7YIeMZtw" x="-216" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8dGJCxVpEeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QMmpcBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8dGJDBVpEeeMzp7YIeMZtw" x="214" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8dGJDRVpEeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QM8AoBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8dGJDhVpEeeMzp7YIeMZtw" x="-215" y="-17"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_8dGJARVpEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_8clysBVpEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8dGJAhVpEeeMzp7YIeMZtw" points="[1083, 449, -643984, -643984]$[1357, 213, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8dl4QBVpEeeMzp7YIeMZtw" id="(0.3575757575757576,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8dl4QRVpEeeMzp7YIeMZtw" id="(0.0,0.4827586206896552)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_IM27wBVqEeeMzp7YIeMZtw" type="Association_Edge" source="_0EXCoBVMEeeMzp7YIeMZtw" target="_o3hKMBVhEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_IM4w8BVqEeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JeN18BVqEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_IM4w8RVqEeeMzp7YIeMZtw" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_IM4w8hVqEeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JeuMQBVqEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_IM4w8xVqEeeMzp7YIeMZtw" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_IM4w9BVqEeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Je-q8BVqEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_IM4w9RVqEeeMzp7YIeMZtw" x="56" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_IM4w9hVqEeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JfN7gBVqEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_IM4w9xVqEeeMzp7YIeMZtw" x="-56" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_IM4w-BVqEeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JfdMEBVqEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_IM4w-RVqEeeMzp7YIeMZtw" x="56" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_IM4w-hVqEeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Jf1mkBVqEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_IM4w-xVqEeeMzp7YIeMZtw" x="-56" y="-18"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_IM27wRVqEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_IMUJMBVqEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IM27whVqEeeMzp7YIeMZtw" points="[1735, 454, -643984, -643984]$[1512, 209, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_INbjgBVqEeeMzp7YIeMZtw" id="(0.3652694610778443,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_INbjgRVqEeeMzp7YIeMZtw" id="(1.0,0.42528735632183906)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_CBI5ABVtEeeMzp7YIeMZtw" type="Dependency_Edge" source="_15nGgRVsEeeMzp7YIeMZtw" target="_T_A7MBVqEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_CBKuMBVtEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ppUHoBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_CBKuMRVtEeeMzp7YIeMZtw" x="-1" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_CBKuMhVtEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ppqF4BVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_CBKuMxVtEeeMzp7YIeMZtw" y="59"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_CBI5ARVtEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_CBHq4BVtEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CBI5AhVtEeeMzp7YIeMZtw" points="[1924, 843, -643984, -643984]$[1890, 792, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CB8xUBVtEeeMzp7YIeMZtw" id="(0.30985915492957744,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CB8xURVtEeeMzp7YIeMZtw" id="(0.5434782608695652,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_PdCdcBVtEeeMzp7YIeMZtw" type="Dependency_Edge" source="_wWO9gBVsEeeMzp7YIeMZtw" target="_T_A7MBVqEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_PdDrkBVtEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pp7ysBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_PdDrkRVtEeeMzp7YIeMZtw" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_PdDrkhVtEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pqPUsBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_PdDrkxVtEeeMzp7YIeMZtw" y="58"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_PdCdcRVtEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_Pc_aIBVtEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PdCdchVtEeeMzp7YIeMZtw" points="[1789, 843, -643984, -643984]$[1815, 792, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PduZ8BVtEeeMzp7YIeMZtw" id="(0.765625,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PduZ8RVtEeeMzp7YIeMZtw" id="(0.2753623188405797,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_RM6qMBVuEeeMzp7YIeMZtw" type="Association_Edge" source="_TQvYkBVtEeeMzp7YIeMZtw" target="_T_A7MBVqEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_RM7RQBVuEeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mTnXIBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_RM7RQRVuEeeMzp7YIeMZtw" x="-1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_RM7RQhVuEeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mUBm0BVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_RM7RQxVuEeeMzp7YIeMZtw" x="-2" y="17"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_RM7RRBVuEeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mUTToBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_RM7RRRVuEeeMzp7YIeMZtw" x="117" y="-63"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_RM7RRhVuEeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mUjLQBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_RM7RRxVuEeeMzp7YIeMZtw" x="-5" y="12"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_RM7RSBVuEeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mU04EBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_RM7RSRVuEeeMzp7YIeMZtw" x="20" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_RM7RShVuEeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mVMEcBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_RM7RSxVuEeeMzp7YIeMZtw" x="-21" y="-19"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_RM6qMRVuEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_RMhooBVuEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RM6qMhVuEeeMzp7YIeMZtw" points="[2076, 810, -643984, -643984]$[1953, 739, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RNlYkBVuEeeMzp7YIeMZtw" id="(0.0,0.7087378640776699)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RNlYkRVuEeeMzp7YIeMZtw" id="(1.0,0.5225225225225225)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_trQ6JhVuEeeMzp7YIeMZtw" type="Dependency_Edge" source="_trRhaxVuEeeMzp7YIeMZtw" target="_trRhOxVuEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_trQ6JxVuEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trQ6KBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trQ6KRVuEeeMzp7YIeMZtw" x="-1" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trQ6KhVuEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trQ6KxVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trQ6LBVuEeeMzp7YIeMZtw" y="59"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_trQ6LRVuEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_trPsABVuEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_trQ6LhVuEeeMzp7YIeMZtw" points="[2289, 766, -643984, -643984]$[2255, 715, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_trQ6LxVuEeeMzp7YIeMZtw" id="(0.305,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_trQ6MBVuEeeMzp7YIeMZtw" id="(0.5408163265306123,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_trRhMBVuEeeMzp7YIeMZtw" type="Dependency_Edge" source="_trQ6MRVuEeeMzp7YIeMZtw" target="_trRhOxVuEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhMRVuEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhMhVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhMxVuEeeMzp7YIeMZtw" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhNBVuEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhNRVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhNhVuEeeMzp7YIeMZtw" y="58"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_trRhNxVuEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_trQTFBVuEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_trRhOBVuEeeMzp7YIeMZtw" points="[2154, 766, -643984, -643984]$[2180, 715, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_trRhORVuEeeMzp7YIeMZtw" id="(0.765625,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_trRhOhVuEeeMzp7YIeMZtw" id="(0.2753623188405797,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_trRhVBVuEeeMzp7YIeMZtw" type="Association_Edge" source="_trRhhBVuEeeMzp7YIeMZtw" target="_trRhOxVuEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhVRVuEeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhVhVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhVxVuEeeMzp7YIeMZtw" x="-1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhWBVuEeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhWRVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhWhVuEeeMzp7YIeMZtw" x="-2" y="17"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhWxVuEeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhXBVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhXRVuEeeMzp7YIeMZtw" x="117" y="-63"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhXhVuEeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhXxVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhYBVuEeeMzp7YIeMZtw" x="-5" y="12"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhYRVuEeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhYhVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhYxVuEeeMzp7YIeMZtw" x="20" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_trRhZBVuEeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_trRhZRVuEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_trRhZhVuEeeMzp7YIeMZtw" x="-21" y="-19"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_trRhZxVuEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_trQ6IBVuEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_trRhaBVuEeeMzp7YIeMZtw" points="[2174, 573, -643984, -643984]$[2051, 502, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_trRhaRVuEeeMzp7YIeMZtw" id="(0.8888888888888888,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_trRhahVuEeeMzp7YIeMZtw" id="(0.389937106918239,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_BMxx8RVvEeeMzp7YIeMZtw" type="Dependency_Edge" source="_7uQ60BVuEeeMzp7YIeMZtw" target="_trRhOxVuEeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_BMxx9BVvEeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_HxRkQBVwEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_BMxx9RVvEeeMzp7YIeMZtw" x="1" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_BMxx9hVvEeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Hx-u4BVwEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_BMxx9xVvEeeMzp7YIeMZtw" x="1" y="58"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_BMxx8hVvEeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_BMxx8BVvEeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BMxx8xVvEeeMzp7YIeMZtw" points="[1968, 789, -643984, -643984]$[2245, 718, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BNrw4BVvEeeMzp7YIeMZtw" id="(0.993421052631579,0.61)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BNrw4RVvEeeMzp7YIeMZtw" id="(0.0,0.5855855855855856)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxTSDRV-EeeMzp7YIeMZtw" type="Dependency_Edge" source="_QxVHlBV-EeeMzp7YIeMZtw" target="_QxTR8BV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSDhV-EeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSDxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSEBV-EeeMzp7YIeMZtw" y="39"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSERV-EeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSEhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSExV-EeeMzp7YIeMZtw" x="-1" y="58"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxTSFBV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_QxRcwBV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxTSFRV-EeeMzp7YIeMZtw" points="[519, 1169, -643984, -643984]$[519, 1092, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSFhV-EeeMzp7YIeMZtw" id="(0.44370860927152317,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSFxV-EeeMzp7YIeMZtw" id="(0.19285714285714287,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxTSGBV-EeeMzp7YIeMZtw" type="Dependency_Edge" source="_QxUgnhV-EeeMzp7YIeMZtw" target="_QxTSIRV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSGRV-EeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSGhV-EeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSGxV-EeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSHBV-EeeMzp7YIeMZtw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxTSHRV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_QxPAhxV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxTSHhV-EeeMzp7YIeMZtw" points="[291, 907, -643984, -643984]$[290, 985, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSHxV-EeeMzp7YIeMZtw" id="(0.7440476190476191,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSIBV-EeeMzp7YIeMZtw" id="(0.6115107913669064,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxTSOhV-EeeMzp7YIeMZtw" type="Dependency_Edge" source="_QxT5TxV-EeeMzp7YIeMZtw" target="_QxUgERV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSOxV-EeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSPBV-EeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSPRV-EeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSPhV-EeeMzp7YIeMZtw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxTSPxV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_QxPnkxV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxTSQBV-EeeMzp7YIeMZtw" points="[253, 393, -643984, -643984]$[368, 308, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSQRV-EeeMzp7YIeMZtw" id="(0.49489795918367346,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSQhV-EeeMzp7YIeMZtw" id="(0.0,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxTSdRV-EeeMzp7YIeMZtw" type="Generalization_Edge" source="_QxT5HhV-EeeMzp7YIeMZtw" target="_QxT5TxV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSdhV-EeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSdxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSeBV-EeeMzp7YIeMZtw" y="39"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxTSeRV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QxSD3BV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxTSehV-EeeMzp7YIeMZtw" points="[427, 677, -643984, -643984]$[352, 566, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSexV-EeeMzp7YIeMZtw" id="(0.1111111111111111,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSfBV-EeeMzp7YIeMZtw" id="(1.0,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxTSfRV-EeeMzp7YIeMZtw" type="Association_Edge" source="_QxTSQxV-EeeMzp7YIeMZtw" target="_QxUgERV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSfhV-EeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSfxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSgBV-EeeMzp7YIeMZtw" y="-19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSgRV-EeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSghV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSgxV-EeeMzp7YIeMZtw" x="-1" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTShBV-EeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTShRV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTShhV-EeeMzp7YIeMZtw" x="51" y="-19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTShxV-EeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSiBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSiRV-EeeMzp7YIeMZtw" x="-52" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSihV-EeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSixV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSjBV-EeeMzp7YIeMZtw" x="51" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSjRV-EeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSjhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSjxV-EeeMzp7YIeMZtw" x="-52" y="-18"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxTSkBV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_QxOZdBV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxTSkRV-EeeMzp7YIeMZtw" points="[903, 338, -643984, -643984]$[572, 230, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSkhV-EeeMzp7YIeMZtw" id="(0.0,0.35)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSkxV-EeeMzp7YIeMZtw" id="(1.0,0.7425742574257426)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxTSlBV-EeeMzp7YIeMZtw" type="Generalization_Edge" source="_QxT5ahV-EeeMzp7YIeMZtw" target="_QxTSXBV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSlRV-EeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSlhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSlxV-EeeMzp7YIeMZtw" x="1" y="38"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxTSmBV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QxQOsBV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxTSmRV-EeeMzp7YIeMZtw" points="[1424, 636, -643984, -643984]$[1515, 572, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSmhV-EeeMzp7YIeMZtw" id="(0.5982142857142857,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSmxV-EeeMzp7YIeMZtw" id="(0.0,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxTSnBV-EeeMzp7YIeMZtw" type="Association_Edge" source="_QxT5gRV-EeeMzp7YIeMZtw" target="_QxUgERV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSnRV-EeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSnhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSnxV-EeeMzp7YIeMZtw" x="-1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSoBV-EeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSoRV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSohV-EeeMzp7YIeMZtw" x="-2" y="17"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSoxV-EeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSpBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSpRV-EeeMzp7YIeMZtw" x="44" y="-19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSphV-EeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSpxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSqBV-EeeMzp7YIeMZtw" x="-43" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSqRV-EeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSqhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSqxV-EeeMzp7YIeMZtw" x="44" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxTSrBV-EeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxTSrRV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxTSrhV-EeeMzp7YIeMZtw" x="-43" y="-19"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxTSrxV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_QxSD5hV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxTSsBV-EeeMzp7YIeMZtw" points="[862, 51, -643984, -643984]$[572, 58, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSsRV-EeeMzp7YIeMZtw" id="(0.0,0.1683673469387755)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxTSshV-EeeMzp7YIeMZtw" id="(1.0,0.17491749174917492)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxT5ABV-EeeMzp7YIeMZtw" type="Association_Edge" source="_QxTSQxV-EeeMzp7YIeMZtw" target="_QxT5gRV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5ARV-EeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxT5AhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5AxV-EeeMzp7YIeMZtw" x="1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5BBV-EeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxT5BRV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5BhV-EeeMzp7YIeMZtw" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5BxV-EeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxT5CBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5CRV-EeeMzp7YIeMZtw" x="15" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5ChV-EeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxT5CxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5DBV-EeeMzp7YIeMZtw" x="-15" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5DRV-EeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxT5DhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5DxV-EeeMzp7YIeMZtw" x="15" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5EBV-EeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxT5ERV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5EhV-EeeMzp7YIeMZtw" x="-15" y="-18"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxT5ExV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_QxOZeBV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxT5FBV-EeeMzp7YIeMZtw" points="[935, 317, -643984, -643984]$[928, 214, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxT5FRV-EeeMzp7YIeMZtw" id="(0.23958333333333334,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxT5FhV-EeeMzp7YIeMZtw" id="(0.3173076923076923,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxT5FxV-EeeMzp7YIeMZtw" type="Generalization_Edge" source="_QxUgnhV-EeeMzp7YIeMZtw" target="_QxT5TxV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5GBV-EeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5GRV-EeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxT5GhV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QxQOpBV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxT5GxV-EeeMzp7YIeMZtw" points="[213, 650, -643984, -643984]$[217, 566, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxT5HBV-EeeMzp7YIeMZtw" id="(0.27976190476190477,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxT5HRV-EeeMzp7YIeMZtw" id="(0.3112244897959184,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxT5RxV-EeeMzp7YIeMZtw" type="Generalization_Edge" source="_QxVHYRV-EeeMzp7YIeMZtw" target="_QxT5TxV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5SBV-EeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxT5SRV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5ShV-EeeMzp7YIeMZtw" y="39"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxT5SxV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QxQ1uRV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxT5TBV-EeeMzp7YIeMZtw" points="[104, 683, -643984, -643984]$[156, 566, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxT5TRV-EeeMzp7YIeMZtw" id="(0.6101694915254238,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxT5ThV-EeeMzp7YIeMZtw" id="(0.0,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxT5tRV-EeeMzp7YIeMZtw" type="Generalization_Edge" source="_QxUgZBV-EeeMzp7YIeMZtw" target="_QxSq4xV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxT5thV-EeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxT5txV-EeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxT5uBV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QxSD1BV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxT5uRV-EeeMzp7YIeMZtw" points="[717, 673, -643984, -643984]$[717, 564, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxT5uhV-EeeMzp7YIeMZtw" id="(0.2236024844720497,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxUgEBV-EeeMzp7YIeMZtw" id="(0.3220338983050847,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxUgPhV-EeeMzp7YIeMZtw" type="Dependency_Edge" source="_QxSq4xV-EeeMzp7YIeMZtw" target="_QxUgERV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgPxV-EeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgQBV-EeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxUgQRV-EeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxUgQhV-EeeMzp7YIeMZtw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxUgQxV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_QxPnlBV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxUgRBV-EeeMzp7YIeMZtw" points="[660, 412, -643984, -643984]$[572, 308, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxUgRRV-EeeMzp7YIeMZtw" id="(0.0,0.13636363636363635)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxUgRhV-EeeMzp7YIeMZtw" id="(1.0,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxVHIBV-EeeMzp7YIeMZtw" type="Dependency_Edge" source="_QxVHsRV-EeeMzp7YIeMZtw" target="_QxTR8BV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHIRV-EeeMzp7YIeMZtw" type="Dependency_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_L2DOABWAEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHIhV-EeeMzp7YIeMZtw" x="-1" y="38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHIxV-EeeMzp7YIeMZtw" type="Dependency_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_L3NEkBWAEeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHJBV-EeeMzp7YIeMZtw" x="-1" y="57"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxVHJRV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Dependency" href="model.uml#_QxOZcxV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxVHJhV-EeeMzp7YIeMZtw" points="[716, 1196, -643984, -643984]$[632, 1108, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVHJxV-EeeMzp7YIeMZtw" id="(0.3553921568627451,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVHKBV-EeeMzp7YIeMZtw" id="(0.65,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxVHKRV-EeeMzp7YIeMZtw" type="Generalization_Edge" source="_QxVuSxV-EeeMzp7YIeMZtw" target="_QxTSXBV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHKhV-EeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHKxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHLBV-EeeMzp7YIeMZtw" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxVHLRV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QxPnlhV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxVHLhV-EeeMzp7YIeMZtw" points="[1589, 633, -643984, -643984]$[1589, 572, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVHLxV-EeeMzp7YIeMZtw" id="(0.19895287958115182,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVHMBV-EeeMzp7YIeMZtw" id="(0.30833333333333335,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxVHShV-EeeMzp7YIeMZtw" type="Association_Edge" source="_QxTSIRV-EeeMzp7YIeMZtw" target="_QxTR8BV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHSxV-EeeMzp7YIeMZtw" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHTBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHTRV-EeeMzp7YIeMZtw" x="-1" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHThV-EeeMzp7YIeMZtw" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHTxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHUBV-EeeMzp7YIeMZtw" x="1" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHURV-EeeMzp7YIeMZtw" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHUhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHUxV-EeeMzp7YIeMZtw" x="33" y="-18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHVBV-EeeMzp7YIeMZtw" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHVRV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHVhV-EeeMzp7YIeMZtw" x="-97" y="17"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHVxV-EeeMzp7YIeMZtw" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHWBV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHWRV-EeeMzp7YIeMZtw" x="35" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHWhV-EeeMzp7YIeMZtw" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHWxV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHXBV-EeeMzp7YIeMZtw" x="-13" y="3"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxVHXRV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Association" href="model.uml#_QxRcwRV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxVHXhV-EeeMzp7YIeMZtw" points="[334, 1039, -643984, -643984]$[539, 1024, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVHXxV-EeeMzp7YIeMZtw" id="(1.0,0.4298850574712644)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVHYBV-EeeMzp7YIeMZtw" id="(0.0,0.3511450381679389)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QxVHzBV-EeeMzp7YIeMZtw" type="Generalization_Edge" source="_QxVHMRV-EeeMzp7YIeMZtw" target="_QxTSXBV-EeeMzp7YIeMZtw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QxVHzRV-EeeMzp7YIeMZtw" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QxVHzhV-EeeMzp7YIeMZtw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QxVHzxV-EeeMzp7YIeMZtw" x="-1" y="38"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QxVH0BV-EeeMzp7YIeMZtw"/>
+    <element xmi:type="uml:Generalization" href="model.uml#_QxQ1sxV-EeeMzp7YIeMZtw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QxVH0RV-EeeMzp7YIeMZtw" points="[1686, 645, -643984, -643984]$[1601, 581, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVH0hV-EeeMzp7YIeMZtw" id="(0.1242603550295858,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QxVH0xV-EeeMzp7YIeMZtw" id="(1.0,1.0)"/>
+  </edges>
+</notation:Diagram>
diff --git a/src/model.uml b/src/model.uml
new file mode 100644
index 0000000..2dd5385
--- /dev/null
+++ b/src/model.uml
@@ -0,0 +1,377 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_oX-IkBPOEeeugOD0sSUlEg" name="RootElement">
+  <packagedElement xmi:type="uml:Class" xmi:id="_tdw-kBVLEeeMzp7YIeMZtw" name="Starters">
+    <generalization xmi:type="uml:Generalization" xmi:id="_d28IwBVNEeeMzp7YIeMZtw" general="_0EEHsBVMEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_3Heq0BVLEeeMzp7YIeMZtw" name="MainDishes">
+    <generalization xmi:type="uml:Generalization" xmi:id="_g-wOQBVNEeeMzp7YIeMZtw" general="_0EEHsBVMEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_7yg2kBVLEeeMzp7YIeMZtw" name="Desserts">
+    <generalization xmi:type="uml:Generalization" xmi:id="_iN5h8BVNEeeMzp7YIeMZtw" general="_0EEHsBVMEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_0EEHsBVMEeeMzp7YIeMZtw" name="Dishe">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_-UmjYBVMEeeMzp7YIeMZtw" name="Name" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_FrEaoBVNEeeMzp7YIeMZtw" name="Price" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_OAX74BVREeeMzp7YIeMZtw" name="disheType" visibility="private" type="_-j608BVQEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_IMVXUhVqEeeMzp7YIeMZtw" name="ordervisitor" type="_o3bDkBVhEeeMzp7YIeMZtw" association="_IMUJMBVqEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_4sOJIBVNEeeMzp7YIeMZtw" name="FactoryDishe">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_GnP5kBVOEeeMzp7YIeMZtw" name="dishes" type="_0EEHsBVMEeeMzp7YIeMZtw" association="_GXLdQBVOEeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_5QxLMBVOEeeMzp7YIeMZtw" name="createDishes">
+      <ownedParameter xmi:type="uml:Parameter" xmi:id="_Cxjk8BVPEeeMzp7YIeMZtw" name="dishName">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+      </ownedParameter>
+    </ownedOperation>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Interface" xmi:id="_9zOfMBVNEeeMzp7YIeMZtw" name="Item"/>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_AhSn8BVOEeeMzp7YIeMZtw" client="_oX-IkBPOEeeugOD0sSUlEg" supplier="_9zOfMBVNEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Association" xmi:id="_GXLdQBVOEeeMzp7YIeMZtw" memberEnd="_GnP5kBVOEeeMzp7YIeMZtw _GnZDgBVOEeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GXLdQRVOEeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GXLdQhVOEeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_GnZDgBVOEeeMzp7YIeMZtw" name="factorydishes" type="_4sOJIBVNEeeMzp7YIeMZtw" association="_GXLdQBVOEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QsWr4RVPEeeMzp7YIeMZtw" name="FullMeal">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QsWr4hVPEeeMzp7YIeMZtw" general="_QsWr7BVPEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QsWr4xVPEeeMzp7YIeMZtw" name="HalfMeal">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QsWr5BVPEeeMzp7YIeMZtw" general="_QsWr7BVPEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QsWr7BVPEeeMzp7YIeMZtw" name="Meal">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QsWr7RVPEeeMzp7YIeMZtw" name="name" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_SBh5oBVQEeeMzp7YIeMZtw" name="meal" visibility="private" type="_D3KFoBVQEeeMzp7YIeMZtw" isUnique="false"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_bQOoYBVREeeMzp7YIeMZtw" name="mealType" visibility="private" type="_-j608BVQEeeMzp7YIeMZtw" isUnique="false"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_8co2AhVpEeeMzp7YIeMZtw" name="ordervisitor" type="_o3bDkBVhEeeMzp7YIeMZtw" association="_8clysBVpEeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_uKTFsBVREeeMzp7YIeMZtw" name="accept"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QsWr7xVPEeeMzp7YIeMZtw" name="MealFactory">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QsWr8RVPEeeMzp7YIeMZtw" name="createMeal">
+      <ownedParameter xmi:type="uml:Parameter" xmi:id="_QsWr8hVPEeeMzp7YIeMZtw" name="dishName">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+      </ownedParameter>
+    </ownedOperation>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_jbedcBVPEeeMzp7YIeMZtw" client="_oX-IkBPOEeeugOD0sSUlEg" supplier="_9zOfMBVNEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_D3KFoBVQEeeMzp7YIeMZtw" name="ArrayList"/>
+  <packagedElement xmi:type="uml:Enumeration" xmi:id="_-j608BVQEeeMzp7YIeMZtw" name="ItemType">
+    <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_CVrPUBVREeeMzp7YIeMZtw" name="Standard"/>
+    <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_FD5JEBVREeeMzp7YIeMZtw" name="Vegetarian"/>
+    <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_GTVXsBVREeeMzp7YIeMZtw" name="GlutenFree"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Interface" xmi:id="_31XnYBVSEeeMzp7YIeMZtw" name="Visitor"/>
+  <packagedElement xmi:type="uml:Interface" xmi:id="_6gYcIBVSEeeMzp7YIeMZtw" name="Visitable">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_ESR0ABVTEeeMzp7YIeMZtw" name="accept">
+      <ownedParameter xmi:type="uml:Parameter" xmi:id="_Qc4vsBVTEeeMzp7YIeMZtw" name="visitor" type="_31XnYBVSEeeMzp7YIeMZtw"/>
+    </ownedOperation>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_YEh2gBVTEeeMzp7YIeMZtw" client="_QsWr7BVPEeeMzp7YIeMZtw" supplier="_6gYcIBVSEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_a_MQ0BVTEeeMzp7YIeMZtw" client="_0EEHsBVMEeeMzp7YIeMZtw" supplier="_6gYcIBVSEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_qOaNABVTEeeMzp7YIeMZtw" name="Order">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_hwhkQBVfEeeMzp7YIeMZtw" name="listMeal" visibility="private" type="_D3KFoBVQEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_xVpCgBVgEeeMzp7YIeMZtw" name="listDishes" visibility="private" type="_D3KFoBVQEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_tsxKQBVTEeeMzp7YIeMZtw" client="_qOaNABVTEeeMzp7YIeMZtw" supplier="_QsWr7BVPEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_aeJQ4BVhEeeMzp7YIeMZtw" client="_QsWr7xVPEeeMzp7YIeMZtw" supplier="_QsWr7BVPEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_o3bDkBVhEeeMzp7YIeMZtw" name="OrderVisitor">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_xDYYYBVhEeeMzp7YIeMZtw" name="visit">
+      <ownedParameter xmi:type="uml:Parameter" xmi:id="_4635EBVhEeeMzp7YIeMZtw" name="meal" type="_QsWr7BVPEeeMzp7YIeMZtw"/>
+    </ownedOperation>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_5_YDABVhEeeMzp7YIeMZtw" name="visit">
+      <ownedParameter xmi:type="uml:Parameter" xmi:id="_-mbGoBVhEeeMzp7YIeMZtw" name="dishe" type="_0EEHsBVMEeeMzp7YIeMZtw"/>
+    </ownedOperation>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_8clysBVpEeeMzp7YIeMZtw" memberEnd="_8co2AhVpEeeMzp7YIeMZtw _8co2AxVpEeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8co2ABVpEeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8co2ARVpEeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_8co2AxVpEeeMzp7YIeMZtw" name="meal" type="_QsWr7BVPEeeMzp7YIeMZtw" association="_8clysBVpEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_IMUJMBVqEeeMzp7YIeMZtw" memberEnd="_IMVXUhVqEeeMzp7YIeMZtw _IMVXUxVqEeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IMVXUBVqEeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IMVXURVqEeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_IMVXUxVqEeeMzp7YIeMZtw" name="dishe" type="_0EEHsBVMEeeMzp7YIeMZtw" association="_IMUJMBVqEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Interface" xmi:id="_T-934BVqEeeMzp7YIeMZtw" name="StrategyDeliveryPolicy">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_aBVC8BVqEeeMzp7YIeMZtw" name="chooseCourier"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_wWBiIBVsEeeMzp7YIeMZtw" name="FastestDelivery">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_zWDkoBVsEeeMzp7YIeMZtw" name="chooseCourier"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_15nGgBVsEeeMzp7YIeMZtw" name="FairOccupationDelivery">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_6gpjEBVsEeeMzp7YIeMZtw" name="chooseCourier"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_CBHq4BVtEeeMzp7YIeMZtw" client="_15nGgBVsEeeMzp7YIeMZtw" supplier="_T-934BVqEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_Pc_aIBVtEeeMzp7YIeMZtw" client="_wWBiIBVsEeeMzp7YIeMZtw" supplier="_oX-IkBPOEeeugOD0sSUlEg"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_TQsVQBVtEeeMzp7YIeMZtw" name="ContextDeliveryPolicy">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_Fl5jwBVuEeeMzp7YIeMZtw" name="strategyDeliveryPolicy" visibility="private" type="_T-934BVqEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_RMiPshVuEeeMzp7YIeMZtw" name="strategydeliverypolicy" type="_T-934BVqEeeMzp7YIeMZtw" association="_RMhooBVuEeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_BXlJMBVuEeeMzp7YIeMZtw" name="execute"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_RMhooBVuEeeMzp7YIeMZtw" memberEnd="_RMiPshVuEeeMzp7YIeMZtw _RMiPsxVuEeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RMiPsBVuEeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RMiPsRVuEeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_RMiPsxVuEeeMzp7YIeMZtw" name="contextdeliverypolicy" type="_TQsVQBVtEeeMzp7YIeMZtw" association="_RMhooBVuEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_trPsABVuEeeMzp7YIeMZtw" client="_trQTFRVuEeeMzp7YIeMZtw" supplier="_trQTFxVuEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_trQTEBVuEeeMzp7YIeMZtw" name="ContextTargetProfit">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_trQTERVuEeeMzp7YIeMZtw" name="strategyTargetProfit" visibility="private" type="_trQTFxVuEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_trQTEhVuEeeMzp7YIeMZtw" name="strategydeliverypolicy" type="_trQTFxVuEeeMzp7YIeMZtw" association="_trQ6IBVuEeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_trQTExVuEeeMzp7YIeMZtw" name="execute"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_trQTFBVuEeeMzp7YIeMZtw" client="_trQ6JBVuEeeMzp7YIeMZtw" supplier="_oX-IkBPOEeeugOD0sSUlEg"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_trQTFRVuEeeMzp7YIeMZtw" name="TargetProfitMarkup">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_trQTFhVuEeeMzp7YIeMZtw" name="chooseTragetProfit"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Interface" xmi:id="_trQTFxVuEeeMzp7YIeMZtw" name="StrategyTargetProfitPolicy">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_trQTGBVuEeeMzp7YIeMZtw" name="chooseTragetProfit"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_trQ6IBVuEeeMzp7YIeMZtw" memberEnd="_trQTEhVuEeeMzp7YIeMZtw _trQ6IxVuEeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_trQ6IRVuEeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_trQ6IhVuEeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_trQ6IxVuEeeMzp7YIeMZtw" name="contextdeliverypolicy" type="_trQTEBVuEeeMzp7YIeMZtw" association="_trQ6IBVuEeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_trQ6JBVuEeeMzp7YIeMZtw" name="TargetProfitServiceFee">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_trQ6JRVuEeeMzp7YIeMZtw" name="chooseTragetProfit"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_7uPssBVuEeeMzp7YIeMZtw" name="TargetProfitDeliveryCost">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_7uPssRVuEeeMzp7YIeMZtw" name="chooseTragetProfit"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_BMxx8BVvEeeMzp7YIeMZtw" client="_oX-IkBPOEeeugOD0sSUlEg" supplier="_trQTFxVuEeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_OgNIIBV1EeeMzp7YIeMZtw" name="MyFoodora">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_SBA8cBV1EeeMzp7YIeMZtw" name="serviceFee" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EFloat"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_Ve1uMBV1EeeMzp7YIeMZtw" name="markupPercentage" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EFloat"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_afrK0BV1EeeMzp7YIeMZtw" name="deliveryCost" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EFloat"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_hKSosBV1EeeMzp7YIeMZtw" name="listRestaurant" visibility="private" type="_D3KFoBVQEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_hkFowBV1EeeMzp7YIeMZtw" name="listCustomer" visibility="private" type="_D3KFoBVQEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_hk8kYBV1EeeMzp7YIeMZtw" name="listCourier" visibility="private" type="_D3KFoBVQEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_uvbosBV1EeeMzp7YIeMZtw" name="listManager" visibility="private" type="_D3KFoBVQEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_1lKKYBV1EeeMzp7YIeMZtw" name="targetProfitPolicy" visibility="private" type="_trQTEBVuEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_AQ-M0BV2EeeMzp7YIeMZtw" name="deliveryPolicy" visibility="private" type="_TQsVQBVtEeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_JFxqUBV2EeeMzp7YIeMZtw" name="specialOffer" visibility="private"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_auaU8BV2EeeMzp7YIeMZtw" name="Operation1"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_QxOZcxV-EeeMzp7YIeMZtw" client="_QxSD0BV-EeeMzp7YIeMZtw" supplier="_QxRcxRV-EeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Association" xmi:id="_QxOZdBV-EeeMzp7YIeMZtw" memberEnd="_QxPnmxV-EeeMzp7YIeMZtw _QxOZdxV-EeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxOZdRV-EeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxOZdhV-EeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_QxOZdxV-EeeMzp7YIeMZtw" name="clientapplication" type="_QxPnmBV-EeeMzp7YIeMZtw" association="_QxOZdBV-EeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_QxOZeBV-EeeMzp7YIeMZtw" memberEnd="_QxPnmhV-EeeMzp7YIeMZtw _QxOZexV-EeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxOZeRV-EeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxOZehV-EeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_QxOZexV-EeeMzp7YIeMZtw" name="clientapplication" type="_QxPnmBV-EeeMzp7YIeMZtw" association="_QxOZeBV-EeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxPAgBV-EeeMzp7YIeMZtw" name="MealOfTheWeek">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAgRV-EeeMzp7YIeMZtw" name="state" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAghV-EeeMzp7YIeMZtw" name="name" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAgxV-EeeMzp7YIeMZtw" name="Meal" visibility="private"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxPAhBV-EeeMzp7YIeMZtw" name="HumanUser" isAbstract="true">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAhRV-EeeMzp7YIeMZtw" name="birthDate">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAhhV-EeeMzp7YIeMZtw" name="surname">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_QxPAhxV-EeeMzp7YIeMZtw" client="_QxQOoxV-EeeMzp7YIeMZtw" supplier="_QxPnkBV-EeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxPAiBV-EeeMzp7YIeMZtw" name="User" visibility="public" isAbstract="true">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAiRV-EeeMzp7YIeMZtw" name="id" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAihV-EeeMzp7YIeMZtw" name="name" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAixV-EeeMzp7YIeMZtw" name="username" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAjBV-EeeMzp7YIeMZtw" name="password" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAjRV-EeeMzp7YIeMZtw" name="adress" visibility="private" type="_QxQOoBV-EeeMzp7YIeMZtw" isUnique="false"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAjhV-EeeMzp7YIeMZtw" name="mail" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAjxV-EeeMzp7YIeMZtw" name="phoneNumber" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPAkBV-EeeMzp7YIeMZtw" name="activated" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+    </ownedAttribute>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxPAkRV-EeeMzp7YIeMZtw" name="register"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Interface" xmi:id="_QxPnkBV-EeeMzp7YIeMZtw" name="Observer">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPnkRV-EeeMzp7YIeMZtw" name="oservableoffer" type="_QxRcxRV-EeeMzp7YIeMZtw" association="_QxRcwRV-EeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxPnkhV-EeeMzp7YIeMZtw" name="update"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_QxPnkxV-EeeMzp7YIeMZtw" client="_QxPAhBV-EeeMzp7YIeMZtw" supplier="_QxPAiBV-EeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_QxPnlBV-EeeMzp7YIeMZtw" client="_QxQ1sBV-EeeMzp7YIeMZtw" supplier="_QxPAiBV-EeeMzp7YIeMZtw"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxPnlRV-EeeMzp7YIeMZtw" name="PointFidelityCard">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QxPnlhV-EeeMzp7YIeMZtw" general="_QxQOtRV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPnlxV-EeeMzp7YIeMZtw" name="numberOfPoints">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxPnmBV-EeeMzp7YIeMZtw" name="MyFoodoraSystem">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPnmRV-EeeMzp7YIeMZtw" name="prodFactory" visibility="private" type="_QxSq4BV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPnmhV-EeeMzp7YIeMZtw" name="userfactory" type="_QxSq4BV-EeeMzp7YIeMZtw" association="_QxOZeBV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxPnmxV-EeeMzp7YIeMZtw" name="user" type="_QxPAiBV-EeeMzp7YIeMZtw" association="_QxOZdBV-EeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQOoBV-EeeMzp7YIeMZtw" name="Adress">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOoRV-EeeMzp7YIeMZtw" name="x" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOohV-EeeMzp7YIeMZtw" name="y" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQOoxV-EeeMzp7YIeMZtw" name="Customer">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QxQOpBV-EeeMzp7YIeMZtw" general="_QxPAhBV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOpRV-EeeMzp7YIeMZtw" name="spamAgree" aggregation="composite">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOphV-EeeMzp7YIeMZtw" name="historique"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOpxV-EeeMzp7YIeMZtw" name="card" type="_QxQOtRV-EeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQOqBV-EeeMzp7YIeMZtw" name="placeOrder"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQOqRV-EeeMzp7YIeMZtw" name="registerFidelityPlan"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQOqhV-EeeMzp7YIeMZtw" name="unregisterFidelityPlan"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQOqxV-EeeMzp7YIeMZtw" name="getHistoryOfOrders"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQOrBV-EeeMzp7YIeMZtw" name="getPointsInTheCard"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQOrRV-EeeMzp7YIeMZtw" name="acceptSpam"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQOrhV-EeeMzp7YIeMZtw" name="refuseSpam"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQOrxV-EeeMzp7YIeMZtw" name="BasicFidelityCard">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QxQOsBV-EeeMzp7YIeMZtw" general="_QxQOtRV-EeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQOsRV-EeeMzp7YIeMZtw" name="Date">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOshV-EeeMzp7YIeMZtw" name="year" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOsxV-EeeMzp7YIeMZtw" name="month" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOtBV-EeeMzp7YIeMZtw" name="day" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQOtRV-EeeMzp7YIeMZtw" name="FidelityCard">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQOthV-EeeMzp7YIeMZtw" name="ID">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQ1sBV-EeeMzp7YIeMZtw" name="MoralUser" isAbstract="true"/>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQ1shV-EeeMzp7YIeMZtw" name="LotteryFidelityCard">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QxQ1sxV-EeeMzp7YIeMZtw" general="_QxQOtRV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQ1tBV-EeeMzp7YIeMZtw" name="percentage" isReadOnly="true">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQ1tRV-EeeMzp7YIeMZtw" name="Position">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQ1thV-EeeMzp7YIeMZtw" name="x" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxQ1txV-EeeMzp7YIeMZtw" name="y" visibility="private">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxQ1uBV-EeeMzp7YIeMZtw" name="Manager">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QxQ1uRV-EeeMzp7YIeMZtw" general="_QxPAhBV-EeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1uhV-EeeMzp7YIeMZtw" name="addUser">
+      <ownedParameter xmi:type="uml:Parameter" xmi:id="_QxQ1uxV-EeeMzp7YIeMZtw" name="user" type="_QxPAiBV-EeeMzp7YIeMZtw"/>
+    </ownedOperation>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1vBV-EeeMzp7YIeMZtw" name="removeUser">
+      <ownedParameter xmi:type="uml:Parameter" xmi:id="_QxQ1vRV-EeeMzp7YIeMZtw" name="user" type="_QxPAiBV-EeeMzp7YIeMZtw"/>
+    </ownedOperation>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1vhV-EeeMzp7YIeMZtw" name="changeServiceFee"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1vxV-EeeMzp7YIeMZtw" name="changeMarkupPercentage"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1wBV-EeeMzp7YIeMZtw" name="changeDeliveryCost"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1wRV-EeeMzp7YIeMZtw" name="getTotalIncome"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1whV-EeeMzp7YIeMZtw" name="getProfit"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1wxV-EeeMzp7YIeMZtw" name="getAverageIncome"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1xBV-EeeMzp7YIeMZtw" name="getAverageProfit"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1xRV-EeeMzp7YIeMZtw" name="getAverageIncomePerCustomer"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1xhV-EeeMzp7YIeMZtw" name="setTargetProfitPolicy"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1xxV-EeeMzp7YIeMZtw" name="getMostsellingRestaurant"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1yBV-EeeMzp7YIeMZtw" name="getLeastSellingRestaurant"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxQ1yRV-EeeMzp7YIeMZtw" name="setDeliveryPolicy"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_QxRcwBV-EeeMzp7YIeMZtw" client="_QxPAgBV-EeeMzp7YIeMZtw">
+    <supplier xmi:type="uml:Model" href="file:/B:/Mes%20Documents/progra/java/software/td/my.foodora/FoodoraUml/model.uml#__GX94BP0EeeyD81rpgqPUg"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_QxRcwRV-EeeMzp7YIeMZtw" memberEnd="_QxPnkRV-EeeMzp7YIeMZtw _QxRcxBV-EeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxRcwhV-EeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxRcwxV-EeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_QxRcxBV-EeeMzp7YIeMZtw" name="observer" type="_QxPnkBV-EeeMzp7YIeMZtw" association="_QxRcwRV-EeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Interface" xmi:id="_QxRcxRV-EeeMzp7YIeMZtw" name="OservableOffer">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxRcxhV-EeeMzp7YIeMZtw" name="attachObserver"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxRcxxV-EeeMzp7YIeMZtw" name="detachObserver"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxRcyBV-EeeMzp7YIeMZtw" name="notify"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxSD0BV-EeeMzp7YIeMZtw" name="BirthdayOffer">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxSD0RV-EeeMzp7YIeMZtw" name="state" visibility="private"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxSD0xV-EeeMzp7YIeMZtw" name="Restaurant">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QxSD1BV-EeeMzp7YIeMZtw" general="_QxQ1sBV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxSD1RV-EeeMzp7YIeMZtw" name="listOfMeal"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD1hV-EeeMzp7YIeMZtw" name="addItem"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD1xV-EeeMzp7YIeMZtw" name="removeItem"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD2BV-EeeMzp7YIeMZtw" name="setGenericDiscountFactor"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD2RV-EeeMzp7YIeMZtw" name="setSpecialDiscountFactor"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD2hV-EeeMzp7YIeMZtw" name="sortOrders"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxSD2xV-EeeMzp7YIeMZtw" name="Courier">
+    <generalization xmi:type="uml:Generalization" xmi:id="_QxSD3BV-EeeMzp7YIeMZtw" general="_QxPAhBV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxSD3RV-EeeMzp7YIeMZtw" name="position" type="_QxQ1tRV-EeeMzp7YIeMZtw"/>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxSD3hV-EeeMzp7YIeMZtw" name="numberOfLivraison">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxSD3xV-EeeMzp7YIeMZtw" name="available">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+    </ownedAttribute>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD4BV-EeeMzp7YIeMZtw" name="register"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD4RV-EeeMzp7YIeMZtw" name="unregister"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD4hV-EeeMzp7YIeMZtw" name="setAvailability"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD4xV-EeeMzp7YIeMZtw" name="changePosition"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD5BV-EeeMzp7YIeMZtw" name="acceptDelivery"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSD5RV-EeeMzp7YIeMZtw" name="refuseDelivery"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_QxSD5hV-EeeMzp7YIeMZtw" memberEnd="_QxSq4RV-EeeMzp7YIeMZtw _QxSD6RV-EeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxSD5xV-EeeMzp7YIeMZtw" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxSD6BV-EeeMzp7YIeMZtw" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_QxSD6RV-EeeMzp7YIeMZtw" name="userfactory" type="_QxSq4BV-EeeMzp7YIeMZtw" association="_QxSD5hV-EeeMzp7YIeMZtw"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QxSq4BV-EeeMzp7YIeMZtw" name="UserFactory">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_QxSq4RV-EeeMzp7YIeMZtw" name="user" type="_QxPAiBV-EeeMzp7YIeMZtw" association="_QxSD5hV-EeeMzp7YIeMZtw"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_QxSq4hV-EeeMzp7YIeMZtw" name="createUser"/>
+  </packagedElement>
+  <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_tczxwBVKEeeMzp7YIeMZtw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tczxwRVKEeeMzp7YIeMZtw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <references xmi:type="ecore:EPackage" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#_Kv8EIKFXEeS_KNX0nfvIVQ"/>
+    </eAnnotations>
+    <appliedProfile xmi:type="uml:Profile" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#ActionLanguage"/>
+  </profileApplication>
+</uml:Model>
diff --git a/src/test/TestCard.java b/src/test/TestCard.java
new file mode 100644
index 0000000..755e731
--- /dev/null
+++ b/src/test/TestCard.java
@@ -0,0 +1,77 @@
+package test;
+
+import static org.junit.Assert.*;
+
+import java.util.ArrayList;
+
+import org.junit.Test;
+
+import Cards.BasicFidelityCard;
+import Cards.LotteryFidelityCard;
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownStartegyType;
+import Exception.ExceptionUnknownTypeOfUser;
+import Others.Adress;
+import User.Customer;
+import User.Manager;
+import User.Restaurant;
+import User.User;
+
+public class TestCard {
+	
+	public static final int UNKNOWN = 0;
+	public static final int COURIER = 1;
+	public static final int RESTAURANT = 2;
+	public static final int CUSTOMER = 3;
+	public static final int MANAGER = 4;
+
+	@Test
+	public void testIDCard() {
+		BasicFidelityCard card1 = new BasicFidelityCard();
+		BasicFidelityCard card2 = new BasicFidelityCard();
+		assertTrue(card1.getId() != card2.getId());
+	}
+	
+	
+	@Test
+	public void testPointInTheCard() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType, ExceptionUnknownTypeOfUser{
+		MyFoodora foodora = new MyFoodora();
+		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
+		manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou", foodora, User.CUSTOMER, "Human");
+		Customer henry = (Customer) foodora.getUserByName("henry", "henry");
+		henry.registerFidelityPlan("Point");
+		manager.addUser(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true,"1", "1", foodora,RESTAURANT,"Moral");
+		manager.addUser(0245, "martin", "martin", "martin.zebre@hotmail.fr", "1234", new Adress(10.0, 18.0), true,"25/12/1945", "martinou", foodora,COURIER,"Human");
+		Restaurant resto1 = (Restaurant) foodora.getUserByName("Lataniere", "La tani�re");
+		resto1.addDish("MainDish", "pat�", "glutenfree", 5.0);
+		ArrayList<String> command = new ArrayList<String>();
+		command.add("pat�");
+		henry.placeOrder(resto1, "Dish", command, foodora);
+		assertTrue(henry.getPointInTheCard() == 1);
+	
+	}
+	
+	@Test
+	public void testPercentageInTheCard() throws ExceptionUnknownStartegyType, ExceptionUnknownTypeOfUser{
+		MyFoodora foodora = new MyFoodora();
+		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
+		manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou", foodora, User.CUSTOMER, "Human");
+		Customer henry = (Customer) foodora.getUserByName("henry", "henry");
+		henry.registerFidelityPlan("Lottery");
+		manager.setProbabilityOnLoteryCard(henry.getCard(), 0.10);
+		assertTrue(((LotteryFidelityCard)henry.getCard()).getPercentage() == 0.10);
+
+	}
+	
+	@Test
+	public void testGetReduction(){
+		LotteryFidelityCard card = new LotteryFidelityCard();
+		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
+		manager.setProbabilityOnLoteryCard(card, 1.0);
+		boolean chance = card.getReduction();
+		assertTrue(chance);
+	}
+
+}
diff --git a/src/test/TestCli.java b/src/test/TestCli.java
new file mode 100644
index 0000000..4b805a9
--- /dev/null
+++ b/src/test/TestCli.java
@@ -0,0 +1,10 @@
+package test;
+
+import static org.junit.Assert.*;
+
+
+public class TestCli {
+
+	
+
+}
diff --git a/src/test/TestCore.java b/src/test/TestCore.java
new file mode 100644
index 0000000..4ef1c6c
--- /dev/null
+++ b/src/test/TestCore.java
@@ -0,0 +1,128 @@
+package test;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import Core.MyFoodora;
+import Exception.ExceptionUnknownStartegyType;
+import Exception.ExceptionUnknownTypeOfUser;
+import Item.Dish;
+import Order.Order;
+import Others.Adress;
+import Others.Date;
+import User.Customer;
+import User.Manager;
+import User.Restaurant;
+
+public class TestCore {
+	
+	public static final int UNKNOWN = 0;
+	public static final int COURIER = 1;
+	public static final int RESTAURANT = 2;
+	public static final int CUSTOMER = 3;
+	public static final int MANAGER = 4;
+
+	@Test
+	public void testGetUserByLogin() throws ExceptionUnknownTypeOfUser, ExceptionUnknownStartegyType {
+		MyFoodora foodora = new MyFoodora();
+		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
+		manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou", foodora, CUSTOMER, "Human");
+		Customer customer = (Customer) foodora.getUserByLogin("henry", "124578");
+		assertTrue(customer.getName() == "henry");
+	}
+	
+	@Test
+	public void testGetUserByName() throws ExceptionUnknownTypeOfUser, ExceptionUnknownStartegyType {
+		MyFoodora foodora = new MyFoodora();
+		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
+		manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou", foodora, CUSTOMER, "Human");
+		Customer customer = (Customer) foodora.getUserByName("henry", "henry");
+		assertTrue(customer.getName() == "henry");
+	}
+	
+	@Test
+	public void testRemoveWithID() throws ExceptionUnknownTypeOfUser, ExceptionUnknownStartegyType{
+		MyFoodora foodora = new MyFoodora();
+		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
+		manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou", foodora, CUSTOMER, "Human");
+		Customer henry = (Customer) foodora.getUserByName("henry", "henry");
+		foodora.removeWithID(CUSTOMER, henry.getId());
+		assertTrue(foodora.getListCustomer().getList().size() ==0);
+
+	}
+	
+	@Test
+	public void testGetLastMonthIncome() throws ExceptionUnknownStartegyType{
+		MyFoodora foodora = new MyFoodora();
+		Restaurant resto = new Restaurant(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true);
+		foodora.setMarkupPercentage(0.05);
+		foodora.setDeliveryCost(5);
+		foodora.setServiceFee(10);
+		int theDay = new java.util.Date().getDay();
+		int theMonth = new java.util.Date().getMonth() + 1 ;
+		int theYear = new java.util.Date().getYear() + 1900;
+		Others.Date today = new Others.Date(theYear, theMonth, theDay);
+		int lastMonth = 0;
+		int yearOfLastMonth = 0;
+		if(theMonth == 1){
+			yearOfLastMonth=today.getIntYear()-1;
+			lastMonth = 12;
+		}
+		else{
+			yearOfLastMonth=today.getIntYear();
+			lastMonth=today.getIntMonth()-1;
+		}
+		Order order1 = new Order();
+		Order order2 = new Order();
+		order1.setRestaurantAttached(resto);
+		order2.setRestaurantAttached(resto);
+		order1.setDate(new Date(yearOfLastMonth, lastMonth, 12));
+		order2.setDate(new Date(yearOfLastMonth, lastMonth, 5));
+		Dish dish1 = new Dish("pat�", "regular", 56);
+		order1.add(dish1);
+		Dish dish2 = new Dish("boulgour","glutenfree",44);
+		order2.add(dish2);
+		foodora.getGlobalHistoric().getListOrder().add(order2);
+		foodora.getGlobalHistoric().getListOrder().add(order1);
+		assertTrue(foodora.getLastMonthIncome()==100);
+	}
+	
+	@Test
+	public void testGetLastMonthNumberOfCommands() throws ExceptionUnknownStartegyType{
+		MyFoodora foodora = new MyFoodora();
+		Restaurant resto = new Restaurant(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true);
+		foodora.setMarkupPercentage(0.05);
+		foodora.setDeliveryCost(5);
+		foodora.setServiceFee(10);
+		int theDay = new java.util.Date().getDay();
+		int theMonth = new java.util.Date().getMonth() + 1 ;
+		int theYear = new java.util.Date().getYear() + 1900;
+		Others.Date today = new Others.Date(theYear, theMonth, theDay);
+		int lastMonth = 0;
+		int yearOfLastMonth = 0;
+		if(theMonth == 1){
+			yearOfLastMonth=today.getIntYear()-1;
+			lastMonth = 12;
+		}
+		else{
+			yearOfLastMonth=today.getIntYear();
+			lastMonth=today.getIntMonth()-1;
+		}
+		Order order1 = new Order();
+		Order order2 = new Order();
+		order1.setRestaurantAttached(resto);
+		order2.setRestaurantAttached(resto);
+		order1.setDate(new Date(yearOfLastMonth, lastMonth, 12));
+		order2.setDate(new Date(yearOfLastMonth, lastMonth, 5));
+		Dish dish1 = new Dish("pat�", "regular", 56);
+		order1.add(dish1);
+		Dish dish2 = new Dish("boulgour","glutenfree",44);
+		order2.add(dish2);
+		foodora.getGlobalHistoric().getListOrder().add(order2);
+		foodora.getGlobalHistoric().getListOrder().add(order1);
+		assertTrue(foodora.getNumberOfOrderLastMonth()==2);
+		
+	}
+
+}
diff --git a/src/test/TestCourier.java b/src/test/TestCourier.java
index c7c0f05..c650e52 100644
--- a/src/test/TestCourier.java
+++ b/src/test/TestCourier.java
@@ -8,7 +8,9 @@ import org.junit.Test;
 
 import Core.MyFoodora;
 import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
 import Exception.ExceptionUnknownStartegyType;
+import Exception.ExceptionUnknownTypeOfUser;
 import Others.Adress;
 import Others.Period;
 import Others.Position;
@@ -78,7 +80,7 @@ public class TestCourier {
 	}
 
 	@Test
-	public void testAcceptDelivery() throws ExceptionUnknownDishType, ExceptionUnknownStartegyType {
+	public void testAcceptDelivery() throws ExceptionUnknownDishType, ExceptionUnknownStartegyType, ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou", foodora, CUSTOMER, "Human");
@@ -95,7 +97,7 @@ public class TestCourier {
 	}
 
 	@Test
-	public void testGetNbOfOrderOfTheDay() throws ExceptionUnknownDishType, ExceptionUnknownStartegyType {
+	public void testGetNbOfOrderOfTheDay() throws ExceptionUnknownDishType, ExceptionUnknownStartegyType, ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou", foodora, CUSTOMER, "Human");
diff --git a/src/test/TestCustomer.java b/src/test/TestCustomer.java
index 40e9f0c..3d9d126 100644
--- a/src/test/TestCustomer.java
+++ b/src/test/TestCustomer.java
@@ -10,7 +10,9 @@ import Cards.BasicFidelityCard;
 import Cards.FidelityCard;
 import Core.MyFoodora;
 import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
 import Exception.ExceptionUnknownStartegyType;
+import Exception.ExceptionUnknownTypeOfUser;
 import Item.Dish;
 import Others.Adress;
 import User.Customer;
@@ -34,7 +36,7 @@ public class TestCustomer {
 	}
 
 	@Test
-	public void testPlaceOrder() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType {
+	public void testPlaceOrder() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType,  ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		manager.addUser(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true,"1", "1", foodora,RESTAURANT,"Moral");
@@ -69,7 +71,7 @@ public class TestCustomer {
 	}
 
 	@Test
-	public void testGetPointInTheCard() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType {
+	public void testGetPointInTheCard() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType, ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		manager.addUser(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true,"1", "1", foodora,RESTAURANT,"Moral");
@@ -101,10 +103,5 @@ public class TestCustomer {
 		assertTrue(henry.isSpamAgree() == false);
 	}
 
-	@Test
-	public void testUpdate() {
-		fail("Not yet implemented");
-	}
-
 
 }
diff --git a/src/test/TestDeliveryStrategy.java b/src/test/TestDeliveryStrategy.java
new file mode 100644
index 0000000..2d5e715
--- /dev/null
+++ b/src/test/TestDeliveryStrategy.java
@@ -0,0 +1,68 @@
+package test;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import Core.MyFoodora;
+
+import DeliveryStrategy.ContextDeliveryStrategy;
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownStartegyType;
+import Exception.ExceptionUnknownTypeOfUser;
+import Others.Adress;
+import Others.Position;
+import User.Courier;
+import User.Customer;
+import User.Manager;
+import User.Restaurant;
+
+public class TestDeliveryStrategy {
+
+	
+	public static final int UNKNOWN = 0;
+	public static final int COURIER = 1;
+	public static final int RESTAURANT = 2;
+	public static final int CUSTOMER = 3;
+	public static final int MANAGER = 4;
+	
+	@Test
+	public void testFastestDelivery() throws ExceptionUnknownStartegyType, ExceptionUnknownTypeOfUser {
+		MyFoodora foodora = new MyFoodora();
+		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
+		manager.addUser(0245, "martin", "martin", "martin.zebre@hotmail.fr", "1234", new Adress(1.0	, 2.0), true,"25/12/1945", "martinou", foodora,COURIER,"Human");
+		manager.addUser(0246, "martin2", "martin2", "martin2.zebre@hotmail.fr", "12345", new Adress(10.0, 18.0), true,"25/12/1945", "martinou2", foodora,COURIER,"Human");
+		manager.addUser(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(3.0, -2.0), true,"1", "1", foodora,RESTAURANT,"Moral");
+		manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(1.0, 1.0), true, "25/12/1994", "henrynou", foodora, CUSTOMER, "Human");
+		Customer henry = (Customer) foodora.getUserByName("henry", "henry");
+		Restaurant resto1 = (Restaurant) foodora.getUserByName("Lataniere", "La tani�re");
+		ContextDeliveryStrategy newStrategy = new ContextDeliveryStrategy("FastestDelivery");
+		manager.setDeliveryPolicy(foodora, newStrategy);
+		Courier martin = (Courier) foodora.getUserByName("martin", "martin");
+		Courier martin2 = (Courier) foodora.getUserByName("martin2", "martin2");
+		martin.setPosition(new Position(1.0, 2.0));
+		martin2.setPosition(new Position(18.0, 20.0));
+		Courier courierToChoose = foodora.getContextDeliveryPolicy().getStrategy().chooseCourier(resto1, henry, foodora.getListCourier().getList());
+		assertTrue(courierToChoose.getName() == "martin");
+		
+		
+	}
+	
+	@Test
+	public void testFairOccupation() throws ExceptionUnknownStartegyType, ExceptionUnknownTypeOfUser{
+		MyFoodora foodora = new MyFoodora();
+		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
+		manager.addUser(0245, "martin", "martin", "martin.zebre@hotmail.fr", "1234", new Adress(1.0	, 2.0), true,"25/12/1945", "martinou", foodora,COURIER,"Human");
+		manager.addUser(0246, "martin2", "martin2", "martin2.zebre@hotmail.fr", "12345", new Adress(10.0, 18.0), true,"25/12/1945", "martinou2", foodora,COURIER,"Human");
+		manager.addUser(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(3.0, -2.0), true,"1", "1", foodora,RESTAURANT,"Moral");
+		manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(1.0, 1.0), true, "25/12/1994", "henrynou", foodora, CUSTOMER, "Human");
+		Customer henry = (Customer) foodora.getUserByName("henry", "henry");
+		Restaurant resto1 = (Restaurant) foodora.getUserByName("Lataniere", "La tani�re");
+		ContextDeliveryStrategy newStrategy = new ContextDeliveryStrategy("FairOccupation");
+		Courier martin = (Courier) foodora.getUserByName("martin", "martin");
+		martin.setNbOfLivraison(20);
+		Courier courierToChoose = foodora.getContextDeliveryPolicy().getStrategy().chooseCourier(resto1, henry, foodora.getListCourier().getList());
+		assertTrue(courierToChoose.getName() == "martin2");
+	}
+
+}
diff --git a/src/test/TestException.java b/src/test/TestException.java
new file mode 100644
index 0000000..8faa6f4
--- /dev/null
+++ b/src/test/TestException.java
@@ -0,0 +1,106 @@
+package test;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import Core.MyFoodora;
+import DeliveryStrategy.ContextDeliveryStrategy;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownStartegyType;
+import Exception.ExceptionUnknownTypeOfUser;
+import Item.Dish;
+import Item.FactoryDish;
+import Item.FactoryMeal;
+import Item.Meal;
+import Others.Adress;
+import StrategyProfit.ContextTargetProfitStrategy;
+import User.Manager;
+
+public class TestException {
+	
+	public static final int UNKNOWN = 0;
+	public static final int COURIER = 1;
+	public static final int RESTAURANT = 2;
+	public static final int CUSTOMER = 3;
+	public static final int MANAGER = 4; 
+	@Test
+	public void testExceptionUnknownDishType() {
+		try{
+			FactoryDish factory1 = new FactoryDish();
+			Dish dish = factory1.createDish("Error", "pat�", "glutenfree", 4.5);
+		}
+		catch (ExceptionUnknownDishType e) {
+			assertTrue(true);
+		}
+	
+	}
+	
+	@Test
+	public void testExceptionUnknownMealType(){
+		try {
+			FactoryMeal factory = new FactoryMeal();
+			Meal meal = factory.createMeal("meal1", "eror");
+			
+		} catch (ExceptionUnknownMealType e) {
+			assertTrue(true);
+		}
+	}
+	
+	@Test
+	public void testExceptionUnknownStartegyDelivery(){
+		try{
+			MyFoodora foodora = new MyFoodora();
+			ContextDeliveryStrategy newStrategy = new ContextDeliveryStrategy("eror");
+			foodora.setContextDeliveryPolicy(newStrategy);
+		}
+		catch (ExceptionUnknownStartegyType e) {
+			assertTrue(true);
+		}
+	}
+	
+	@Test
+	public void testExceptionUnknownStartegyProfit(){
+		try{
+			MyFoodora foodora = new MyFoodora();
+			ContextTargetProfitStrategy newStrategy = new ContextTargetProfitStrategy("eror");
+			foodora.setContextTargetProfitStrategy(newStrategy);
+		}
+		catch (ExceptionUnknownStartegyType e) {
+			assertTrue(true);
+		}
+	}
+	
+	@Test 
+	public void testExceptionUnknownTypeOfUser() throws ExceptionUnknownStartegyType, ExceptionUnknownTypeOfUser{
+		MyFoodora foodora = new MyFoodora();
+		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
+		try { manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou", foodora, CUSTOMER, "error");
+		}
+		catch (ExceptionUnknownTypeOfUser e) {
+			assertTrue(true);
+		}
+		
+		try { manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou", foodora, 25, "Human");
+		}
+		catch (ExceptionUnknownTypeOfUser e) {
+			assertTrue(true);
+		}
+		
+		try { manager.addUser(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true,"1", "1", foodora,RESTAURANT,"eror");
+
+		}
+		catch (ExceptionUnknownTypeOfUser e) {
+			assertTrue(true);
+		}
+		try { manager.addUser(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true,"1", "1", foodora,75,"Moral");
+
+		}
+		catch (ExceptionUnknownTypeOfUser e) {
+			assertTrue(true);
+		}
+	}
+		
+
+}
diff --git a/src/test/TestItem.java b/src/test/TestItem.java
new file mode 100644
index 0000000..abe35bb
--- /dev/null
+++ b/src/test/TestItem.java
@@ -0,0 +1,90 @@
+package test;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+import javax.print.DocFlavor.INPUT_STREAM;
+
+import org.junit.Test;
+
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Item.Dessert;
+import Item.Dish;
+import Item.FactoryDish;
+import Item.FactoryMeal;
+import Item.Meal;
+
+public class TestItem {
+
+	@Test
+	public void testCreateDish() throws ExceptionUnknownDishType {
+		FactoryDish factory = new FactoryDish();
+		Dish dish = factory.createDish("Dessert", "pat�", "glutenfree", 4.5);
+		assertTrue(dish instanceof Dessert);
+		assertTrue(dish.getPrice() == 4.5);
+	}
+	
+	@Test
+	public void testCreateHalfMeal() throws ExceptionUnknownMealType, ExceptionUnknownDishType{
+		FactoryMeal factory = new FactoryMeal();
+		Meal meal = factory.createMeal("meal1", "HalfMeal");
+		FactoryDish factory1 = new FactoryDish();
+		Dish dish = factory1.createDish("Dessert", "pat�", "glutenfree", 4.5);
+		Dish dish2 = factory1.createDish("MainDish", "boulgour", "glutenfree", 5.5);
+		meal.addDish(dish2);
+		meal.addDish(dish);
+		assertTrue(meal.getPrice() == 10.0);
+	}
+
+	@Test
+	public void testCreateFullMeal() throws ExceptionUnknownDishType, ExceptionUnknownMealType{
+		FactoryMeal factory = new FactoryMeal();
+		Meal meal = factory.createMeal("meal1", "FullMeal");
+		FactoryDish factory1 = new FactoryDish();
+		Dish dish = factory1.createDish("Dessert", "pat�", "glutenfree", 4.5);
+		Dish dish2 = factory1.createDish("MainDish", "boulgour", "glutenfree", 5.5);
+		Dish dish3 = factory1.createDish("Starter", "soupe", "glutenfree", 5);
+		meal.addDish(dish3);
+		meal.addDish(dish2);
+		meal.addDish(dish);
+		assertTrue(meal.getPrice() == 15.0);
+	}
+	
+	
+	@Test
+	public void testAddDish() throws ExceptionUnknownDishType, ExceptionUnknownMealType, IOException{
+		FactoryMeal factory = new FactoryMeal();
+		Meal meal = factory.createMeal("meal1", "FullMeal");
+		FactoryDish factory1 = new FactoryDish();
+		Dish dish = factory1.createDish("Dessert", "pat�", "glutenfree", 4.5);
+		Dish dish2 = factory1.createDish("MainDish", "boulgour", "glutenfree", 5.5);
+		Dish dish3 = factory1.createDish("Dessert", "soupe", "glutenfree", 5);
+		meal.addDish(dish);
+	    meal.addDish(dish2);
+		System.out.println("please type n");
+		meal.addDish(dish3);
+		assertTrue(meal.getPrice() == 10.0);
+		
+	}
+	
+	
+	@Test
+	public void testRemoveDish() throws ExceptionUnknownMealType, ExceptionUnknownDishType{
+		FactoryMeal factory = new FactoryMeal();
+		Meal meal = factory.createMeal("meal1", "FullMeal");
+		FactoryDish factory1 = new FactoryDish();
+		Dish dish = factory1.createDish("Dessert", "pat�", "glutenfree", 4.5);
+		Dish dish2 = factory1.createDish("MainDish", "boulgour", "glutenfree", 5.5);
+		Dish dish3 = factory1.createDish("Starter", "soupe", "glutenfree", 5);
+		meal.addDish(dish);
+	    meal.addDish(dish2);
+		meal.addDish(dish3);
+		meal.removeDish("soupe");;
+		assertTrue(meal.getPrice() == 10.0);
+	}
+	
+	
+}
diff --git a/src/test/TestManager.java b/src/test/TestManager.java
index 3c48fd4..d8b2b6b 100644
--- a/src/test/TestManager.java
+++ b/src/test/TestManager.java
@@ -10,7 +10,9 @@ import Core.MyFoodora;
 import DeliveryStrategy.ContextDeliveryStrategy;
 import DeliveryStrategy.StrategyDeliveryPolicy;
 import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
 import Exception.ExceptionUnknownStartegyType;
+import Exception.ExceptionUnknownTypeOfUser;
 import Item.Dish;
 import Others.Adress;
 import Others.Period;
@@ -33,7 +35,7 @@ public class TestManager {
 	public static final int MANAGER = 4;
 
 	@Test
-	public void testAddUser() throws ExceptionUnknownStartegyType {
+	public void testAddUser() throws ExceptionUnknownStartegyType, ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou", foodora, CUSTOMER, "Human");
@@ -58,7 +60,7 @@ public class TestManager {
 	}
 
 	@Test
-	public void testRemoveUser() throws ExceptionUnknownStartegyType {
+	public void testRemoveUser() throws ExceptionUnknownStartegyType, ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou", foodora, CUSTOMER, "Human");
@@ -87,7 +89,7 @@ public class TestManager {
 		}
 
 	@Test
-	public void testGetTotalIncome() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType {
+	public void testGetTotalIncome() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType, ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		Others.Date begin = new Others.Date(2017, 04, 30);
@@ -107,7 +109,7 @@ public class TestManager {
 	}
 
 	@Test
-	public void testGetTotalProfit() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType {
+	public void testGetTotalProfit() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType,ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		foodora.setMarkupPercentage(0.05);
 		foodora.setDeliveryCost(10);
@@ -130,7 +132,7 @@ public class TestManager {
 	}
 
 	@Test
-	public void testGetAverageIncomePerCustomer() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType {
+	public void testGetAverageIncomePerCustomer() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType, ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		Others.Date begin = new Others.Date(2017, 04, 30);
@@ -169,7 +171,7 @@ public class TestManager {
 	}
 
 	@Test
-	public void testGetMostSellingRestaurant() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType {
+	public void testGetMostSellingRestaurant() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType, ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		manager.addUser(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true,"1", "1", foodora,RESTAURANT,"Moral");
@@ -187,7 +189,7 @@ public class TestManager {
 	}
 
 	@Test
-	public void testGetLeastSellingRestaurant() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType {
+	public void testGetLeastSellingRestaurant() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType, ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		manager.addUser(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true,"1", "1", foodora,RESTAURANT,"Moral");
@@ -205,7 +207,7 @@ public class TestManager {
 	}
 
 	@Test
-	public void testGetLeastActiveCourier() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType {
+	public void testGetLeastActiveCourier() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType, ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		manager.addUser(0245, "martin", "martin", "martin.zebre@hotmail.fr", "1234", new Adress(10.0, 18.0), true,"25/12/1945", "martinou", foodora,COURIER,"Human");
@@ -218,14 +220,12 @@ public class TestManager {
 		ArrayList<String> command = new ArrayList<String>();
 		command.add("pat�");
 		henry.placeOrder(resto1, "Dish", command, foodora);
-		Courier martin = (Courier) foodora.getUserByName("martin", "martin");
-		Courier martin2 = (Courier) foodora.getUserByName("martin2", "martin2");
 		String leastActiveCourier = manager.getLeastActiveCourier(foodora);
-		assertTrue(leastActiveCourier == "martin"); // pb
+		assertTrue(leastActiveCourier == "martin");
 	}
 
 	@Test
-	public void testGetMostActiveCourier() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType {
+	public void testGetMostActiveCourier() throws ExceptionUnknownStartegyType, ExceptionUnknownDishType, ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		manager.addUser(0245, "martin", "martin", "martin.zebre@hotmail.fr", "1234", new Adress(10.0, 18.0), true,"25/12/1945", "martinou", foodora,COURIER,"Human");
@@ -243,7 +243,7 @@ public class TestManager {
 	}
 
 	@Test
-	public void testActivateUser() throws ExceptionUnknownStartegyType {
+	public void testActivateUser() throws ExceptionUnknownStartegyType, ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou", foodora, CUSTOMER, "Human");
@@ -254,7 +254,7 @@ public class TestManager {
 	}
 
 	@Test
-	public void testDesactivateUser() throws ExceptionUnknownStartegyType {
+	public void testDesactivateUser() throws ExceptionUnknownStartegyType, ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou", foodora, CUSTOMER, "Human");
diff --git a/src/test/TestOffers.java b/src/test/TestOffers.java
new file mode 100644
index 0000000..14118f4
--- /dev/null
+++ b/src/test/TestOffers.java
@@ -0,0 +1,80 @@
+package test;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import Core.MyFoodora;
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Exception.ExceptionUnknownStartegyType;
+import Exception.ExceptionUnknownTypeOfUser;
+import Item.Dish;
+import Item.FactoryDish;
+import Item.FactoryMeal;
+import Item.Meal;
+import Offers.MealOfTheWeek;
+import Order.Order;
+import Others.Adress;
+import Others.Period;
+import User.Customer;
+import User.Manager;
+import User.Restaurant;
+
+public class TestOffers {
+	
+	public static final int UNKNOWN = 0;
+	public static final int COURIER = 1;
+	public static final int RESTAURANT = 2;
+	public static final int CUSTOMER = 3;
+	public static final int MANAGER = 4;
+
+
+	@Test
+	public void testNotifyObservers() throws ExceptionUnknownMealType, ExceptionUnknownDishType {
+		Customer customer = new Customer(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou");
+		Restaurant r = new Restaurant(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true);
+		Order order = new Order();
+		FactoryMeal factory = new FactoryMeal();
+		Meal meal = factory.createMeal("meal1", "FullMeal");
+		FactoryDish factory1 = new FactoryDish();
+		Dish dish = factory1.createDish("Dessert", "pat�", "glutenfree", 4.5);
+		Dish dish2 = factory1.createDish("MainDish", "boulgour", "glutenfree", 5.5);
+		Dish dish3 = factory1.createDish("Starter", "soupe", "glutenfree", 5);
+		meal.addDish(dish3);
+		meal.addDish(dish2);
+		meal.addDish(dish);
+		MealOfTheWeek mealOfTheWeek = new MealOfTheWeek(meal);
+		mealOfTheWeek.attachObserver(customer);
+		mealOfTheWeek.setInterests(r);
+		assertTrue(customer.getNbOfOfferReceived() == 1);
+	}
+	
+	@Test
+	public void testInFoodora() throws ExceptionUnknownDishType, ExceptionUnknownStartegyType, ExceptionUnknownMealType, ExceptionUnknownTypeOfUser{
+		MyFoodora foodora = new MyFoodora();
+		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
+		manager.addUser(0145, "henry", "henry", "henry.dupont@hotmail.fr", "124578", new Adress(11.0, 15.2), true, "25/12/1994", "henrynou", foodora, CUSTOMER, "Human");
+		manager.addUser(0146, "henry2", "henry2", "henry2.dupont@hotmail.fr", "1245789", new Adress(11.0, 15.3), true, "25/12/1995", "henrynou2", foodora, CUSTOMER, "Human");
+		manager.addUser(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true,"1", "1", foodora,RESTAURANT,"Moral");
+		Customer henry = (Customer) foodora.getUserByName("henry", "henry");
+		Customer henry2 = (Customer) foodora.getUserByName("henry2", "henry2");
+		henry2.refuseSpam();
+		Restaurant resto = (Restaurant) foodora.getUserByName("Lataniere", "La tani�re");
+		resto.addDish("MainDish", "pat�", "glutenfree", 4.5);
+		resto.addDish("Starter","boulgour","vegetarian", 5);
+		resto.addDish("Dessert", "fondant", "regular", 7);
+		Dish pat� = resto.getDishByName("pat�");
+		Dish boulgour = resto.getDishByName("boulgour");
+		Dish fondant = resto.getDishByName("fondant");
+		resto.createMeal("meal1", "FullMeal");
+		Meal meal1 = resto.getMealByName("meal1");
+		resto.addDishToMeal(fondant, meal1);
+		resto.addDishToMeal(boulgour, meal1);
+		resto.addDishToMeal(pat�, meal1);
+		resto.addMealOfTheWeek(foodora, "meal1");
+		assertTrue(henry.getNbOfOfferReceived() ==1);
+		assertTrue(henry2.getNbOfOfferReceived() == 0);
+	}
+
+}
diff --git a/src/test/TestOrder.java b/src/test/TestOrder.java
new file mode 100644
index 0000000..460cc15
--- /dev/null
+++ b/src/test/TestOrder.java
@@ -0,0 +1,70 @@
+package test;
+
+import static org.junit.Assert.*;
+
+import java.util.ArrayList;
+
+import org.junit.Test;
+
+import Exception.ExceptionUnknownDishType;
+import Exception.ExceptionUnknownMealType;
+import Item.Dish;
+import Item.FactoryDish;
+import Item.FactoryMeal;
+import Item.Meal;
+import Order.HistoricOrder;
+import Order.Order;
+import Others.Adress;
+import Others.Date;
+import Others.Period;
+import User.Restaurant;
+
+public class TestOrder {
+
+	@Test
+	public void testFinalize() {
+		Order order = new Order();
+		order.finalize();
+		int theDay = new java.util.Date().getDay();
+		assertTrue(order.getDate().getIntDay() == theDay);
+		assertTrue(order.isFinalised());
+	}
+	
+	@Test
+	public void testGetListOfOrderInAPeriod(){
+		Order order = new Order();
+		Order order2 = new Order();
+		order.setDate(new Date(2017, 04, 25));
+		order2.setDate(new Date(2017, 05, 25));
+		Date end = new Date(2017, 05, 05);
+		Date begin = new Date(2017, 04, 01);
+		Period period = new Period(begin, end);
+		HistoricOrder listOfOrder = new HistoricOrder();
+		listOfOrder.addOrder(order2);
+		listOfOrder.addOrder(order);
+		ArrayList<Order> listOfOrderInThePeriod = order.getListOfOrderInAPeriod(listOfOrder, period);
+		assertTrue(listOfOrderInThePeriod.size() == 1);
+	}
+	
+	@Test
+	public void testGetPrice() throws ExceptionUnknownMealType, ExceptionUnknownDishType{
+		Order order = new Order();
+		Restaurant resto = new Restaurant(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true);
+		order.setRestaurantAttached(resto);
+		FactoryMeal factory = new FactoryMeal();
+		Meal meal = factory.createMeal("meal1", "FullMeal");
+		FactoryDish factory1 = new FactoryDish();
+		Dish dish = factory1.createDish("Dessert", "pat�", "glutenfree", 4.5);
+		Dish dish2 = factory1.createDish("MainDish", "boulgour", "glutenfree", 5.5);
+		Dish dish3 = factory1.createDish("Starter", "soupe", "glutenfree", 5);
+		meal.addDish(dish3);
+		meal.addDish(dish2);
+		meal.addDish(dish);
+		order.add(meal);
+		order.add(dish3);
+		assertTrue(order.getPrice() == 19.25);
+		
+		
+	}
+
+}
diff --git a/src/test/TestOthers.java b/src/test/TestOthers.java
new file mode 100644
index 0000000..4049ec9
--- /dev/null
+++ b/src/test/TestOthers.java
@@ -0,0 +1,27 @@
+package test;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import Cards.BasicFidelityCard;
+import Cards.PointFidelityCard;
+import Others.Adress;
+
+public class TestOthers {
+
+	@Test
+	public void testIDCard() {
+		BasicFidelityCard card1 = new BasicFidelityCard();
+		PointFidelityCard card2 = new PointFidelityCard();
+		assertTrue(card1.getId() != card2.getId());
+	}
+	
+	@Test
+	public void testAdressFromString(){
+		Adress adress = Adress.fromStr("0.1,0.4");
+		assertTrue(adress.getX()==0.1);
+		assertTrue(adress.getY()==0.4);
+	}
+
+}
diff --git a/src/test/TestRestaurant.java b/src/test/TestRestaurant.java
index 03de4a1..711c613 100644
--- a/src/test/TestRestaurant.java
+++ b/src/test/TestRestaurant.java
@@ -10,6 +10,7 @@ import Core.MyFoodora;
 import Exception.ExceptionUnknownDishType;
 import Exception.ExceptionUnknownMealType;
 import Exception.ExceptionUnknownStartegyType;
+import Exception.ExceptionUnknownTypeOfUser;
 import Item.Dish;
 import Item.HalfMeal;
 import Item.Meal;
@@ -111,15 +112,14 @@ public class TestRestaurant {
 		Dish pat� = resto.getDishByName("pat�");
 		Dish boulgour = resto.getDishByName("boulgour");
 		Dish fondant = resto.getDishByName("fondant");
-		resto.createMeal("meal1", "FullMeal");
+		resto.createMeal("meal1", "HalfMeal");
 		Meal meal1 = resto.getMealByName("meal1");
 		resto.addDishToMeal(fondant, meal1);
-		resto.addDishToMeal(boulgour, meal1);
 		resto.addDishToMeal(pat�, meal1);
-		resto.createMeal("meal1", "HalfMeal");
-		Meal meal2 = resto.getMealByName("meal1");
-		resto.addDishToMeal(fondant, meal2);
+		resto.createMeal("meal2", "HalfMeal");
+		Meal meal2 = resto.getMealByName("meal2");
 		resto.addDishToMeal(boulgour, meal2);
+		resto.addDishToMeal(pat�, meal2);
 		for(Meal m : resto.getListOfMeal()){
 			if(m.getName() == "meal1"){
 				m.setNbOfSell(20);
@@ -131,7 +131,7 @@ public class TestRestaurant {
 	}
 
 	@Test
-	public void testGetSortListOfDish() throws ExceptionUnknownDishType, ExceptionUnknownStartegyType {
+	public void testGetSortListOfDish() throws ExceptionUnknownDishType, ExceptionUnknownStartegyType, ExceptionUnknownTypeOfUser {
 		MyFoodora foodora = new MyFoodora();
 		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
 		manager.addUser(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true,"1", "1", foodora,RESTAURANT,"Moral");
@@ -149,5 +149,27 @@ public class TestRestaurant {
 		assertTrue(mostSelled.getName() == "pat�");
 		
 	}
+	
+	@Test
+	public void testSetMealOfTheWeek() throws ExceptionUnknownStartegyType, ExceptionUnknownMealType, ExceptionUnknownDishType, ExceptionUnknownTypeOfUser{
+		MyFoodora foodora = new MyFoodora();
+		Manager manager = new Manager(0674, "jacques", 	"jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo");
+		manager.addUser(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true,"1", "1", foodora,RESTAURANT,"Moral");
+		Restaurant resto1 = (Restaurant) foodora.getUserByName("Lataniere", "La tani�re");
+		Restaurant resto = (Restaurant) foodora.getUserByName("Lataniere", "La tani�re");
+		resto.addDish("MainDish", "pat�", "glutenfree", 4.5);
+		resto.addDish("Starter","boulgour","vegetarian", 5);
+		resto.addDish("Dessert", "fondant", "regular", 7);
+		Dish pat� = resto.getDishByName("pat�");
+		Dish boulgour = resto.getDishByName("boulgour");
+		Dish fondant = resto.getDishByName("fondant");
+		resto.createMeal("meal1", "FullMeal");
+		Meal meal1 = resto.getMealByName("meal1");
+		resto.addDishToMeal(fondant, meal1);
+		resto.addDishToMeal(boulgour, meal1);
+		resto.addDishToMeal(pat�, meal1);
+		resto.addMealOfTheWeek(foodora, "meal1");
+		assertTrue(resto.getMealOfTheWeek().getMeal().getName() == "meal1");
+	}
 
 }
diff --git a/src/test/TestTargetProfitStrategy.java b/src/test/TestTargetProfitStrategy.java
new file mode 100644
index 0000000..5c4152f
--- /dev/null
+++ b/src/test/TestTargetProfitStrategy.java
@@ -0,0 +1,146 @@
+package test;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import Core.MyFoodora;
+import DeliveryStrategy.ContextDeliveryStrategy;
+import Exception.ExceptionUnknownStartegyType;
+import Item.Dish;
+import Order.Order;
+import Others.Adress;
+import Others.Date;
+import StrategyProfit.ContextTargetProfitStrategy;
+import StrategyProfit.TargetProfitDeliveryCost;
+import User.Restaurant;
+
+public class TestTargetProfitStrategy {
+	
+	public static final int UNKNOWN = 0;
+	public static final int COURIER = 1;
+	public static final int RESTAURANT = 2;
+	public static final int CUSTOMER = 3;
+	public static final int MANAGER = 4;
+
+	@Test
+	public void testDeliveryCost() throws ExceptionUnknownStartegyType {
+		MyFoodora foodora = new MyFoodora();
+		Restaurant resto = new Restaurant(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true);
+		foodora.setMarkupPercentage(0.05);
+		foodora.setDeliveryCost(5);
+		foodora.setServiceFee(10);
+		int theDay = new java.util.Date().getDay();
+		int theMonth = new java.util.Date().getMonth() + 1 ;
+		int theYear = new java.util.Date().getYear() + 1900;
+		Others.Date today = new Others.Date(theYear, theMonth, theDay);
+		int lastMonth = 0;
+		int yearOfLastMonth = 0;
+		if(theMonth == 1){
+			yearOfLastMonth=today.getIntYear()-1;
+			lastMonth = 12;
+		}
+		else{
+			yearOfLastMonth=today.getIntYear();
+			lastMonth=today.getIntMonth()-1;
+		}
+		Order order1 = new Order();
+		Order order2 = new Order();
+		order1.setRestaurantAttached(resto);
+		order2.setRestaurantAttached(resto);
+		order1.setDate(new Date(yearOfLastMonth, lastMonth, 12));
+		order2.setDate(new Date(yearOfLastMonth, lastMonth, 5));
+		Dish dish1 = new Dish("pat�", "regular", 56);
+		order1.add(dish1);
+		Dish dish2 = new Dish("boulgour","glutenfree",44);
+		order2.add(dish2);
+		foodora.getGlobalHistoric().getListOrder().add(order2);
+		foodora.getGlobalHistoric().getListOrder().add(order1);
+		double targetProfit = 20.0;
+		ContextTargetProfitStrategy newProfitPolicy = new ContextTargetProfitStrategy("DeliveryCost");
+		foodora.setContextTargetProfitStrategy(newProfitPolicy);
+		foodora.getContextTargetProfitStrategy().execute(foodora, targetProfit);
+		assertTrue(foodora.getDeliveryCost() == 2.5);
+	}
+	
+	@Test
+	public void testMarkupPercentage() throws ExceptionUnknownStartegyType {
+		MyFoodora foodora = new MyFoodora();
+		Restaurant resto = new Restaurant(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true);
+		foodora.setMarkupPercentage(0.05);
+		foodora.setDeliveryCost(5);
+		foodora.setServiceFee(10);
+		int theDay = new java.util.Date().getDay();
+		int theMonth = new java.util.Date().getMonth() + 1 ;
+		int theYear = new java.util.Date().getYear() + 1900;
+		Others.Date today = new Others.Date(theYear, theMonth, theDay);
+		int lastMonth = 0;
+		int yearOfLastMonth = 0;
+		if(theMonth == 1){
+			yearOfLastMonth=today.getIntYear()-1;
+			lastMonth = 12;
+		}
+		else{
+			yearOfLastMonth=today.getIntYear();
+			lastMonth=today.getIntMonth()-1;
+		}
+		Order order1 = new Order();
+		Order order2 = new Order();
+		order1.setRestaurantAttached(resto);
+		order2.setRestaurantAttached(resto);
+		order1.setDate(new Date(yearOfLastMonth, lastMonth, 12));
+		order2.setDate(new Date(yearOfLastMonth, lastMonth, 5));
+		Dish dish1 = new Dish("pat�", "regular", 56);
+		order1.add(dish1);
+		Dish dish2 = new Dish("boulgour","glutenfree",44);
+		order2.add(dish2);
+		foodora.getGlobalHistoric().getListOrder().add(order2);
+		foodora.getGlobalHistoric().getListOrder().add(order1);
+		double targetProfit = 20.0;
+		ContextTargetProfitStrategy newProfitPolicy = new ContextTargetProfitStrategy("Markup");
+		foodora.setContextTargetProfitStrategy(newProfitPolicy);
+		foodora.getContextTargetProfitStrategy().execute(foodora, targetProfit);
+		assertTrue(foodora.getMarkupPercentage() == 0.1);
+	}
+	
+	@Test
+	public void testServiceFee() throws ExceptionUnknownStartegyType {
+		MyFoodora foodora = new MyFoodora();
+		Restaurant resto = new Restaurant(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true);
+		foodora.setMarkupPercentage(0.05);
+		foodora.setDeliveryCost(5);
+		foodora.setServiceFee(10);
+		int theDay = new java.util.Date().getDay();
+		int theMonth = new java.util.Date().getMonth() + 1 ;
+		int theYear = new java.util.Date().getYear() + 1900;
+		Others.Date today = new Others.Date(theYear, theMonth, theDay);
+		int lastMonth = 0;
+		int yearOfLastMonth = 0;
+		if(theMonth == 1){
+			yearOfLastMonth=today.getIntYear()-1;
+			lastMonth = 12;
+		}
+		else{
+			yearOfLastMonth=today.getIntYear();
+			lastMonth=today.getIntMonth()-1;
+		}
+		Order order1 = new Order();
+		Order order2 = new Order();
+		order1.setRestaurantAttached(resto);
+		order2.setRestaurantAttached(resto);
+		order1.setDate(new Date(yearOfLastMonth, lastMonth, 12));
+		order2.setDate(new Date(yearOfLastMonth, lastMonth, 5));
+		Dish dish1 = new Dish("pat�", "regular", 56);
+		order1.add(dish1);
+		Dish dish2 = new Dish("boulgour","glutenfree",44);
+		order2.add(dish2);
+		foodora.getGlobalHistoric().getListOrder().add(order2);
+		foodora.getGlobalHistoric().getListOrder().add(order1);
+		double targetProfit = 20.0;
+		ContextTargetProfitStrategy newProfitPolicy = new ContextTargetProfitStrategy("ServiceFee");
+		foodora.setContextTargetProfitStrategy(newProfitPolicy);
+		foodora.getContextTargetProfitStrategy().execute(foodora, targetProfit);
+		assertTrue(foodora.getServiceFee() == 12.5);
+	}
+
+}
diff --git a/src/test/TestUserFactory.java b/src/test/TestUserFactory.java
new file mode 100644
index 0000000..264c4a9
--- /dev/null
+++ b/src/test/TestUserFactory.java
@@ -0,0 +1,42 @@
+package test;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+
+import Exception.ExceptionUnknownTypeOfUser;
+import Others.Adress;
+import User.HumanUser;
+import User.Manager;
+import User.MoralUser;
+import UserFactoryPattern.FactoryUserFactory;
+import UserFactoryPattern.UserFactory;
+
+public class TestUserFactory {
+	
+	public static final int UNKNOWN = 0;
+	public static final int COURIER = 1;
+	public static final int RESTAURANT = 2;
+	public static final int CUSTOMER = 3;
+	public static final int MANAGER = 4;
+
+	@Test
+	public void testCreateHumanUser() throws ExceptionUnknownTypeOfUser {
+		UserFactory factory = FactoryUserFactory.createUserFactory("Human") ;
+		HumanUser manager = factory.createHumanUser(0674, "jacques", "jacquo", "jacques.martin@hotmail.fr", "123456789", new Adress(15.0, 10.0), true, "25/15/1955", "jacquo", MANAGER );
+		assertTrue(manager.getTypeOfUser() == MANAGER);
+		assertTrue(manager.getName()=="jacques");
+	}
+	
+	
+	@Test
+	public void testCreateMoralUser() throws ExceptionUnknownTypeOfUser {
+		UserFactory factory = FactoryUserFactory.createUserFactory("Moral") ;
+		MoralUser manager = factory.createMoralUser(0245, "La tani�re", "Lataniere", "contact@lataniere.fr", "1234", new Adress(10.0, 15.0), true,RESTAURANT);
+		assertTrue(manager.getTypeOfUser() == RESTAURANT);
+		assertTrue(manager.getName()=="La tani�re");
+	}
+	
+
+}
-- 
GitLab